Tuure Laurinolli created MASSEMBLY-645:
------------------------------------------

             Summary: File name of dependency depends on how it is reachable
                 Key: MASSEMBLY-645
                 URL: https://jira.codehaus.org/browse/MASSEMBLY-645
             Project: Maven 2.x Assembly Plugin
          Issue Type: Bug
          Components: dependencySet
    Affects Versions: 2.4
            Reporter: Tuure Laurinolli
            Priority: Critical


Please see demonstration at https://github.com/tazle/maven-issue-demo

After mvn package, the resulting maven-issue-demo-1.0.0-SNAPSHOT-bin.zip 
contains the following libraries:

maven-issue-demo-1.0.0-SNAPSHOT/lib/httpcore-4.3-alpha2-SNAPSHOT.jar
maven-issue-demo-1.0.0-SNAPSHOT/lib/httpclient-4.3-alpha2-20130227.160252-28.jar

For some reason httpcore has a -SNAPSHOT version whereas httpclient has a 
unique version. This is clearly not desirable, since e.g. the classpath 
generator in JAR plugin generates either -SNAPSHOT names or unique names but 
not both.

Some analysis:
Originally versions of both libraries are unique. During resolution, some are 
changed to -SNAPSHOT versions instead. This appears to affect packages that are 
both direct and transitive dependencies.

Some debug output from a modified assembly plugin, with additional debug output:


[DEBUG] Artifacts before resolution:
[DEBUG] artifact: org.apache.httpcomponents:httpcore:jar:4.3-alpha2-SNAPSHOT, 
version: 4.3-alpha2-20130220.230238-15, base version: 4.3-alpha2-SNAPSHOT, 
resolved: true, scope: compile
[DEBUG] artifact: org.apache.httpcomponents:httpclient:jar:4.3-alpha2-SNAPSHOT, 
version: 4.3-alpha2-20130227.160252-28, base version: 4.3-alpha2-SNAPSHOT, 
resolved: true, scope: compile
[DEBUG] Resolving project dependencies transitively.
[DEBUG] maven-issue-demo:maven-issue-demo:jar:1.0.0-SNAPSHOT (selected for null)
[DEBUG]   org.apache.httpcomponents:httpcore:jar:4.3-alpha2-SNAPSHOT:compile 
(selected for compile)
[DEBUG]   org.apache.httpcomponents:httpclient:jar:4.3-alpha2-SNAPSHOT:compile 
(selected for compile)
[DEBUG]     org.apache.httpcomponents:httpcore:jar:4.3-alpha1:compile (removed 
- nearer found: 4.3-alpha2-SNAPSHOT)
[DEBUG]     commons-logging:commons-logging:jar:1.1.1:compile (selected for 
compile)
[DEBUG]     commons-codec:commons-codec:jar:1.6:compile (selected for compile)
[DEBUG] While resolving dependencies of 
maven-issue-demo:maven-issue-demo:jar:1.0.0-SNAPSHOT:
[DEBUG] Statistics for Scope filter [null-scope=true, compile=true, 
runtime=true, test=false, provided=false, system=false]

[DEBUG] The following scope filters were not used: 
o Runtime
o Test
o Provided
o System
[DEBUG] resolved artifact: 
org.apache.httpcomponents:httpcore:jar:4.3-alpha2-SNAPSHOT, version: 
4.3-alpha2-SNAPSHOT, baseVersion: 4.3-alpha2-SNAPSHOT
[DEBUG] resolved artifact: 
org.apache.httpcomponents:httpclient:jar:4.3-alpha2-SNAPSHOT, version: 
4.3-alpha2-20130227.160252-28, baseVersion: 4.3-alpha2-SNAPSHOT
[DEBUG] resolved artifact: commons-logging:commons-logging:jar:1.1.1, version: 
1.1.1, baseVersion: 1.1.1
[DEBUG] resolved artifact: commons-codec:commons-codec:jar:1.6, version: 1.6, 
baseVersion: 1.6


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