[ 
https://issues.apache.org/jira/browse/MSHADE-195?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14646683#comment-14646683
 ] 

Karl Heinz Marbaise edited comment on MSHADE-195 at 7/29/15 8:10 PM:
---------------------------------------------------------------------

First thanks for diving into this problem...and trying to reproduce the problem 
by offering an example project...
After diving into this problem i found that maven-source-plugin will add the 
source artifact to the reactor whereas the maven-shade-plugin will add the 
source-artifact as well. The best solution i can see is to fail the build 
during the maven-shade-plugin call while trying to add and source aritfact as 
well which is the same as maven-source-plugin already did, cause it is the 
latest plugin in the the chain during the life cycle. 



was (Author: khmarbaise):
After diving into this problem i found that maven-source-plugin will add the 
source artifact to the reactor whereas the maven-shade-plugin will add the 
source-artifact as well. The best solution i can see is to fail the build 
during the maven-shade-plugin call while trying to add and source aritfact as 
well which is the same as maven-source-plugin already did, cause it is the 
latest plugin in the the chain during the life cycle. 


> createSourcesJar with source:jar-no-fork causes sources.jar to be deployed 
> twice, causing the build to fail
> -----------------------------------------------------------------------------------------------------------
>
>                 Key: MSHADE-195
>                 URL: https://issues.apache.org/jira/browse/MSHADE-195
>             Project: Maven Shade Plugin
>          Issue Type: Bug
>    Affects Versions: 2.3, 2.4
>            Reporter: Esko Luontola
>             Fix For: waiting-for-feedback, 2.4.2
>
>         Attachments: MSHADE-195-example.zip
>
>
> The workaround described in https://issues.apache.org/jira/browse/MSHADE-120 
> (i.e. running maven-source-plugin's jar-no-fork goal before shading) causes 
> the problem that Maven will install and deploy the same sources.jar file 
> twice:
> {noformat}
> [INFO] --- maven-install-plugin:2.5.2:install (default-install) @ 
> pricing-client ---
> [INFO] Installing xxx/pricing-client/target/pricing-client-0-SNAPSHOT.jar to 
> xxx/pricing-client/0-SNAPSHOT/pricing-client-0-SNAPSHOT.jar
> [INFO] Installing xxx/pricing-client/target/dependency-reduced-pom.xml to 
> xxx/pricing-client/0-SNAPSHOT/pricing-client-0-SNAPSHOT.pom
> [INFO] Installing 
> xxx/pricing-client/target/pricing-client-0-SNAPSHOT-sources.jar to 
> xxx/pricing-client/0-SNAPSHOT/pricing-client-0-SNAPSHOT-sources.jar
> [INFO] Installing 
> xxx/pricing-client/target/pricing-client-0-SNAPSHOT-sources.jar to 
> xxx/pricing-client/0-SNAPSHOT/pricing-client-0-SNAPSHOT-sources.jar
> {noformat}
> With maven-install-plugin this doesn't matter that much, but with 
> maven-deploy-plugin it *fails the build*, because it tries to upload the 
> sources.jar twice to the Maven repository and _Nexus doesn't allow that_:
> {noformat}
> [ERROR] Failed to execute goal 
> org.apache.maven.plugins:maven-deploy-plugin:2.8.2:deploy (default-deploy) on 
> project project: Failed to deploy artifacts: Could not transfer artifact 
> xxx.availability:availability-client:jar:sources:1.0.24 from/to xxx-releases 
> (http://xxx/nexus/content/repositories/releases): Failed to transfer file: 
> http://xxx/nexus/content/repositories/releases/xxxx/availability/availability-client/1.0.24/availability-client-1.0.24-sources.jar.
>  Return code is: 400, ReasonPhrase: Bad Request.
> {noformat}
> I'm suspecting this to be something like the maven-source-plugin and 
> maven-shade-plugin both attaching the same sources.jar to the build, when 
> only one of them should do it. This problem only happens with the sources jar 
> and not the main artifact, so a trick similar to replacing the main artifact 
> is needed also for the sources jar.
> h4. Workaround
> Configure maven-source-plugin with {{<attach>false</attach>}}. Then the shade 
> plugin will find the sources and include them in the shaded sources jar, but 
> the sources jar won't be attached to the build twice.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to