The problem seems to be that we need a way to pass a CLASSPATH but without using the env variable. And this needs to have the override properties of the CLASSPATH that are used in gump.
Wouldn't be simpler to just add a bit of code to set java.class.path from a file or property ? If you go with a wrapper that embeds ant, that would be pretty simple and not need any changes to ant. Costin Ignacio J. Ortega wrote: > Hola a todos: > > I'm trying to solve w2k command line length problems for gump. > > what i've tried is to create a properties file from gump instead of > passing the classpath in the command line, make a Launcher class that > loads it in a URLclassloader and start ant's main, this approach by > itself doesnt work at all, javac needs real jars in a real classpath not > a CL with all the jars loaded.. > > Hence this patch, the Launcher in addition to create a UCL, adds a > system property ant.class.path and starts ant's Main.. i've modified ant > Path type to add this property to the classpath like it's done with > java.class.path ( this property is readonly ).., and if using > build.sysclasspath=only, this property contents are added in addition to > java.class.path.. > > Comments are welcomed.. > > Saludos, > Ignacio J. Ortega > > Index: src/main/org/apache/tools/ant/types/Path.java > =================================================================== > RCS file: > /home/cvspublic/ant/src/main/org/apache/tools/ant/types/Path.java,v > retrieving revision 1.47 > diff -u -r1.47 Path.java > --- src/main/org/apache/tools/ant/types/Path.java 11 Mar 2003 > 10:57:42 -0000 1.47 > +++ src/main/org/apache/tools/ant/types/Path.java 5 Apr 2003 > 16:28:25 -0000 > @@ -103,6 +103,9 @@ > public static Path systemClasspath = > new Path(null, System.getProperty("java.class.path")); > > + public static Path antClasspath = > + new Path(null, System.getProperty("ant.classpath")); > + > > /** > * Helper class, holds the nested <code><pathelement></code> > values. > @@ -556,7 +559,8 @@ > if (order.equals("only")) { > // only: the developer knows what (s)he is doing > result.addExisting(Path.systemClasspath, true); > - > + result.addExisting(Path.antClasspath, true); > + > } else if (order.equals("first")) { > // first: developer could use a little help > result.addExisting(Path.systemClasspath, true);