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

Guillaume Boué commented on MASSEMBLY-675:
------------------------------------------

Fixed with initial PR in 
[b0cf85db9c466d42a4d39f46634ad49cbb784d8c|https://gitbox.apache.org/repos/asf?p=maven-assembly-plugin.git;a=commit;h=b0cf85db9c466d42a4d39f46634ad49cbb784d8c]
 and additional 
[78faddf88b1537bc5c61ba74cdb2b227416152b6|https://gitbox.apache.org/repos/asf?p=maven-assembly-plugin.git;a=commit;h=78faddf88b1537bc5c61ba74cdb2b227416152b6].

> Maven Assembly packaging wildcard-excluded dependencies
> -------------------------------------------------------
>
>                 Key: MASSEMBLY-675
>                 URL: https://issues.apache.org/jira/browse/MASSEMBLY-675
>             Project: Maven Assembly Plugin
>          Issue Type: Bug
>    Affects Versions: 2.4
>         Environment: Apache Maven 3.1.1
> Java version: 1.7.0_45, vendor: Oracle Corporation
> OS name: "mac os x", version: "10.8.4", arch: "x86_64", family: "mac"
>            Reporter: Frank Wilson
>            Priority: Major
>             Fix For: 3.1.1
>
>         Attachments: massembly-675.zip
>
>
> Version 2.4 ignores wildcard exclusions in POM dependencies
> Example (perhaps contrived - but easy to setup):
> When a pom declares a dependency such as closure-compiler and for some reason 
> we do not want to pull its dependencies in we could declare this in our POM, 
> without having to know what those dependencies are:
>   <dependencies>
>     <dependency>
>       <groupId>com.google.javascript</groupId>
>       <artifactId>closure-compiler</artifactId>
>       <version>v20131014</version>
>       <exclusions>
>         <exclusion>
>           <artifactId>*</artifactId>
>           <groupId>*</groupId>
>         </exclusion>
>       </exclusions>
>     </dependency>
>   </dependencies>
> This is a valid use of the exclusion feature as per [Maven 
> Confluence|http://docs.codehaus.org/display/MAVENUSER/wildcard+exclusion+for+artifact+dependencies],
>  [MNG-3832|https://jira.codehaus.org/browse/MNG-3832]. False warning about 
> wildcards were 
> [fixed|https://git-wip-us.apache.org/repos/asf?p=maven.git;a=commitdiff;h=65c135d5]
>  in Git about 10 days ago  
> Here is the assembly descriptor:
> <assembly>
>   <id>bin</id>
>   <formats>
>     <format>dir</format>
>   </formats>
>   <includeBaseDirectory>false</includeBaseDirectory>
>   <dependencySets>
>     <dependencySet/>
>   </dependencySets>
> </assembly>
> We expect to only find the current project artifact and the closure-compiler 
> JAR in our directory assembly. However the assembly plugin ignores our POM 
> directive and includes the closure-compilers dependencies anyway!
> Steps to reproduce are:
> $ unzip massembly-675.zip
> $ cd massembly-675
> $ mvn clean install
> $ ls target/massembly-675-1-bin
> args4j-2.0.16.jar              json-20090211.jar              
> protobuf-java-2.4.1.jar
> closure-compiler-v20131014.jar jsr305-1.3.9.jar
> guava-15.0.jar                 massembly-675-1.jar
> *Notice that the excluded jars are included in the assembly*
> I would expect to only see the following JARs.
> * closure-compiler-v20131014.jar
> * massembly-675-1.jar



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to