[ http://jira.codehaus.org/browse/MNG-2028?page=all ]

John Casey updated MNG-2028:
----------------------------

    Fix Version: 2.1

> 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
>      Fix For: 2.1

>
>
> 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

Reply via email to