You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "James Davis (JIRA)" <ji...@codehaus.org> on 2011/09/14 02:22:17 UTC

[jira] Created: (MASSEMBLY-576) addClasspath broken in new single goal

addClasspath broken in new single goal
--------------------------------------

                 Key: MASSEMBLY-576
                 URL: https://jira.codehaus.org/browse/MASSEMBLY-576
             Project: Maven 2.x Assembly Plugin
          Issue Type: Bug
    Affects Versions: 2.2.1
         Environment: Maven 3.0.3
Ubuntu 11.04
Sun java 6 (1.6.0_26)
            Reporter: James Davis
            Priority: Blocker


According to the documentation, using <addClasspath>true</addClasspath> in archive/manifest, should place the generated classpath in to the manifest.  This works with assembly:assembly (now deprecated), but is broken in assembly:single

Here is my plugin definition section:
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-assembly-plugin</artifactId>
    <configuration>
        <descriptors>
            <descriptor>src/main/assembly/assembly.xml</descriptor>
        </descriptors>
        <archive>
            <manifest>
                <mainClass>com.example.Main</mainClass>
                <addClasspath>true</addClasspath>
                <classpathPrefix>lib/</classpathPrefix>
            </manifest>
        </archive>
    </configuration>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <goal>single</goal>
            </goals>
        </execution>
    </executions>
</plugin>

and the custom assembly file:
<assembly>
    <id>full</id>
    <formats>
        <format>jar</format>
    </formats>
    <includeBaseDirectory>false</includeBaseDirectory>
    <dependencySets>
        <dependencySet>
            <unpack>false</unpack>
            <scope>runtime</scope>
            <useProjectArtifact>true</useProjectArtifact>
            <outputDirectory>lib/</outputDirectory>
        </dependencySet>
    </dependencySets>
    <fileSets>
        <fileSet>
            <directory>${project.build.outputDirectory}</directory>
            <outputDirectory>/</outputDirectory>
        </fileSet>
    </fileSets>
</assembly>

I'm not sure if this is just because the documentation does not correctly address how to do this or if it is actually just broken.  I did check the docs and this is how the docs claim you should be able to do this.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] (MASSEMBLY-576) addClasspath broken in new single goal

Posted by "Dirk Strauss (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MASSEMBLY-576?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=286584#comment-286584 ] 

Dirk Strauss commented on MASSEMBLY-576:
----------------------------------------

Is this a duplicate of MASSEMBLY-334?
                
> addClasspath broken in new single goal
> --------------------------------------
>
>                 Key: MASSEMBLY-576
>                 URL: https://jira.codehaus.org/browse/MASSEMBLY-576
>             Project: Maven 2.x Assembly Plugin
>          Issue Type: Bug
>    Affects Versions: 2.2.1
>         Environment: Maven 3.0.3
> Ubuntu 11.04
> Sun java 6 (1.6.0_26)
>            Reporter: James Davis
>            Priority: Blocker
>
> According to the documentation, using <addClasspath>true</addClasspath> in archive/manifest, should place the generated classpath in to the manifest.  This works with assembly:assembly (now deprecated), but is broken in assembly:single
> Here is my plugin definition section:
> <plugin>
>     <groupId>org.apache.maven.plugins</groupId>
>     <artifactId>maven-assembly-plugin</artifactId>
>     <configuration>
>         <descriptors>
>             <descriptor>src/main/assembly/assembly.xml</descriptor>
>         </descriptors>
>         <archive>
>             <manifest>
>                 <mainClass>com.example.Main</mainClass>
>                 <addClasspath>true</addClasspath>
>                 <classpathPrefix>lib/</classpathPrefix>
>             </manifest>
>         </archive>
>     </configuration>
>     <executions>
>         <execution>
>             <phase>package</phase>
>             <goals>
>                 <goal>single</goal>
>             </goals>
>         </execution>
>     </executions>
> </plugin>
> and the custom assembly file:
> <assembly>
>     <id>full</id>
>     <formats>
>         <format>jar</format>
>     </formats>
>     <includeBaseDirectory>false</includeBaseDirectory>
>     <dependencySets>
>         <dependencySet>
>             <unpack>false</unpack>
>             <scope>runtime</scope>
>             <useProjectArtifact>true</useProjectArtifact>
>             <outputDirectory>lib/</outputDirectory>
>         </dependencySet>
>     </dependencySets>
>     <fileSets>
>         <fileSet>
>             <directory>${project.build.outputDirectory}</directory>
>             <outputDirectory>/</outputDirectory>
>         </fileSet>
>     </fileSets>
> </assembly>
> I'm not sure if this is just because the documentation does not correctly address how to do this or if it is actually just broken.  I did check the docs and this is how the docs claim you should be able to do this.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] (MASSEMBLY-576) addClasspath broken in new single goal

