maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rodrigo Carvalho Silva (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (MASSEMBLY-675) Maven Assembly packaging wildcard-excluded dependencies
Date Wed, 06 Dec 2017 16:56:00 GMT

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

Rodrigo Carvalho Silva commented on MASSEMBLY-675:
--------------------------------------------------

I lost one day of work trying to figure out why my package was being created with undesired
dependencies...

Is this issue difficult to be fixed by someone with no experience with the the plugin's codebase
(like me)?

> 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
>            Assignee: John Casey
>         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
(v6.4.14#64029)

Mime
View raw message