You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Elisha Ebenezer (JIRA)" <ji...@codehaus.org> on 2010/01/15 14:17:55 UTC

[jira] Created: (MASSEMBLY-465) unable to customize manifest while specifying my own descriptor file

unable to customize manifest while specifying my own descriptor file
--------------------------------------------------------------------

                 Key: MASSEMBLY-465
                 URL: http://jira.codehaus.org/browse/MASSEMBLY-465
             Project: Maven 2.x Assembly Plugin
          Issue Type: Bug
    Affects Versions: 2.2-beta-5
         Environment: windows
            Reporter: Elisha Ebenezer


I've configured my maven-jar-plugin and maven-assembly-plugin to 
add 'lib/' prefix to Classpath entries in the manifest file for project-artifact jar. as below

<configuration>
  <archive>
    <manifest>
      <addClasspath>true</addClasspath>
      <classpathPrefix>lib/</classpathPrefix>
    </manifest>
  </archive>
</configuration>

I've created my own assembly descriptor to do:
1. Place project artifact in / folder
2. Place all the dependencies (excluding project artifact) in /lib folder

<assembly>
  <id>dist</id>
  <formats>
    <format>zip</format>
  </formats>
  <fileSets>
    <fileSet>
      <directory>${project.build.directory}</directory>
      <outputDirectory>/</outputDirectory>
      <includes>
        <include>*.jar</include>
      </includes>
    </fileSet>
  </fileSets>
  <dependencySets>
    <dependencySet>
      <useProjectArtifact>false</useProjectArtifact>
      <outputDirectory>lib</outputDirectory>
    </dependencySet>
  </dependencySets>
</assembly>

I expected the following behavior:
1. artifact jar in build directory should have manifest as mentioned in the arhive configuration.
2. artifact jar in assembly jar should also have manifest as mentioned above.

BUT, I observed the following:
1. artifact jar in build directory is* having manifest as mentioned in archive config.
2. artifact jar in assembly is *NOT* having the manifest as mentioned.
   a. classpath has ONLY compile time dependencies and NOT runtime dependencies
   b. And also, lib prefix is NOT present.


I'm not sure whether I've got my descriptor wrong or whether there is some serious bug in the plugin. Please investigate.
 


-- 
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

        

[jira] Closed: (MASSEMBLY-465) unable to customize manifest while specifying my own descriptor file

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

Dennis Lundberg closed MASSEMBLY-465.
-------------------------------------

    Resolution: Not A Bug

Creating a zip format assembly will never include a manifest. Only jar format assemblies can have a manifest.

> unable to customize manifest while specifying my own descriptor file
> --------------------------------------------------------------------
>
>                 Key: MASSEMBLY-465
>                 URL: http://jira.codehaus.org/browse/MASSEMBLY-465
>             Project: Maven 2.x Assembly Plugin
>          Issue Type: Bug
>    Affects Versions: 2.2-beta-5
>         Environment: windows
>            Reporter: Elisha Ebenezer
>
> I've configured my maven-jar-plugin and maven-assembly-plugin to 
> add 'lib/' prefix to Classpath entries in the manifest file for project-artifact jar. as below
> <configuration>
>   <archive>
>     <manifest>
>       <addClasspath>true</addClasspath>
>       <classpathPrefix>lib/</classpathPrefix>
>     </manifest>
>   </archive>
> </configuration>
> I've created my own assembly descriptor to do:
> 1. Place project artifact in / folder
> 2. Place all the dependencies (excluding project artifact) in /lib folder
> <assembly>
>   <id>dist</id>
>   <formats>
>     <format>zip</format>
>   </formats>
>   <fileSets>
>     <fileSet>
>       <directory>${project.build.directory}</directory>
>       <outputDirectory>/</outputDirectory>
>       <includes>
>         <include>*.jar</include>
>       </includes>
>     </fileSet>
>   </fileSets>
>   <dependencySets>
>     <dependencySet>
>       <useProjectArtifact>false</useProjectArtifact>
>       <outputDirectory>lib</outputDirectory>
>     </dependencySet>
>   </dependencySets>
> </assembly>
> I expected the following behavior:
> 1. artifact jar in build directory should have manifest as mentioned in the arhive configuration.
> 2. artifact jar in assembly jar should also have manifest as mentioned above.
> BUT, I observed the following:
> 1. artifact jar in build directory is* having manifest as mentioned in archive config.
> 2. artifact jar in assembly is *NOT* having the manifest as mentioned.
>    a. classpath has ONLY compile time dependencies and NOT runtime dependencies
>    b. And also, lib prefix is NOT present.
> I'm not sure whether I've got my descriptor wrong or whether there is some serious bug in the plugin. Please investigate.
>  

-- 
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