[ https://issues.apache.org/jira/browse/MASSEMBLY-809?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15316251#comment-15316251 ]
Ondra Chaloupka commented on MASSEMBLY-809: ------------------------------------------- Hi, thank you [~michael-o] for response and clues. As I'm not experienced with proper usage of {{classifier}} tag. I admit that the structure of the project could be better by extracting API to specific module. Nevertheless if data contained under classifier archive would be supplemental (some documentation, debug info or platform specific) still when maven assembly plugin would be used the results will be wrong. I mean the result assembly should contain both artifacts - classified and not classified. This seems does not happen now. Could this be considered as a assembly plugin issue? > 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 g...@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)