Valentin Kovalenko created MASSEMBLY-701:
--------------------------------------------

             Summary: class AddDependencySetsTask doesn't re-read contents of 
unpacked SNAPSHOT artifacts
                 Key: MASSEMBLY-701
                 URL: https://jira.codehaus.org/browse/MASSEMBLY-701
             Project: Maven Assembly Plugin
          Issue Type: Bug
          Components: dependencySet
    Affects Versions: 2.4
         Environment: Apache Maven 3.2.1, Oracle Java SE Runtime Environment 
(build 1.8.0-b132)
            Reporter: Valentin Kovalenko
         Attachments: test-Maven.zip

Simple project [^test-Maven.zip] to reproduce the problem is attached.

Test case scenario:
1) Upack 'test-Maven.zip' into 'test-Maven' directory.
2) Run 'mvn package' from the 'test-Maven' directory.
3) Check that content of the file 
'test-Maven\p2\target\p2-0.0.0-SNAPSHOT-myClassifier.zip\content.txt' is "some 
content".
4) Check that content of the file 
'test-Maven\target\p1-0.0.0-SNAPSHOT-myClassifier.zip\myClassifier\content.txt' 
is "some content" (p2 assembly packs content of 
'p2-0.0.0-SNAPSHOT-myClassifier.zip' into 'p1-0.0.0-SNAPSHOT-myClassifier.zip').
5) Modify content of the file 'test-Maven\p2\src\myClassifier\content.txt' 
(e.g. write "a new content").
6) Same as 2). Run 'mvn package' from the 'test-Maven' directory.
7) Check that content of the file 
'test-Maven\p2\target\p2-0.0.0-SNAPSHOT-myClassifier.zip\content.txt' has 
changed to "a new content".
8) Check that content of the file 
test-Maven\target\p1-0.0.0-SNAPSHOT-myClassifier.zip\myClassifier\content.txt' 
is still "some content" and not "a new content" (! bug).

Assembly plugin unpacks content of 'p2-0.0.0-SNAPSHOT-myClassifier.zip' into 
the directory 
'test-Maven\target\assembly\work\test_p2_0.0.0-SNAPSHOT_myClassifier.zip' and 
never unpacks 'p2-0.0.0-SNAPSHOT-myClassifier.zip' again if working directory 
exists. That is assembly plugin ignores the fact that 
'p2-0.0.0-SNAPSHOT-myClassifier.zip' is a SNAPSHOT (the version of p2 is 
0.0.0-SNAPSHOT).

It seems like the corresponding code is in the line 238 ('if ( dir.exists() )') 
in the class 
[http://svn.apache.org/viewvc/maven/plugins/tags/maven-assembly-plugin-2.4/src/main/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTask.java?view=markup#l238|org.apache.maven.plugin.assembly.archive.task.AddDependencySetsTask].



--
This message was sent by Atlassian JIRA
(v6.1.6#6162)

Reply via email to