copy-dependencies goal doesn't properly respect classifier when creating base 
version of snapshots
--------------------------------------------------------------------------------------------------

                 Key: MDEP-294
                 URL: http://jira.codehaus.org/browse/MDEP-294
             Project: Maven 2.x Dependency Plugin
          Issue Type: Bug
          Components: copy-dependencies
    Affects Versions: 2.1
            Reporter: Tim Downey
            Assignee: Brian Fox
         Attachments: CopyDependenciesMojo.java, CopyDependenciesMojo.java.diff

CopyDependenciesMojo ignores any classifier on the artifact being copied when 
creating the base version of a snapshot.  It works correctly for the non-base 
(timestamped) version.  This leads to a mismatch in the copied dependencies 
where the timestamped version correctly keeps the classifier, but the base 
-SNAPSHOT version has the classifier completely dropped.

The fix is simple, although a bit ugly.  In the installBaseSnapshot method, a 
check must be made for the presence of a classifier on the artifact being 
copied before using the ArtifactFactory to create a copy of the base version.  
Ideally, the ArtifactFactory would expose a single method that takes all 
parameters, but unfortunately it does not.  This requires a separate 'if' check 
for the presence of a classifier.

Another potential issue is that the method 
ArtifactFactory#createArtifactWithClassifier has no parameter for scope.  I 
don't think that causes any issue in this case, but is another reason why there 
should be a single method createArtifact that takes all combinations of 
parameters including classifier.

I've attached a patch that will fix the issue, but not a test case since it 
looks like the maven-plugin-testing-tools-harness would need to be updated as 
well.  It doesn't appear to expose any artifacts that both have a classifier 
and are snapshots from the ArtifactStubFactory.  If deemed important, I can 
produce a patch for that as well along with a test.

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