Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
We have a default rule which will be used as a fallback, where the
prefix "idea" is turned into "maven-idea-plugin". This will be retained
if no other information is found.
Before applying the default rule, some more metadata from the repository
will be consulted. This will be stored at the group level, and named
"plugins.xml".
/org/apache/maven/plugins/plugins.xml
/org.apache.maven.plugins/plugins.xml
While this could potentially include version information as well, it is
worth being able to check these on a plugin-by-plugin basis, and it also
fits with the potential RELEASE specifier on dependencies. This could be
reconsidered in future versions.
Format of the file for now is simple:
<prefixes>
<groupId>org.apache.maven.plugins</groupId>
<plugins>
<plugin>
<prefix>idea</prefix>
<artifactId>maven-idea-plugin</artifactId>
</plugin>
...
</plugins>
</prefixes>
This particular file will also be updated at release time for a plugin
(though it should rarely be necessary as only new additions need to be
published back).
The list of group IDs to search will be configured from settings.xml,
with the default being just org.apache.maven.plugins. The process will
be to load the plugins.xml file from each of the configured groups, then
build the map of prefixes to plugin group/artifactIDs. If there is a
clash, initially it should fail. We might allow using the first
discovered or some other resolution mechanism, but would hope not to get
that situation as a goal representation might start taking on different
meanings in different contexts.