maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ondra Chaloupka (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (MASSEMBLY-809) Assembly plugin requires precise dependency order when classifier is used
Date Mon, 13 Jun 2016 13:48:21 GMT

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

Ondra Chaloupka commented on MASSEMBLY-809:
-------------------------------------------

Hi [~michael-o], thanks for you ideas.

Base on your request I've created a simple reproducer project which works in the same way
as the previously mentioned Narayana project does in bigger scale.
https://github.com/ochaloup/reproducer-massebly-809

Will be ok for you to look at it?

Thank you in advance

> 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
>
> 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
(v6.3.4#6332)

Mime
View raw message