...
Provides notation would be related to specification dependencies, but on the opposite side of the artifact relationship. For instance, Sun's JavaMail implementation would specify that it provides an implementation of the JavaMail API, as would the javamail library built by Geronimo. It would act as a reverse mapping of which API(s) are provided by a given artifact. This provides specification might need to be plural, to allow a single artifact to implement multiple APIs, thereby satisfying multiple specification dependencies from a single build.
...
Artifact
...
API Improvements
- Providing access to POM given an Artifact instance
Other Goals to Integrate into this Document
- Rollback/Control over snapshot resolution of dependencies, plugins, etc.
If a user's build is broken by the most recent snapshot, rolling back would be a great option, if available.
- Binary artifact promotion/certification to transition to/from QA, RC, etc. status
It would be good to have a process to support releasing something into QA with the possibility of having that artifact promoted to other testing stages in binary form, or certified from RC to real release. Conversely, if a problem is found, to reverse the release progression back to SNAPSHOT status.