If I'm reading this right, it looks like Sam's change only deals with the
system classpath (ie., the Ant classes) and not whether the runtime
classes get added in for <javac> -- is that correct? If it is, are there
any plans to incorporate Jay's changes, which do deal with turning that
off?

Thanks,
Diane

--- [EMAIL PROTECTED] wrote:
> rubys       01/01/05 06:26:28
> 
>   Modified:    src/main/org/apache/tools/ant AntClassLoader.java
>                src/main/org/apache/tools/ant/taskdefs Javac.java
>                         Javadoc.java
>                src/main/org/apache/tools/ant/types CommandlineJava.java
>                         Path.java
>   Log:
>   Address anomolies where classpath is now being interpreted differently
> by
>   different tasks due to my change to javac and the introduction of
>   ${build.sysclasspath}
>   
>   Revision  Changes    Path
>   1.12      +4 -2     
> jakarta-ant/src/main/org/apache/tools/ant/AntClassLoader.java
>   
>   Index: AntClassLoader.java
>   ===================================================================
>   RCS file:
>
/home/cvs/jakarta-ant/src/main/org/apache/tools/ant/AntClassLoader.java,v
>   retrieving revision 1.11
>   retrieving revision 1.12
>   diff -u -r1.11 -r1.12
>   --- AntClassLoader.java     2001/01/03 14:18:26     1.11
>   +++ AntClassLoader.java     2001/01/05 14:26:24     1.12
>   @@ -105,11 +105,13 @@
>         * Create a classloader for the given project using the classpath
> given.
>         *
>         * @param project the project to ehich this classloader is to
> belong.
>   -     * @param classpath the classpath to use to load the classes.
>   +     * @param classpath the classpath to use to load the classes. 
> This
>   +     *                is combined with the system classpath in a
> manner
>   +     *                determined by the value of
> ${build.sysclasspath}
>         */
>        public AntClassLoader(Project project, Path classpath) {
>            this.project = project;
>   -        this.classpath = classpath;
>   +        this.classpath = classpath.concatSystemClasspath();
>    
>            // JDK > 1.1 should add these by default, but some VMs don't
>            addSystemPackageRoot("java");
>   
>   
>   
>   1.62      +1 -22    
> jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Javac.java
>   
>   Index: Javac.java
>   ===================================================================
>   RCS file:
>
/home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Javac.java,v
>   retrieving revision 1.61
>   retrieving revision 1.62
>   diff -u -r1.61 -r1.62
>   --- Javac.java      2001/01/04 10:08:59     1.61
>   +++ Javac.java      2001/01/05 14:26:25     1.62
>   @@ -420,28 +420,7 @@
>            if (compileClasspath == null) {
>                classpath.addExisting(Path.systemClasspath);
>            } else {
>   -            String order = project.getProperty("build.sysclasspath");
>   -            if (order == null) order="first";
>   -
>   -            if (order.equals("only")) {
>   -                // only: the developer knows what (s)he is doing
>   -                classpath.addExisting(Path.systemClasspath);
>   -
>   -            } else if (order.equals("last")) {
>   -                // last: don't trust the developer
>   -                classpath.addExisting(compileClasspath);
>   -                classpath.addExisting(Path.systemClasspath);
>   -
>   -            } else if (order.equals("ignore")) {
>   -                // ignore: don't trust anyone
>   -                classpath.addExisting(compileClasspath);
>   -                addRuntime = true;
>   -
>   -            } else {
>   -                // first: developer could use a little help
>   -                classpath.addExisting(Path.systemClasspath);
>   -                classpath.addExisting(compileClasspath);
>   -            }
>   +           
> classpath.addExisting(compileClasspath.concatSystemClasspath());
>            }
>    
>            // optionally add the runtime classes
>   
>   
>   
>   1.39      +2 -0     
> jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Javadoc.java
>   
>   Index: Javadoc.java
>   ===================================================================
>   RCS file:
>
/home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Javadoc.java,v
>   retrieving revision 1.38
>   retrieving revision 1.39
>   diff -u -r1.38 -r1.39
>   --- Javadoc.java    2001/01/03 14:18:30     1.38
>   +++ Javadoc.java    2001/01/05 14:26:26     1.39
>   @@ -571,6 +571,8 @@
>    // ------------------------------------------------ general javadoc
> arguments
>            if (classpath == null)
>                classpath = Path.systemClasspath;
>   +        else
>   +            classpath = classpath.concatSystemClasspath();
>    
>            if (!javadoc1) {
>                toExecute.createArgument().setValue("-classpath");
>   
>   
>   
>   1.8       +1 -1     
> jakarta-ant/src/main/org/apache/tools/ant/types/CommandlineJava.java
>   
>   Index: CommandlineJava.java
>   ===================================================================
>   RCS file:
>
/home/cvs/jakarta-ant/src/main/org/apache/tools/ant/types/CommandlineJava.java,v
>   retrieving revision 1.7
>   retrieving revision 1.8
>   diff -u -r1.7 -r1.8
>   --- CommandlineJava.java    2001/01/03 14:18:46     1.7
>   +++ CommandlineJava.java    2001/01/05 14:26:27     1.8
>   @@ -190,7 +190,7 @@
>            }
>            if (classpath != null && classpath.size() > 0) {
>                result[pos++] = "-classpath";
>   -            result[pos++] = classpath.toString();
>   +            result[pos++] =
> classpath.concatSystemClasspath().toString();
>            }
>            System.arraycopy(javaCommand.getCommandline(), 0, 
>                             result, pos, javaCommand.size());
>   
>   
>   
>   1.12      +34 -0    
> jakarta-ant/src/main/org/apache/tools/ant/types/Path.java
>   
>   Index: Path.java
>   ===================================================================
>   RCS file:
> /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/types/Path.java,v
>   retrieving revision 1.11
>   retrieving revision 1.12
>   diff -u -r1.11 -r1.12
>   --- Path.java       2001/01/03 14:18:46     1.11
>   +++ Path.java       2001/01/05 14:26:27     1.12
>   @@ -466,4 +466,38 @@
>            }
>        }
>    
>   +    /**
>   +     * Concatenates the system class path in the order specified
>   +     * by the ${build.sysclasspath} property.
>   +     */
>   +    public Path concatSystemClasspath() {
>   +
>   +        Path result = new Path(project);
>   +
>   +        String order = project.getProperty("build.sysclasspath");
>   +        if (order == null) order="first";
>   +
>   +        if (order.equals("only")) {
>   +            // only: the developer knows what (s)he is doing
>   +            result.addExisting(Path.systemClasspath);
>   +        
>   +        } else if (order.equals("last")) {
>   +            // last: don't trust the developer
>   +            result.addExisting(this);
>   +            result.addExisting(Path.systemClasspath);
>   +        
>   +        } else if (order.equals("ignore")) {
>   +            // ignore: don't trust anyone
>   +            result.addExisting(this);
>   +        
>   +        } else {
>   +            // first: developer could use a little help
>   +            result.addExisting(Path.systemClasspath);
>   +            result.addExisting(this);
>   +        }
>   +
>   +        return result;
>   +
>   +    }
>   +
>    }
>   
>   
>   
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 


=====
([EMAIL PROTECTED])



__________________________________________________
Do You Yahoo!?
Yahoo! Photos - Share your holiday photos online!
http://photos.yahoo.com/

Reply via email to