Posted by "Dennis Lundberg (JIRA)" <ji...@codehaus.org>.
     [ https://jira.codehaus.org/browse/MASSEMBLY-576?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dennis Lundberg updated MASSEMBLY-576:
--------------------------------------

    Description: 
According to the documentation, using <addClasspath>true</addClasspath> in archive/manifest, should place the generated classpath in to the manifest.  This works with assembly:assembly (now deprecated), but is broken in assembly:single

Here is my plugin definition section:
{code:xml}
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-assembly-plugin</artifactId>
    <configuration>
        <descriptors>
            <descriptor>src/main/assembly/assembly.xml</descriptor>
        </descriptors>
        <archive>
            <manifest>
                <mainClass>com.example.Main</mainClass>
                <addClasspath>true</addClasspath>
                <classpathPrefix>lib/</classpathPrefix>
            </manifest>
        </archive>
    </configuration>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <goal>single</goal>
            </goals>
        </execution>
    </executions>
</plugin>
{code}

and the custom assembly file:
{code:xml}
<assembly>
    <id>full</id>
    <formats>
        <format>jar</format>
    </formats>
    <includeBaseDirectory>false</includeBaseDirectory>
    <dependencySets>
        <dependencySet>
            <unpack>false</unpack>
            <scope>runtime</scope>
            <useProjectArtifact>true</useProjectArtifact>
            <outputDirectory>lib/</outputDirectory>
        </dependencySet>
    </dependencySets>
    <fileSets>
        <fileSet>
            <directory>${project.build.outputDirectory}</directory>
            <outputDirectory>/</outputDirectory>
        </fileSet>
    </fileSets>
</assembly>
{code}

I'm not sure if this is just because the documentation does not correctly address how to do this or if it is actually just broken.  I did check the docs and this is how the docs claim you should be able to do this.

  was:
According to the documentation, using <addClasspath>true</addClasspath> in archive/manifest, should place the generated classpath in to the manifest.  This works with assembly:assembly (now deprecated), but is broken in assembly:single

Here is my plugin definition section:
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-assembly-plugin</artifactId>
    <configuration>
        <descriptors>
            <descriptor>src/main/assembly/assembly.xml</descriptor>
        </descriptors>
        <archive>
            <manifest>
                <mainClass>com.example.Main</mainClass>
                <addClasspath>true</addClasspath>
                <classpathPrefix>lib/</classpathPrefix>
            </manifest>
        </archive>
    </configuration>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <goal>single</goal>
            </goals>
        </execution>
    </executions>
</plugin>

and the custom assembly file:
<assembly>
    <id>full</id>
    <formats>
        <format>jar</format>
    </formats>
    <includeBaseDirectory>false</includeBaseDirectory>
    <dependencySets>
        <dependencySet>
            <unpack>false</unpack>
            <scope>runtime</scope>
            <useProjectArtifact>true</useProjectArtifact>
            <outputDirectory>lib/</outputDirectory>
        </dependencySet>
    </dependencySets>
    <fileSets>
        <fileSet>
            <directory>${project.build.outputDirectory}</directory>
            <outputDirectory>/</outputDirectory>
        </fileSet>
    </fileSets>
</assembly>

I'm not sure if this is just because the documentation does not correctly address how to do this or if it is actually just broken.  I did check the docs and this is how the docs claim you should be able to do this.

    
> addClasspath broken in new single goal
> --------------------------------------
>
>                 Key: MASSEMBLY-576
>                 URL: https://jira.codehaus.org/browse/MASSEMBLY-576
>             Project: Maven 2.x Assembly Plugin
>          Issue Type: Bug
>    Affects Versions: 2.2.1
>         Environment: Maven 3.0.3
> Ubuntu 11.04
> Sun java 6 (1.6.0_26)
>            Reporter: James Davis
>            Priority: Blocker
>
> According to the documentation, using <addClasspath>true</addClasspath> in archive/manifest, should place the generated classpath in to the manifest.  This works with assembly:assembly (now deprecated), but is broken in assembly:single
> Here is my plugin definition section:
> {code:xml}
> <plugin>
>     <groupId>org.apache.maven.plugins</groupId>
>     <artifactId>maven-assembly-plugin</artifactId>
>     <configuration>
>         <descriptors>
>             <descriptor>src/main/assembly/assembly.xml</descriptor>
>         </descriptors>
>         <archive>
>             <manifest>
>                 <mainClass>com.example.Main</mainClass>
>                 <addClasspath>true</addClasspath>
>                 <classpathPrefix>lib/</classpathPrefix>
>             </manifest>
>         </archive>
>     </configuration>
>     <executions>
>         <execution>
>             <phase>package</phase>
>             <goals>
>                 <goal>single</goal>
>             </goals>
>         </execution>
>     </executions>
> </plugin>
> {code}
> and the custom assembly file:
> {code:xml}
> <assembly>
>     <id>full</id>
>     <formats>
>         <format>jar</format>
>     </formats>
>     <includeBaseDirectory>false</includeBaseDirectory>
>     <dependencySets>
>         <dependencySet>
>             <unpack>false</unpack>
>             <scope>runtime</scope>
>             <useProjectArtifact>true</useProjectArtifact>
>             <outputDirectory>lib/</outputDirectory>
>         </dependencySet>
>     </dependencySets>
>     <fileSets>
>         <fileSet>
>             <directory>${project.build.outputDirectory}</directory>
>             <outputDirectory>/</outputDirectory>
>         </fileSet>
>     </fileSets>
> </assembly>
> {code}
> I'm not sure if this is just because the documentation does not correctly address how to do this or if it is actually just broken.  I did check the docs and this is how the docs claim you should be able to do this.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] (MASSEMBLY-576) addClasspath broken in new single goal

Posted by "Dennis Lundberg (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MASSEMBLY-576?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=312237#comment-312237 ] 

Dennis Lundberg commented on MASSEMBLY-576:
-------------------------------------------

This seems to be a Maven 3 only issue. It works for me with Maven 2.2.1, but not with 3.0.4.
                
> addClasspath broken in new single goal
> --------------------------------------
>
>                 Key: MASSEMBLY-576
>                 URL: https://jira.codehaus.org/browse/MASSEMBLY-576
>             Project: Maven 2.x Assembly Plugin
>          Issue Type: Bug
>    Affects Versions: 2.2.1
>         Environment: Maven 3.0.3
> Ubuntu 11.04
> Sun java 6 (1.6.0_26)
>            Reporter: James Davis
>            Priority: Blocker
>
> According to the documentation, using <addClasspath>true</addClasspath> in archive/manifest, should place the generated classpath in to the manifest.  This works with assembly:assembly (now deprecated), but is broken in assembly:single
> Here is my plugin definition section:
> {code:xml}
> <plugin>
>     <groupId>org.apache.maven.plugins</groupId>
>     <artifactId>maven-assembly-plugin</artifactId>
>     <configuration>
>         <descriptors>
>             <descriptor>src/main/assembly/assembly.xml</descriptor>
>         </descriptors>
>         <archive>
>             <manifest>
>                 <mainClass>com.example.Main</mainClass>
>                 <addClasspath>true</addClasspath>
>                 <classpathPrefix>lib/</classpathPrefix>
>             </manifest>
>         </archive>
>     </configuration>
>     <executions>
>         <execution>
>             <phase>package</phase>
>             <goals>
>                 <goal>single</goal>
>             </goals>
>         </execution>
>     </executions>
> </plugin>
> {code}
> and the custom assembly file:
> {code:xml}
> <assembly>
>     <id>full</id>
>     <formats>
>         <format>jar</format>
>     </formats>
>     <includeBaseDirectory>false</includeBaseDirectory>
>     <dependencySets>
>         <dependencySet>
>             <unpack>false</unpack>
>             <scope>runtime</scope>
>             <useProjectArtifact>true</useProjectArtifact>
>             <outputDirectory>lib/</outputDirectory>
>         </dependencySet>
>     </dependencySets>
>     <fileSets>
>         <fileSet>
>             <directory>${project.build.outputDirectory}</directory>
>             <outputDirectory>/</outputDirectory>
>         </fileSet>
>     </fileSets>
> </assembly>
> {code}
> I'm not sure if this is just because the documentation does not correctly address how to do this or if it is actually just broken.  I did check the docs and this is how the docs claim you should be able to do this.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] (MASSEMBLY-576) addClasspath broken in new single goal

Posted by "James Davis (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MASSEMBLY-576?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=286653#comment-286653 ] 

James Davis commented on MASSEMBLY-576:
---------------------------------------

I do not believe so as the generation of items works fine.  All that is missing is adding of the classpath to the output manifest file.  It works fine if I use any of the deprecated goals, just not the new single goal.
                
> addClasspath broken in new single goal
> --------------------------------------
>
>                 Key: MASSEMBLY-576
>                 URL: https://jira.codehaus.org/browse/MASSEMBLY-576
>             Project: Maven 2.x Assembly Plugin
>          Issue Type: Bug
>    Affects Versions: 2.2.1
>         Environment: Maven 3.0.3
> Ubuntu 11.04
> Sun java 6 (1.6.0_26)
>            Reporter: James Davis
>            Priority: Blocker
>
> According to the documentation, using <addClasspath>true</addClasspath> in archive/manifest, should place the generated classpath in to the manifest.  This works with assembly:assembly (now deprecated), but is broken in assembly:single
> Here is my plugin definition section:
> <plugin>
>     <groupId>org.apache.maven.plugins</groupId>
>     <artifactId>maven-assembly-plugin</artifactId>
>     <configuration>
>         <descriptors>
>             <descriptor>src/main/assembly/assembly.xml</descriptor>
>         </descriptors>
>         <archive>
>             <manifest>
>                 <mainClass>com.example.Main</mainClass>
>                 <addClasspath>true</addClasspath>
>                 <classpathPrefix>lib/</classpathPrefix>
>             </manifest>
>         </archive>
>     </configuration>
>     <executions>
>         <execution>
>             <phase>package</phase>
>             <goals>
>                 <goal>single</goal>
>             </goals>
>         </execution>
>     </executions>
> </plugin>
> and the custom assembly file:
> <assembly>
>     <id>full</id>
>     <formats>
>         <format>jar</format>
>     </formats>
>     <includeBaseDirectory>false</includeBaseDirectory>
>     <dependencySets>
>         <dependencySet>
>             <unpack>false</unpack>
>             <scope>runtime</scope>
>             <useProjectArtifact>true</useProjectArtifact>
>             <outputDirectory>lib/</outputDirectory>
>         </dependencySet>
>     </dependencySets>
>     <fileSets>
>         <fileSet>
>             <directory>${project.build.outputDirectory}</directory>
>             <outputDirectory>/</outputDirectory>
>         </fileSet>
>     </fileSets>
> </assembly>
> I'm not sure if this is just because the documentation does not correctly address how to do this or if it is actually just broken.  I did check the docs and this is how the docs claim you should be able to do this.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] (MASSEMBLY-576) addClasspath broken in new single goal

Posted by "James Davis (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MASSEMBLY-576?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=286653#comment-286653 ] 

James Davis edited comment on MASSEMBLY-576 at 12/22/11 9:16 AM:
-----------------------------------------------------------------

I do not believe so as the generation of items works fine.  All that is missing is adding of the classpath to the output manifest file.  It works fine if I use any of the deprecated goals, just not the new single goal.

It does sound similar, however they are trying to execute the assembly:assembly goal which does work fine for me as I stated above.
                
      was (Author: davija):
    I do not believe so as the generation of items works fine.  All that is missing is adding of the classpath to the output manifest file.  It works fine if I use any of the deprecated goals, just not the new single goal.
                  
> addClasspath broken in new single goal
> --------------------------------------
>
>                 Key: MASSEMBLY-576
>                 URL: https://jira.codehaus.org/browse/MASSEMBLY-576
>             Project: Maven 2.x Assembly Plugin
>          Issue Type: Bug
>    Affects Versions: 2.2.1
>         Environment: Maven 3.0.3
> Ubuntu 11.04
> Sun java 6 (1.6.0_26)
>            Reporter: James Davis
>            Priority: Blocker
>
> According to the documentation, using <addClasspath>true</addClasspath> in archive/manifest, should place the generated classpath in to the manifest.  This works with assembly:assembly (now deprecated), but is broken in assembly:single
> Here is my plugin definition section:
> <plugin>
>     <groupId>org.apache.maven.plugins</groupId>
>     <artifactId>maven-assembly-plugin</artifactId>
>     <configuration>
>         <descriptors>
>             <descriptor>src/main/assembly/assembly.xml</descriptor>
>         </descriptors>
>         <archive>
>             <manifest>
>                 <mainClass>com.example.Main</mainClass>
>                 <addClasspath>true</addClasspath>
>                 <classpathPrefix>lib/</classpathPrefix>
>             </manifest>
>         </archive>
>     </configuration>
>     <executions>
>         <execution>
>             <phase>package</phase>
>             <goals>
>                 <goal>single</goal>
>             </goals>
>         </execution>
>     </executions>
> </plugin>
> and the custom assembly file:
> <assembly>
>     <id>full</id>
>     <formats>
>         <format>jar</format>
>     </formats>
>     <includeBaseDirectory>false</includeBaseDirectory>
>     <dependencySets>
>         <dependencySet>
>             <unpack>false</unpack>
>             <scope>runtime</scope>
>             <useProjectArtifact>true</useProjectArtifact>
>             <outputDirectory>lib/</outputDirectory>
>         </dependencySet>
>     </dependencySets>
>     <fileSets>
>         <fileSet>
>             <directory>${project.build.outputDirectory}</directory>
>             <outputDirectory>/</outputDirectory>
>         </fileSet>
>     </fileSets>
> </assembly>
> I'm not sure if this is just because the documentation does not correctly address how to do this or if it is actually just broken.  I did check the docs and this is how the docs claim you should be able to do this.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] (MASSEMBLY-576) addClasspath broken in new single goal

Posted by "Dennis Lundberg (JIRA)" <ji...@codehaus.org>.
     [ https://jira.codehaus.org/browse/MASSEMBLY-576?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dennis Lundberg updated MASSEMBLY-576:
--------------------------------------

    Component/s: manifest
    
> addClasspath broken in new single goal
> --------------------------------------
>
>                 Key: MASSEMBLY-576
>                 URL: https://jira.codehaus.org/browse/MASSEMBLY-576
>             Project: Maven 2.x Assembly Plugin
>          Issue Type: Bug
>          Components: manifest
>    Affects Versions: 2.2.1
>         Environment: Maven 3.0.3
> Ubuntu 11.04
> Sun java 6 (1.6.0_26)
>            Reporter: James Davis
>            Priority: Blocker
>
> According to the documentation, using <addClasspath>true</addClasspath> in archive/manifest, should place the generated classpath in to the manifest.  This works with assembly:assembly (now deprecated), but is broken in assembly:single
> Here is my plugin definition section:
> {code:xml}
> <plugin>
>     <groupId>org.apache.maven.plugins</groupId>
>     <artifactId>maven-assembly-plugin</artifactId>
>     <configuration>
>         <descriptors>
>             <descriptor>src/main/assembly/assembly.xml</descriptor>
>         </descriptors>
>         <archive>
>             <manifest>
>                 <mainClass>com.example.Main</mainClass>
>                 <addClasspath>true</addClasspath>
>                 <classpathPrefix>lib/</classpathPrefix>
>             </manifest>
>         </archive>
>     </configuration>
>     <executions>
>         <execution>
>             <phase>package</phase>
>             <goals>
>                 <goal>single</goal>
>             </goals>
>         </execution>
>     </executions>
> </plugin>
> {code}
> and the custom assembly file:
> {code:xml}
> <assembly>
>     <id>full</id>
>     <formats>
>         <format>jar</format>
>     </formats>
>     <includeBaseDirectory>false</includeBaseDirectory>
>     <dependencySets>
>         <dependencySet>
>             <unpack>false</unpack>
>             <scope>runtime</scope>
>             <useProjectArtifact>true</useProjectArtifact>
>             <outputDirectory>lib/</outputDirectory>
>         </dependencySet>
>     </dependencySets>
>     <fileSets>
>         <fileSet>
>             <directory>${project.build.outputDirectory}</directory>
>             <outputDirectory>/</outputDirectory>
>         </fileSet>
>     </fileSets>
> </assembly>
> {code}
> I'm not sure if this is just because the documentation does not correctly address how to do this or if it is actually just broken.  I did check the docs and this is how the docs claim you should be able to do this.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira