You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Elliotte Rusty Harold (Jira)" <ji...@apache.org> on 2019/12/19 13:41:00 UTC
[jira] [Updated] (MDEP-294) copy-dependencies goal doesn't properly
respect classifier when creating base version of snapshots
[ https://issues.apache.org/jira/browse/MDEP-294?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Elliotte Rusty Harold updated MDEP-294:
---------------------------------------
Priority: Minor (was: Major)
> copy-dependencies goal doesn't properly respect classifier when creating base version of snapshots
> --------------------------------------------------------------------------------------------------
>
> Key: MDEP-294
> URL: https://issues.apache.org/jira/browse/MDEP-294
> Project: Maven Dependency Plugin
> Issue Type: Bug
> Components: copy-dependencies
> Affects Versions: 2.1
> Reporter: Tim Downey
> Priority: Minor
> Attachments: CopyDependenciesMojo.java, CopyDependenciesMojo.java.diff, TestCopyDependenciesMojo.java, TestCopyDependenciesMojo2.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 was sent by Atlassian Jira
(v8.3.4#803005)