[forge-dev] MavenPluginFacet enhancement: smart plugin resolution

Charles SALMON salmon.charles at gmail.com
Fri Apr 12 08:47:04 EDT 2013

Hello all,

I recently contributed to the forge project (FORGE-842) by adding the
pluginManagement support to the mavenPluginFacet.

One question is still opened, which is the purpose of this post.
Basically, it is about a smart plugin resolution, ie having the plugin
properties (artifactId, groupId, version,...) automatically resolved when a
plugin is defined in a "pluginManagement" section and used in a "plugins"
Let's take the following example:


Currently, a call to the


will return a null value, because the version is not declared in the
"//build/plugins/plugin" section.
Maven will, however, resolve the plugin by using the version and
configuration of the maven-compiler-plugin declared in the
"//build/pluginManagement/plugins" section.
Moreover, we should also note that the pluginManagement section will be,
most of the time, declared in the parent pom, which makes the smart
resolution as follow:
1. Compute the effective pom
2. Resolve the plugin properties

My question is: based on the fact that similar implementation was done with
Dependency and DependencyManagement sections (in the MavenDependencyFacet
and DependencyInstaller), which methods should be implemented ?

Following the same logic, we could also thing of a smart "addPlugin"
method: what if I add a plugin that is already managed, with the same
version of the managed plugin ? With some configuration element(s) being
the same as the managed plugin ? ...

Based on your answers, I will create a FORGE issue and will try to
implement the missing methods.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/forge-dev/attachments/20130412/4398cd94/attachment.html 

More information about the forge-dev mailing list