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