You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Peter De Maeyer (Jira)" <ji...@apache.org> on 2019/12/30 19:19:00 UTC
[jira] [Updated] (MSHADE-343) Shaded artifact has no version when
finalName is set
[ https://issues.apache.org/jira/browse/MSHADE-343?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Peter De Maeyer updated MSHADE-343:
-----------------------------------
Description:
{{ShadeMojo.shadedArtifactFile}} omits the version in the shaded artifact file name when {{finalName}} is set.
That looks like a bug: I think the version should be part of the file name in any case.
I just found this by eyeballing the code, I haven't tried reproducing it with an actual scenario yet.
It only affects situations where {{finalName}} is explicitly set, and it only affects non-main artifacts (test jar, sources and test sources). The main jar artifact doesn't go through this method AFAICT, so is not affected.
{code:java}
if ( project.getBuild().getFinalName() != null )
{
// Shouldn't artifact.getVersion() be part of the shadedName here too?
shadedName = project.getBuild().getFinalName() + "-" + classifier + "."
+ artifact.getArtifactHandler().getExtension();
}
else
{
shadedName = shadedArtifactId + "-" + artifact.getVersion() + "-" + classifier + "."
+ artifact.getArtifactHandler().getExtension();
}
{code}
was:
{{ShadeMojo.shadedArtifactFile}} omits the version in the shaded artifact file name when {{finalName}} is set.
That looks like a bug: I think the version should be part of the file name in any case.
I just found this by eyeballing the code, I haven't tried reproducing it with an actual scenario yet.
It only affects situations where {{finalName}} is explicitly set, and it only affects non-main artifacts (test jar, sources and test sources). The main jar artifact doesn't go through this method AFAICT, so is not affected.
{code:java}
if ( project.getBuild().getFinalName() != null )
{
// Shouldn't there be an artifact.getVersion() in the shadedName here too?
shadedName = project.getBuild().getFinalName() + "-" + classifier + "."
+ artifact.getArtifactHandler().getExtension();
}
else
{
shadedName = shadedArtifactId + "-" + artifact.getVersion() + "-" + classifier + "."
+ artifact.getArtifactHandler().getExtension();
}
{code}
> Shaded artifact has no version when finalName is set
> ----------------------------------------------------
>
> Key: MSHADE-343
> URL: https://issues.apache.org/jira/browse/MSHADE-343
> Project: Maven Shade Plugin
> Issue Type: Bug
> Affects Versions: 3.2.2
> Reporter: Peter De Maeyer
> Priority: Minor
>
> {{ShadeMojo.shadedArtifactFile}} omits the version in the shaded artifact file name when {{finalName}} is set.
> That looks like a bug: I think the version should be part of the file name in any case.
> I just found this by eyeballing the code, I haven't tried reproducing it with an actual scenario yet.
> It only affects situations where {{finalName}} is explicitly set, and it only affects non-main artifacts (test jar, sources and test sources). The main jar artifact doesn't go through this method AFAICT, so is not affected.
> {code:java}
> if ( project.getBuild().getFinalName() != null )
> {
> // Shouldn't artifact.getVersion() be part of the shadedName here too?
> shadedName = project.getBuild().getFinalName() + "-" + classifier + "."
> + artifact.getArtifactHandler().getExtension();
> }
> else
> {
> shadedName = shadedArtifactId + "-" + artifact.getVersion() + "-" + classifier + "."
> + artifact.getArtifactHandler().getExtension();
> }
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)