You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Etienne Lacazedieu (JIRA)" <ji...@codehaus.org> on 2011/10/10 17:12:09 UTC

[jira] Commented: (MNG-4056) Relax resolution of active project artifacts from the reactor with regard to artifact type

    [ https://jira.codehaus.org/browse/MNG-4056?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=280977#comment-280977 ] 

Etienne Lacazedieu commented on MNG-4056:
-----------------------------------------

I have the same behavior with Maven 2.2.1 :

My project yyy depends on xxx.jar (compile scope) and xxx-sources.jar (provided scope)

The tests needs the sources dependencies (GWT unit tests)

- When I build it using the common parent of xxx and yyy, it fails : sources are not present in the test classpath. xxx is resolved as an active project artifact

- When I build only yyy, it works : xxx and its sources are resolved from the local maven repository.

Works with Maven 3.0.x




> Relax resolution of active project artifacts from the reactor with regard to artifact type
> ------------------------------------------------------------------------------------------
>
>                 Key: MNG-4056
>                 URL: https://jira.codehaus.org/browse/MNG-4056
>             Project: Maven 2 & 3
>          Issue Type: Wish
>          Components: Dependencies
>    Affects Versions: 2.0.10, 2.1.0-M1
>            Reporter: Benjamin Bentmann
>            Assignee: Benjamin Bentmann
>             Fix For: 2.1.0, 3.0-alpha-3
>
>         Attachments: MNG-4056.patch
>
>
> Right now, active project artifacts from the reactor are resolved by their exact artifact id. The distinction between artifact type and classifier gives rise to confusion for users here. For instance, the test JAR attached by {{jar:test-jar}} has the id {{gid:aid:test-jar:version}}. Hence, resolution from the reactor cache works only if users specify the dependency on the test JAR with {{<type>test-jar</type>}}, omitting {{<type>}} and just giving {{<classifier>tests</classifier>}} will not resolve the dependendy from the reactor. However, the latter approach with the classifier works once the test JAR is installed to the local repo. EJB client JARs are another example of this issue.
> Maybe we can extend the reactor resolution to do another id matching try which constructs the id of the active artifact by assuming type = artifactHandler.extension and classifier = artifactHandler.classifier before matching with the dependency id. This should more closely resemble artifact identity as visible in the repository, where we have no artifact type but only classifier and extension.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira