Uploaded image for project: 'Maven'
  1. Maven
  2. MNG-6922

Introduce a notion of a "project release" as the origin of an artifact




      The valuable information that I find missing from what is resolvable using the API and/or exposed through the CLI and not taken into account by the version convergence algorithm is the notion of a "project release" that represents the origin of an artifact in a repository.

      Simply speaking, for any specific artifact version in a repository, I want to be able to find out which other artifacts were a part of the same release. That is if it was a multi module project producing multiple artifacts. Currently, this information is not readily available and not easy to restore. There are clues in the parent POMs, SCM, MANIFEST.MF, other project-specific files. But those are not generally reliable today (given that I want to be able to get that info for any artifact, not only the projects that I release myself).

      The reason I consider this information being important is that a release is supposed to pass certain quality requirements (tests in various environments, all sorts of compatibility checks, etc). Being able to find a complete set of artifacts that satisfy all those requirements is essential for any provisioning system. There are BOMs, of course. But not every project includes a BOM and in general there is no link between an artifact and a BOM representing the project release.

      My other point was that I think the Maven version convergence algorithm should not be ignoring this artifact "release origin", given that there is an objective to make the best effort to settle on a set of artifacts that are compatible.




            • Assignee:
              aloubyansky Alexey Loubyansky
            • Votes:
              0 Vote for this issue
              1 Start watching this issue


              • Created: