[ 
https://jira.codehaus.org/browse/MNG-5565?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Cintia DR updated MNG-5565:
---------------------------

    Summary: Aggregator style plugin with requiresDependencyResolution 
retrieving artefacts from remote instead of reactor   (was: Aggregator style 
plugin with requiresDependencyResolution retrieving reactor artefacts from 
remote instead)
    
> Aggregator style plugin with requiresDependencyResolution retrieving 
> artefacts from remote instead of reactor 
> --------------------------------------------------------------------------------------------------------------
>
>                 Key: MNG-5565
>                 URL: https://jira.codehaus.org/browse/MNG-5565
>             Project: Maven 2 & 3
>          Issue Type: Bug
>    Affects Versions: 3.0.5
>            Reporter: Cintia DR
>         Attachments: aggregator.zip
>
>
> If you have a aggregator-style plugin with requiresDependencyResolution, 
> maven will try to download artefacts from remote (if they are not in your 
> local repository or if you have a 'always' policy for that remote 
> repository). Attaching the plugin to different phases or CLI didn't change 
> the behaviour.
> If the artefact actually exists in your remote repository, maven will 
> download it. Even worse if you include this aggregator-stype plugin as part 
> of the lifecycle of module, because then the dependencies downloaded will be 
> used instead of the one built in the reactor for the rest of the build. It's 
> pretty scary to build artefacts half reactor/half remote maven as a side 
> effect of calling a plugin that just wants to print the dependencies.   
> If the artefact doesn't exist in your maven local repo or remote, maven will 
> continue and the following warning:
> {noformat}
> The following dependencies could not be resolved at this point of the build 
> but seem to be part of the reactor
> {noformat}
> That lead me to MNG-2277, and I would happily accept the warning if maven 
> wasn't actually downloading and using the downloaded dependency instead of 
> the ones built in the reactor. 
> If the artefact exists in your local repo, looks like that one is being used 
> (I'm not sure here). 
>  
> The workaround I've found (only in maven 3) is to use 
> requiresDependencyCollection (instead of requiresDependencyResolution), then 
> I have to identify which ones are in the reactor, and just resolve the other 
> ones. It doesn't feel right, I kinda trust maven to identify what is the 
> reactor and what is not (even for aggregator-style plugins), and never 
> override the reactor.  
> Full log:
> {noformat}
> [INFO] Scanning for projects...
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] Reactor Build Order:
> [INFO] 
> [INFO] my-nice-project
> [INFO] child1
> [INFO] child2
> [INFO]                                                                        
>  
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] Building my-nice-project 1.0-SNAPSHOT
> [INFO] 
> ------------------------------------------------------------------------
> Downloading: 
> https://mynexus.com/content/groups/internal/com/mycompany/project/child1/1.0-SNAPSHOT/maven-metadata.xml
> Downloading: 
> https://mynexus.com/content/groups/internal/com/mycompany/project/child1/1.0-SNAPSHOT/maven-metadata.xml
> Downloading: 
> https://mynexus.com/content/groups/internal/com/mycompany/project/child1/1.0-SNAPSHOT/child1-1.0-SNAPSHOT.jar
> Downloading: 
> https://mynexus.com/content/groups/internal/com/mycompany/project/child1/1.0-SNAPSHOT/child1-1.0-SNAPSHOT.jar
> [WARNING] The following dependencies could not be resolved at this point of 
> the build but seem to be part of the reactor:
> [WARNING] o com.mycompany.project:child1:jar:1.0-SNAPSHOT (compile)
> [WARNING] Try running the build up to the lifecycle phase "package"
> [INFO] 
> [INFO] --- myaggregator-maven-plugin:1.0-SNAPSHOT:list-deps (default-cli) @ 
> my-nice-project ---
> [INFO]  >>>>>> Project: my-nice-project
> [INFO]  ---------------
> [INFO]  >>>>>> Project: child1
> [INFO]        - junit:junit:jar:4.11
> [INFO]        - org.hamcrest:hamcrest-core:jar:1.3
> [INFO]  ---------------
> [INFO]  >>>>>> Project: child2
> [INFO]        - com.mycompany.project:child1:jar:1.0-SNAPSHOT
> [INFO]        - junit:junit:jar:4.11
> [INFO]        - org.hamcrest:hamcrest-core:jar:1.3
> [INFO]        - org.apache.logging.log4j:log4j-api:jar:2.0-beta9
> [INFO]  ---------------
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] Reactor Summary:
> [INFO] 
> [INFO] my-nice-project ................................... SUCCESS [4.280s]
> [INFO] child1 ............................................ SKIPPED
> [INFO] child2 ............................................ SKIPPED
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] BUILD SUCCESS
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] Total time: 4.495s
> [INFO] Finished at: Fri Jan 17 17:10:10 EST 2014
> [INFO] Final Memory: 6M/143M
> [INFO] 
> ------------------------------------------------------------------------
> {noformat}
> I've attached the simplest example I could think of. 
>  - Open zip file
>  - cd my-aggregator-plugin; mvn install
>  - rm -rf ~/.m2/repository/com/mycompany/project/
>  - cd my-nice-project; mvn 
> com.mycompany.mavenplugin:myaggregator-maven-plugin:1.0-SNAPSHOT:list-deps

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to