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

Alexander Kriegisch commented on MSHADE-252:
--------------------------------------------

Nobody has reacted to my pull request on GitHub. [~elharo], [~hboutemy], I see 
you committing to that project sometimes. [~olamy], I saw that you worked on 
the source code shading feature before. Sorry to ask you all directly, but 
would you please review my PR and merge it, if possible? I think it is a big 
improvement.

Meanwhile, if anybody would like to test my fix with regard to this issue, you 
can use it like this:

 {code:xml}
<pluginRepositories>
  <!-- TODO: Remove after upstream release for Maven Shade with fix for 
MSHADE-252 -->
  <pluginRepository>
    <id>github</id>
    <name>GitHub Packages</name>
    <url>https://maven.pkg.github.com/kriegaex/aspectj-packages</url>
    <snapshots>
      <enabled>true</enabled>
    </snapshots>
  </pluginRepository>
</pluginRepositories>

<!-- (...) -->

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-shade-plugin</artifactId>
  <!-- TODO: Replace by release in which 
https://issues.apache.org/jira/browse/MSHADE-252 is fixed -->
  <version>3.2.4.MSHADE-252</version>
</plugin>
{code}

Thank you.

> shadeSourcesContent is broken when combined with partial relocation
> -------------------------------------------------------------------
>
>                 Key: MSHADE-252
>                 URL: https://issues.apache.org/jira/browse/MSHADE-252
>             Project: Maven Shade Plugin
>          Issue Type: Bug
>    Affects Versions: 2.4.3, 3.0.0
>            Reporter: Zhenyu Yang
>            Priority: Major
>              Labels: easyfix
>
> per description in 
> https://maven.apache.org/plugins/maven-shade-plugin/shade-mojo.html#shadeSourcesContent,
>  when set it to true, 
> "it will attempt to shade the contents of the java source files when creating 
> the sources jar." However, it seems will blindly shade all the source files 
> include those are excluded from relocation rules.
> This could be illustrated with a simple example:
> Assume there are two classes defined in two packages as below:
> {code:title=A.java}
> package com.fake.fooA;
> import com.fake.fooB;
> public Class A {}
> {code}
> {code:title=B.java}
> package com.fake.fooB;
> import com.fake.fooA;
> public class B {}
> {code}
> and the maven config looks like:
> {code:xml}
>      <plugin>
>         <groupId>org.apache.maven.plugins</groupId>
>         <artifactId>maven-shade-plugin</artifactId>
>         <version>2.4.3</version>
>         <executions>
>           <!-- Run shade goal on package phase -->
>           <execution>
>             <phase>package</phase>
>             <goals>
>               <goal>shade</goal>
>             </goals>
>             <configuration>
>               <shadedArtifactAttached>false</shadedArtifactAttached>
>               <createSourcesJar>true</createSourcesJar>
>               <shadeSourcesContent>true</shadeSourcesContent>
>               <relocations>
>                 <relocation>
>                   <pattern>com.fake</pattern>
>                   <shadedPattern>.com.fake.shaded</shadedPattern>
>                   <excludes>
>                     <exclude>com.fake.fooA.*</exclude>
>                   </excludes>
>                 </relocation>
>                </relocations> 
> {code}
> Then the shade plugin will modify the B's source file to be:
> {code}
> package com.fake.shaded.fooB;
> import com.fake.shaded.fooA;
> public class B {}
> {code}
> Notice that package A's path was also updated, which is wrong as it's not got 
> relocated.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to