You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Elliotte Rusty Harold (Jira)" <ji...@apache.org> on 2019/12/22 13:35:00 UTC

[jira] [Closed] (MASSEMBLY-809) Assembly plugin requires precise dependency order when classifier is used

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

Elliotte Rusty Harold closed MASSEMBLY-809.
-------------------------------------------

> Assembly plugin requires precise dependency order when classifier is used
> -------------------------------------------------------------------------
>
>                 Key: MASSEMBLY-809
>                 URL: https://issues.apache.org/jira/browse/MASSEMBLY-809
>             Project: Maven Assembly Plugin
>          Issue Type: Bug
>          Components: dependencySet
>    Affects Versions: 2.5.5, 2.6
>            Reporter: Ondra Chaloupka
>            Priority: Major
>
> Assembly plugin wrongly pack dependencies of project when {{classifier}} dependencies are defined in random order.
> For the plugin pack it in right way it requires ordering dependencies precisely where dependency without the {{classifier}} is used before the dependency with it.
> If wrong order is used then the result jar seems to contain both dependencies - with and without classifier. But the file _without classifier_ is not contained and the content of it is equal to the one _with the classifier_.
> For building Narayana project there is used pom.xml with
> {code}
>     <dependency>
>       <groupId>org.jboss.narayana.xts</groupId>
>       <artifactId>jbossxts</artifactId>
>       <version>${project.version}</version>
>       <classifier>api</classifier>
>     </dependency>
>     <dependency>
>       <groupId>org.jboss.narayana.xts</groupId>
>       <artifactId>jbossxts</artifactId>
>       <version>${project.version}</version>
>     </dependency>
> {code}
> pom.xml: https://github.com/jbosstm/narayana/blob/master/narayana-full/pom.xml
> bin.xml: https://github.com/jbosstm/narayana/blob/master/narayana-full/src/main/assembly/bin.xml
> For this descriptor the content of the result zip file is
> {code}
>     44658  06-01-2016 14:17   narayana-full-5.3.3.Final-SNAPSHOT/lib/xts/jbossxts-api.jar
>     44658  06-01-2016 14:17   narayana-full-5.3.3.Final-SNAPSHOT/lib/xts/jbossxts.jar
> {code}
> You can see the artifacts {{jbossxts-api}} and {{jbossxts}} are the same.
> If ordering is changed
> {code}
>    <dependency>
>       <groupId>org.jboss.narayana.xts</groupId>
>       <artifactId>jbossxts</artifactId>
>       <version>${project.version}</version>
>     </dependency>
>     <dependency>
>       <groupId>org.jboss.narayana.xts</groupId>
>       <artifactId>jbossxts</artifactId>
>       <version>${project.version}</version>
>       <classifier>api</classifier>
>     </dependency>
> {code}
> then the generated zip file contain correct data.
> {code}
>    972473  06-01-2016 14:17   narayana-full-5.3.3.Final-SNAPSHOT/lib/xts/jbossxts.jar
>     44658  06-01-2016 14:17   narayana-full-5.3.3.Final-SNAPSHOT/lib/xts/jbossxts-api.jar
> {code}
> _To reproduce:_
> # {{git clone git@github.com:jbosstm/narayana.git}}
> # {{cd narayana}}
> # {{./build.sh clean install -Pcommunity -DskipTests -Didlj-enabled=true}}
> Now you can see
> {{unzip -l narayana-full/target/narayana-full-5.*zip | grep xts}}
> showing the same file.
> Edit {{narayana-full/pom.xml}} to change the place where {{classfier}} is used for the {{jbossxts}} artifact.
> You can do {{cd narayana-full; mvn clean install}} and when you checked the result zip there will be different content of both jbossxts files.
> Discussed at https://issues.jboss.org/browse/JBTM-2679



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