geirm 01/08/21 04:36:27 Modified: jjar/src/java/org/apache/commons/jjar DependencyEngine.java JJARTask.java Log: DepEngine : removed a println JJARTask : added support for generating a classpath reference so that a classpath can be automatically made based on JJAR dependencies, so that the build.xml author doesn't have to set them. Revision Changes Path 1.3 +2 -2 jakarta-commons-sandbox/jjar/src/java/org/apache/commons/jjar/DependencyEngine.java Index: DependencyEngine.java =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/jjar/src/java/org/apache/commons/jjar/DependencyEngine.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- DependencyEngine.java 2001/08/20 02:44:22 1.2 +++ DependencyEngine.java 2001/08/21 11:36:27 1.3 @@ -82,7 +82,7 @@ * </p> * * @author <a href="mailto:[EMAIL PROTECTED]">Geir Magnusson Jr.</a> - * @version $Id: DependencyEngine.java,v 1.2 2001/08/20 02:44:22 geirm Exp $ + * @version $Id: DependencyEngine.java,v 1.3 2001/08/21 11:36:27 geirm Exp $ */ public class DependencyEngine { @@ -396,7 +396,7 @@ if (n != null) { - System.out.println(" addProject() : rejecting duplicate : " + project ); + //System.out.println(" addProject() : rejecting duplicate : " + project ); throw new Exception("already have it..."); } 1.3 +34 -1 jakarta-commons-sandbox/jjar/src/java/org/apache/commons/jjar/JJARTask.java Index: JJARTask.java =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/jjar/src/java/org/apache/commons/jjar/JJARTask.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- JJARTask.java 2001/08/08 11:00:23 1.2 +++ JJARTask.java 2001/08/21 11:36:27 1.3 @@ -66,7 +66,7 @@ /** * An ant task for doing JJAR stuff * - * @version $Id: JJARTask.java,v 1.2 2001/08/08 11:00:23 geirm Exp $ + * @version $Id: JJARTask.java,v 1.3 2001/08/21 11:36:27 geirm Exp $ */ public class JJARTask extends Task { @@ -77,6 +77,7 @@ private boolean verifyignore = true; private boolean onlydependencies = false; private String classpath = null; + private String pathrefid = null; /** * [REQUIRED] sets the package and version. ver can be @@ -117,6 +118,11 @@ this.classpath = classpath; } + public void setPathrefid( String pathrefid ) + { + this.pathrefid = pathrefid; + } + /** * Execute the input script with Velocity * @@ -152,6 +158,12 @@ log("Fetching package '" + pkg + "' from repository '" + defaultRepository + "' into local repository '" + localrep + "'"); + /* + * create an antpath + */ + + Path antpath = new Path( project ); + try { /* @@ -199,6 +211,15 @@ log(" Fetching dependency : " + deptarget ); Transport.fetchJar( uconn, localrep + "/" + deptarget ); + + /* + * now if they want us to add to a classpath, we will have + * a pathrefid, so for now, pretend it's fresh + */ + + log("Adding depedency element " + localrep + "/" + deptarget + " to classpath"); + + antpath.createPathElement().setPath( localrep + "/" + deptarget ); } /* @@ -237,11 +258,23 @@ log(" Fetching package : " + pkg ); Transport.fetchJar( uconn, localrep + "/" + fetchTarget ); + + log("Adding package element " + localrep + "/" + fetchTarget + " to classpath"); + + antpath.createPathElement().setPath( localrep + "/" + fetchTarget ); + } } catch( Exception e ) { throw new BuildException("Exception : ",e); + } + finally + { + if( pathrefid != null) + { + project.addReference( pathrefid, antpath); + } } }