You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Andrey Stepaonv (JIRA)" <ji...@apache.org> on 2015/08/02 12:49:04 UTC

[jira] [Updated] (MSHADE-202) When promoteTransitiveDependencies=true, some are stripped from the dependency-reduced-pom

     [ https://issues.apache.org/jira/browse/MSHADE-202?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrey Stepaonv updated MSHADE-202:
-----------------------------------
    Description: 
I have 2 modules. First module uses this dependencies:

        <dependency>
            <groupId>ch.imvs</groupId>
            <artifactId>sdes4j</artifactId>
            <version>1.1.3</version>
            <exclusions>
                <exclusion>
                    <groupId>commons-codec</groupId>
                    <artifactId>commons-codec</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
            <version>1.10</version>
        </dependency>

and second module uses first module and maven-shade plugin with execution:

<execution>
<id>shade-for-obfuscate</id>
<phase>package</phase>
<goals>
    <goal>shade</goal>
</goals>
<configuration>
    <artifactSet>
        <includes>
            <include>${project.groupId}:firstModule</include>
        </includes>
    </artifactSet>
    <promoteTransitiveDependencies>true</promoteTransitiveDependencies>
    <dependencyReducedPomLocation>${basedir}/target/dependency-reduced-pom.xml</dependencyReducedPomLocation>
</configuration>
</execution>

As a result i have reduced pom with dependencies:

    <dependency>
      <groupId>ch.imvs</groupId>
      <artifactId>sdes4j</artifactId>
      <version>1.1.3</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>commons-codec</groupId>
      <artifactId>commons-codec</artifactId>
      <version>1.10</version>
      <scope>compile</scope>
    </dependency>

But i had to get dependency with <exclusions>


  was:
I have 2 modules. First module use this dependencies:

        <dependency>
            <groupId>ch.imvs</groupId>
            <artifactId>sdes4j</artifactId>
            <version>1.1.3</version>
            <exclusions>
                <exclusion>
                    <groupId>commons-codec</groupId>
                    <artifactId>commons-codec</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
            <version>1.10</version>
        </dependency>

ans second module use first module and maven-shade plugin with execution:

<execution>
<id>shade-for-obfuscate</id>
<phase>package</phase>
<goals>
    <goal>shade</goal>
</goals>
<configuration>
    <artifactSet>
        <includes>
            <include>${project.groupId}:firstModule</include>
        </includes>
    </artifactSet>
    <promoteTransitiveDependencies>true</promoteTransitiveDependencies>
    <dependencyReducedPomLocation>${basedir}/target/dependency-reduced-pom.xml</dependencyReducedPomLocation>
</configuration>
</execution>

As a result i have reduced pom with dependencies:

    <dependency>
      <groupId>ch.imvs</groupId>
      <artifactId>sdes4j</artifactId>
      <version>1.1.3</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>commons-codec</groupId>
      <artifactId>commons-codec</artifactId>
      <version>1.10</version>
      <scope>compile</scope>
    </dependency>

But i had to get dependency with <exclusions>



> When promoteTransitiveDependencies=true, some <exclusions> are stripped from the dependency-reduced-pom
> -------------------------------------------------------------------------------------------------------
>
>                 Key: MSHADE-202
>                 URL: https://issues.apache.org/jira/browse/MSHADE-202
>             Project: Maven Shade Plugin
>          Issue Type: Bug
>    Affects Versions: 2.4.1
>         Environment: Windows 7
> java 1.8
>            Reporter: Andrey Stepaonv
>
> I have 2 modules. First module uses this dependencies:
>         <dependency>
>             <groupId>ch.imvs</groupId>
>             <artifactId>sdes4j</artifactId>
>             <version>1.1.3</version>
>             <exclusions>
>                 <exclusion>
>                     <groupId>commons-codec</groupId>
>                     <artifactId>commons-codec</artifactId>
>                 </exclusion>
>             </exclusions>
>         </dependency>
>         <dependency>
>             <groupId>commons-codec</groupId>
>             <artifactId>commons-codec</artifactId>
>             <version>1.10</version>
>         </dependency>
> and second module uses first module and maven-shade plugin with execution:
> <execution>
> <id>shade-for-obfuscate</id>
> <phase>package</phase>
> <goals>
>     <goal>shade</goal>
> </goals>
> <configuration>
>     <artifactSet>
>         <includes>
>             <include>${project.groupId}:firstModule</include>
>         </includes>
>     </artifactSet>
>     <promoteTransitiveDependencies>true</promoteTransitiveDependencies>
>     <dependencyReducedPomLocation>${basedir}/target/dependency-reduced-pom.xml</dependencyReducedPomLocation>
> </configuration>
> </execution>
> As a result i have reduced pom with dependencies:
>     <dependency>
>       <groupId>ch.imvs</groupId>
>       <artifactId>sdes4j</artifactId>
>       <version>1.1.3</version>
>       <scope>compile</scope>
>     </dependency>
>     <dependency>
>       <groupId>commons-codec</groupId>
>       <artifactId>commons-codec</artifactId>
>       <version>1.10</version>
>       <scope>compile</scope>
>     </dependency>
> But i had to get dependency with <exclusions>



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