You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by "John Didion (JIRA)" <ji...@codehaus.org> on 2006/02/01 01:55:06 UTC
[jira] Commented: (MNG-2028) Attached mojos with the @aggregator
tag can yield bad results in a multi-module project
[ http://jira.codehaus.org/browse/MNG-2028?page=comments#action_57489 ]
John Didion commented on MNG-2028:
----------------------------------
Arg...my formatting got wiped out. The above overview of my project should look like this:
{noformat}
myproject
tools
libraries
library1
library2
library3
{noformat}
> Attached mojos with the @aggregator tag can yield bad results in a multi-module project
> ---------------------------------------------------------------------------------------
>
> Key: MNG-2028
> URL: http://jira.codehaus.org/browse/MNG-2028
> Project: Maven 2
> Type: Bug
> Components: Plugins and Lifecycle
> Versions: 2.0.2
> Reporter: John Didion
>
>
> I am using an attached version of the directory assembly plugin. I also have a multi-module project that is several levels deep. Here's an overview
> myproject
> tools
> libraries
> library1
> library2
> library3
> If I configure the attached directory assembly plugin in library1's POM and then run maven install from the myproject directory, I get errors about dependency resolution because the presence of the @aggregator tag causes maven to try and resolve dependencies for all modules in the entire project. That means it's trying to resolve dependencies for library3, which is a problem if library3 depends on library2, which hasn't been built yet.
> It makes sense to me that dependency resolution should only happen on the sub-modules of the POM that configures the aggregator plugin, not all modules in the project.
> If this makes sense then I think the fix would be in DefaultPluginManager.executeMojo():
> if ( mojoDescriptor.isDependencyResolutionRequired() != null )
> {
> Collection projects;
> if ( mojoDescriptor.isAggregator() && project.getModules() != null && !project.getModules().isEmpty())
> {
> List modules = project.getModules();
> projects = new ArrayList(modules.size());
> for (Iterator itr = modules.iterator(); itr.hasNext();) {
> String module = (String) itr.next();
> MavenProject moduleProject = // load the project for the module...don't know exactly how to do this
> projects.add(moduleProject);
> }
> }
> ...
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org