You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by ji...@codehaus.org on 2004/07/06 20:31:48 UTC

[jira] Commented: (MPJAR-30) Manifest creation for dependency jars deployed in a sub-directory

The following comment has been added to this issue:

     Author: Eric Giguere
    Created: Tue, 6 Jul 2004 2:30 PM
       Body:
Hello. 
Finally, here is the CVS diff run against jar plugin v1.6
A note.. I've submitted another change (the includes) for the plugin. The change was integrated a while ago but was removed from version 1.6. Is there a reason??

Anyway, I'll submit here both diffs:

Index: plugin.jelly
===================================================================
RCS file: /home/cvs/cvsroot/nhc-maven/maven-plugins/jar/plugin.jelly,v
retrieving revision 1.3
diff -w -b -i -r1.3 plugin.jelly
83c83,84
<       excludes="${maven.jar.excludes}"> 
---
>       excludes="${maven.jar.excludes}"
>       includes="${maven.jar.includes}">

And here is the new addition to allow sub-dir deployment of dependency jars with Jar manifest classpath updated accordingly.

105a107,111
>             <!-- Get the project level deployment sub-directory if it exists -->
>             <j:if test="${pom.getProperty('jar.dependency.dist.dir')!=null}">
>                 <j:set var="projectDepDeployDir" value="${pom.getProperty('jar.dependency.dist.dir')}${'/'}"/>
>             </j:if>
> 
108c114,120
<                     <j:set var="maven.jar.classpath" value="${maven.jar.classpath} ${dep.artifact}" /> 
---
>                     <!-- Set default deploy sub-dir for dependencies to project level property value -->
>                     <j:set var="depDeployDir" value="${projectDepDeployDir}"/>
>                     <!-- Check to see if the jar.dependency.deploy.dir was overriden at the dependency level -->
>                     <j:if test="${dep.getProperty('jar.dependency.dist.dir')!=null}">
>                         <j:set var="depDeployDir" value="${dep.getProperty('jar.dependency.dist.dir')}${'/'}"/>
>                     </j:if>
>                     <j:set var="maven.jar.classpath" value="${maven.jar.classpath} ${depDeployDir}${dep.artifact}" /> 

***** CVS exited normally with code 1 *****


---------------------------------------------------------------------
View this comment:
  http://jira.codehaus.org/browse/MPJAR-30?page=comments#action_21442

---------------------------------------------------------------------
View the issue:
  http://jira.codehaus.org/browse/MPJAR-30

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: MPJAR-30
    Summary: Manifest creation for dependency jars deployed in a sub-directory
       Type: Improvement

     Status: Open
   Priority: Minor

 Original Estimate: Unknown
 Time Spent: Unknown
  Remaining: Unknown

    Project: maven-jar-plugin

   Assignee: Jason van Zyl
   Reporter: Eric Giguere

    Created: Fri, 18 Jun 2004 10:40 AM
    Updated: Tue, 6 Jul 2004 2:30 PM
Environment: All OS, no special specs for this feature.

Description:
Library jars are not usually deployed in the same directory than the executable application file. Usually, libraries are deployed in subdirectories of the project root, even sometimes general library paths accessible by many applications.

The change I submit here uses a property you define at the project and that can be overriden for a sinble dependency.
The project property looks like this:
  <properties>
      <jar.dependency.dist.dir>lib</jar.dependency.dist.dir>
  </properties>

The same entry is used in a dependency entry in project.xml.

The code change required in the plugin is this (CVS diff):
***** CVS exited normally with code 0 *****

cvs diff -r 1.1 -r 1.2 -wb -i plugin.jelly plugin.jelly (in directory C:\Work\cvs-nhc-maven\nhc-maven\maven-plugins\jar\)
Index: plugin.jelly
===================================================================
RCS file: /home/cvs/cvsroot/nhc-maven/maven-plugins/jar/plugin.jelly,v
retrieving revision 1.1
retrieving revision 1.2
diff -w -b -i -r1.1 -r1.2
55a56,60
>             <!-- Get the project level deployment sub-directory if it exists -->
>             <j:if test="${pom.getProperty('jar.dependency.dist.dir')!=null}">
>                 <j:set var="projectDepDeployDir" value="${pom.getProperty('jar.dependency.dist.dir')}${'/'}"/>
>             </j:if>
> 
58c63,69
<                     <j:set var="maven.jar.classpath" value="${maven.jar.classpath} ${dep.artifact}" /> 
---
>                     <!-- Set default deploy sub-dir for dependencies to project level property value -->
>                     <j:set var="depDeployDir" value="${projectDepDeployDir}"/>
>                     <!-- Check to see if the jar.dependency.deploy.dir was overriden at the dependency level -->
>                     <j:if test="${dep.getProperty('jar.dependency.dist.dir')!=null}">
>                         <j:set var="depDeployDir" value="${dep.getProperty('jar.dependency.dist.dir')}${'/'}"/>
>                     </j:if>
>                     <j:set var="maven.jar.classpath" value="${maven.jar.classpath} ${depDeployDir}${dep.artifact}" /> 


---------------------------------------------------------------------
JIRA INFORMATION:
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

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org