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);
+ }
}
}