Dependencies interpreted differently when running mvn on windows vs. linux
--------------------------------------------------------------------------

                 Key: MASSEMBLY-304
                 URL: http://jira.codehaus.org/browse/MASSEMBLY-304
             Project: Maven 2.x Assembly Plugin
          Issue Type: Bug
         Environment: C:\Documents and Settings\rroos>mvn -version
Maven version: 2.0.8
Java version: 1.5.0_14
OS name: "windows xp" version: "5.1" arch: "x86" Family: "windows"

$ mvn -version
Maven version: 2.0.8
Java version: 1.5.0_15
OS name: "linux" version: "2.6.18-8.el5" arch: "amd64" Family: "unix"


            Reporter: Robin Roos


My project has a large number of .jar files WITHOUT classifiers, and a small 
number of .so and .dll files WITH classifiers.

Using the dependency sets specified below I get different results running maven 
on windows vs. running on linux.

When I run on Windows, my resulting .tar contains many .jar files in lib/

When I run on Linux, the same jars are absent from lib/ but all appear in both 
nativelib/linux_2x/ and nativelib/linux_3x/ and nativelib/solaris/

Furthermore, the classifier-based artifacts appear in all three nativelib 
folders and retain their classifier suffix, e.g.

$ tar tf ./work/4/target/calypsoCustom-9.2.0-build-70-unix.tar | grep "\.so"
calypso-9.2.0-build-70/nativelib/solaris/com.ibm.mq.soap-9.2.0.jar
calypso-9.2.0-build-70/nativelib/solaris/libFDacsLib-5.1-solaris.so
calypso-9.2.0-build-70/nativelib/solaris/libFDacsLib-5.1-linux_2x.so
calypso-9.2.0-build-70/nativelib/solaris/libFDacsLib-5.1-linux_3x.so
calypso-9.2.0-build-70/nativelib/solaris/libsass3j-5.1-solaris.so
calypso-9.2.0-build-70/nativelib/solaris/libsass3j-5.1-linux_2x.so
calypso-9.2.0-build-70/nativelib/solaris/libsass3j-5.1-linux_3x.so
calypso-9.2.0-build-70/nativelib/linux_2x/com.ibm.mq.soap-9.2.0.jar
calypso-9.2.0-build-70/nativelib/linux_2x/libFDacsLib-5.1-solaris.so
calypso-9.2.0-build-70/nativelib/linux_2x/libFDacsLib-5.1-linux_2x.so
calypso-9.2.0-build-70/nativelib/linux_2x/libFDacsLib-5.1-linux_3x.so
calypso-9.2.0-build-70/nativelib/linux_2x/libsass3j-5.1-solaris.so
calypso-9.2.0-build-70/nativelib/linux_2x/libsass3j-5.1-linux_2x.so
calypso-9.2.0-build-70/nativelib/linux_2x/libsass3j-5.1-linux_3x.so
calypso-9.2.0-build-70/nativelib/linux_3x/com.ibm.mq.soap-9.2.0.jar
calypso-9.2.0-build-70/nativelib/linux_3x/libFDacsLib-5.1-solaris.so
calypso-9.2.0-build-70/nativelib/linux_3x/libFDacsLib-5.1-linux_2x.so
calypso-9.2.0-build-70/nativelib/linux_3x/libFDacsLib-5.1-linux_3x.so
calypso-9.2.0-build-70/nativelib/linux_3x/libsass3j-5.1-solaris.so
calypso-9.2.0-build-70/nativelib/linux_3x/libsass3j-5.1-linux_2x.so
calypso-9.2.0-build-70/nativelib/linux_3x/libsass3j-5.1-linux_3x.so

whereas when built on windows I get

$ tar tf ./work/4/target/calypsoCustom-9.2.0-build-70-unix.tar | grep "\.so"
calypso-9.2.0-build-70/nativelib/solaris/libFDacsLib-5.1.so
calypso-9.2.0-build-70/nativelib/solaris/libsass3j-5.1.so
calypso-9.2.0-build-70/nativelib/linux_2x/libFDacsLib-5.1.so
calypso-9.2.0-build-70/nativelib/linux_2x/libsass3j-5.1.so
calypso-9.2.0-build-70/nativelib/linux_3x/libFDacsLib-5.1.so
calypso-9.2.0-build-70/nativelib/linux_3x/libsass3j-5.1.so

(each .so exists in the appropriate nativelib subfolder and has had the 
classifier suffix removed, but each one is different and is the one applicable 
to the platform)

<dependencySets>
        <dependencySet>
            <outputDirectory>/lib</outputDirectory>
            <excludes>
                <exclude>*:*:so:solaris</exclude>
                <exclude>*:*:so:linux_2x</exclude>
                <exclude>*:*:so:linux_3x</exclude>
                <exclude>*:*:dll:windows</exclude>
            </excludes>

        </dependencySet>

        <dependencySet>
            <outputDirectory>/nativelib/solaris</outputDirectory>
            <includes>
                <include>*:*:so:solaris</include>
            </includes>
        </dependencySet>

        <dependencySet>
            <outputDirectory>/nativelib/linux_2x</outputDirectory>
            <includes>
                <include>*:*:so:linux_2x</include>
            </includes>
        </dependencySet>

        <dependencySet>
            <outputDirectory>/nativelib/linux_3x</outputDirectory>
            <includes>
                <include>*:*:so:linux_3x</include>
            </includes>
        </dependencySet>
    </dependencySets>

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to