[ http://jira.codehaus.org/browse/MPJAR-30?page=all ]
Jason van Zyl updated MPJAR-30: ------------------------------- Assign To: (was: Jason van Zyl) > Manifest creation for dependency jars deployed in a sub-directory > ----------------------------------------------------------------- > > Key: MPJAR-30 > URL: http://jira.codehaus.org/browse/MPJAR-30 > Project: maven-jar-plugin > Type: Improvement > Environment: All OS, no special specs for this feature. > Reporter: Eric Giguere > Priority: Minor > Attachments: plugin.jelly > > > 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}" /> -- 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