maven-issues mailing list archives

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

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

Michael Osipov commented on MASSEMBLY-809:
------------------------------------------

This is how it looks like now:

{noformat}
mosipov@mikaw10 MINGW64 /d/Entwicklung/Projekte/reproducer-massebly-809/project/target (master)
$ unzip -l project-0.0.1-SNAPSHOT.jar
Archive:  project-0.0.1-SNAPSHOT.jar
  Length      Date    Time    Name
---------  ---------- -----   ----
       97  2016-06-13 22:18   META-INF/MANIFEST.MF
        0  2016-06-13 22:18   META-INF/
        0  2016-06-13 22:18   test/
        0  2016-06-13 22:18   test/project/
        0  2016-06-13 22:18   META-INF/maven/
        0  2016-06-13 22:18   META-INF/maven/test.project/
        0  2016-06-13 22:18   META-INF/maven/test.project/project/
      539  2016-06-13 22:18   test/project/App.class
       98  2016-06-13 22:18   META-INF/maven/test.project/project/pom.properties
     1736  2016-06-13 22:16   META-INF/maven/test.project/project/pom.xml
---------                     -------
     2470                     10 files

mosipov@mikaw10 MINGW64 /d/Entwicklung/Projekte/reproducer-massebly-809/project/target (master)
$ unzip -l project-0.0.1-SNAPSHOT-doc.jar
Archive:  project-0.0.1-SNAPSHOT-doc.jar
  Length      Date    Time    Name
---------  ---------- -----   ----
       97  2016-06-13 22:19   META-INF/MANIFEST.MF
        0  2016-06-13 22:19   META-INF/
        0  2016-06-13 22:19   META-INF/maven/
        0  2016-06-13 22:19   META-INF/maven/test.project/
        0  2016-06-13 22:19   META-INF/maven/test.project/project/
    30994  2016-06-13 22:19   project.html
     1736  2016-06-13 22:16   META-INF/maven/test.project/project/pom.xml
       98  2016-06-13 22:18   META-INF/maven/test.project/project/pom.properties
---------                     -------
    32925                     8 files

{noformat}

and

{noformat}
mosipov@mikaw10 MINGW64 /d/Entwicklung/Projekte/reproducer-massebly-809/assembly/target/project-assembly-0.0.1-SNAPSHOT/out
(master)
$ unzip -l project.jar
Archive:  project.jar
  Length      Date    Time    Name
---------  ---------- -----   ----
       97  2016-06-13 22:19   META-INF/MANIFEST.MF
        0  2016-06-13 22:19   META-INF/
        0  2016-06-13 22:19   META-INF/maven/
        0  2016-06-13 22:19   META-INF/maven/test.project/
        0  2016-06-13 22:19   META-INF/maven/test.project/project/
    30994  2016-06-13 22:19   project.html
     1736  2016-06-13 22:16   META-INF/maven/test.project/project/pom.xml
       98  2016-06-13 22:18   META-INF/maven/test.project/project/pom.properties
---------                     -------
    32925                     8 files

mosipov@mikaw10 MINGW64 /d/Entwicklung/Projekte/reproducer-massebly-809/assembly/target/project-assembly-0.0.1-SNAPSHOT/out
(master)
$ unzip -l project-doc.jar
Archive:  project-doc.jar
  Length      Date    Time    Name
---------  ---------- -----   ----
       97  2016-06-13 22:19   META-INF/MANIFEST.MF
        0  2016-06-13 22:19   META-INF/
        0  2016-06-13 22:19   META-INF/maven/
        0  2016-06-13 22:19   META-INF/maven/test.project/
        0  2016-06-13 22:19   META-INF/maven/test.project/project/
    30994  2016-06-13 22:19   project.html
     1736  2016-06-13 22:16   META-INF/maven/test.project/project/pom.xml
       98  2016-06-13 22:18   META-INF/maven/test.project/project/pom.properties
---------                     -------
    32925                     8 files
{noformat}

> 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