the various adapters as reworking part of them is on my TODO list anyway. git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@272379 13f79535-47bb-0310-9956-ffa450edef68master
| @@ -105,6 +105,8 @@ import java.util.Vector; | |||||
| * | * | ||||
| * @version $Revision$ | * @version $Revision$ | ||||
| * | * | ||||
| * @since Ant 1.1 | |||||
| * | |||||
| * @ant.task category="java" | * @ant.task category="java" | ||||
| */ | */ | ||||
| @@ -147,7 +149,7 @@ public class Javac extends MatchingTask { | |||||
| * | * | ||||
| * <p>default is null</p> | * <p>default is null</p> | ||||
| * | * | ||||
| * @since 1.84, Ant 1.5 | |||||
| * @since Ant 1.5 | |||||
| */ | */ | ||||
| private String compiler = null; | private String compiler = null; | ||||
| @@ -615,8 +617,9 @@ public class Javac extends MatchingTask { | |||||
| for (Enumeration enum = implementationSpecificArgs.elements(); | for (Enumeration enum = implementationSpecificArgs.elements(); | ||||
| enum.hasMoreElements(); | enum.hasMoreElements(); | ||||
| ) { | ) { | ||||
| String[] curr = | |||||
| ((ImplementationSpecificArgument) enum.nextElement()).getParts(); | |||||
| ImplementationSpecificArgument arg = | |||||
| ((ImplementationSpecificArgument) enum.nextElement()); | |||||
| String[] curr = arg.getParts(); | |||||
| for (int i=0; i<curr.length; i++) { | for (int i=0; i<curr.length; i++) { | ||||
| args.addElement(curr[i]); | args.addElement(curr[i]); | ||||
| } | } | ||||
| @@ -631,11 +634,11 @@ public class Javac extends MatchingTask { | |||||
| */ | */ | ||||
| public void execute() throws BuildException { | public void execute() throws BuildException { | ||||
| checkParameters(); | checkParameters(); | ||||
| String[] list = src.list(); | |||||
| resetFileLists(); | |||||
| // scan source directories and dest directory to build up | // scan source directories and dest directory to build up | ||||
| // compile lists | // compile lists | ||||
| resetFileLists(); | |||||
| String[] list = src.list(); | |||||
| for (int i=0; i<list.length; i++) { | for (int i=0; i<list.length; i++) { | ||||
| File srcDir = project.resolveFile(list[i]); | File srcDir = project.resolveFile(list[i]); | ||||
| if (!srcDir.exists()) { | if (!srcDir.exists()) { | ||||
| @@ -703,7 +706,7 @@ public class Javac extends MatchingTask { | |||||
| /** | /** | ||||
| * Choose the implementation for this particular task. | * Choose the implementation for this particular task. | ||||
| * | * | ||||
| * @since 1.84, Ant 1.5 | |||||
| * @since Ant 1.5 | |||||
| */ | */ | ||||
| public void setCompiler(String compiler) { | public void setCompiler(String compiler) { | ||||
| this.compiler = compiler; | this.compiler = compiler; | ||||
| @@ -715,7 +718,7 @@ public class Javac extends MatchingTask { | |||||
| * <p>Defaults to the build.compiler property but can be overriden | * <p>Defaults to the build.compiler property but can be overriden | ||||
| * via the compiler and fork attributes.</p> | * via the compiler and fork attributes.</p> | ||||
| * | * | ||||
| * @since 1.84, Ant 1.5 | |||||
| * @since Ant 1.5 | |||||
| */ | */ | ||||
| public String getCompiler() { | public String getCompiler() { | ||||
| String compilerImpl = | String compilerImpl = | ||||
| @@ -740,8 +743,8 @@ public class Javac extends MatchingTask { | |||||
| } | } | ||||
| if (compilerImpl == null) { | if (compilerImpl == null) { | ||||
| if (JavaEnvUtils.getJavaVersion() != Project.JAVA_1_1 && | |||||
| JavaEnvUtils.getJavaVersion() != Project.JAVA_1_2) { | |||||
| if (JavaEnvUtils.getJavaVersion() != JavaEnvUtils.JAVA_1_1 && | |||||
| JavaEnvUtils.getJavaVersion() != JavaEnvUtils.JAVA_1_2) { | |||||
| compilerImpl = "modern"; | compilerImpl = "modern"; | ||||
| } else { | } else { | ||||
| compilerImpl = "classic"; | compilerImpl = "classic"; | ||||
| @@ -754,7 +757,7 @@ public class Javac extends MatchingTask { | |||||
| * Check that all required attributes have been set and nothing | * Check that all required attributes have been set and nothing | ||||
| * silly has been entered. | * silly has been entered. | ||||
| * | * | ||||
| * @since 1.82, Ant 1.5 | |||||
| * @since Ant 1.5 | |||||
| */ | */ | ||||
| protected void checkParameters() throws BuildException { | protected void checkParameters() throws BuildException { | ||||
| if (src == null) { | if (src == null) { | ||||
| @@ -777,7 +780,7 @@ public class Javac extends MatchingTask { | |||||
| /** | /** | ||||
| * Perform the compilation. | * Perform the compilation. | ||||
| * | * | ||||
| * @since 1.82, Ant 1.5 | |||||
| * @since Ant 1.5 | |||||
| */ | */ | ||||
| protected void compile() { | protected void compile() { | ||||
| String compilerImpl = getCompiler(); | String compilerImpl = getCompiler(); | ||||
| @@ -1,7 +1,7 @@ | |||||
| /* | /* | ||||
| * The Apache Software License, Version 1.1 | * The Apache Software License, Version 1.1 | ||||
| * | * | ||||
| * Copyright (c) 2001 The Apache Software Foundation. All rights | |||||
| * Copyright (c) 2001-2002 The Apache Software Foundation. All rights | |||||
| * reserved. | * reserved. | ||||
| * | * | ||||
| * Redistribution and use in source and binary forms, with or without | * Redistribution and use in source and binary forms, with or without | ||||
| @@ -68,6 +68,7 @@ import org.apache.tools.ant.taskdefs.Javac; | |||||
| * reflection).</p> | * reflection).</p> | ||||
| * | * | ||||
| * @author Jay Dickon Glanville <a href="mailto:jayglanville@home.com">jayglanville@home.com</a> | * @author Jay Dickon Glanville <a href="mailto:jayglanville@home.com">jayglanville@home.com</a> | ||||
| * @since Ant 1.3 | |||||
| */ | */ | ||||
| public interface CompilerAdapter { | public interface CompilerAdapter { | ||||
| @@ -78,6 +78,8 @@ import java.io.IOException; | |||||
| * @author Robin Green <a href="mailto:greenrd@hotmail.com">greenrd@hotmail.com</a> | * @author Robin Green <a href="mailto:greenrd@hotmail.com">greenrd@hotmail.com</a> | ||||
| * @author <a href="mailto:stefan.bodewig@epost.de">Stefan Bodewig</a> | * @author <a href="mailto:stefan.bodewig@epost.de">Stefan Bodewig</a> | ||||
| * @author <a href="mailto:jayglanville@home.com">J D Glanville</a> | * @author <a href="mailto:jayglanville@home.com">J D Glanville</a> | ||||
| * | |||||
| * @since Ant 1.3 | |||||
| */ | */ | ||||
| public abstract class DefaultCompilerAdapter implements CompilerAdapter { | public abstract class DefaultCompilerAdapter implements CompilerAdapter { | ||||
| @@ -162,9 +164,11 @@ public abstract class DefaultCompilerAdapter implements CompilerAdapter { | |||||
| } | } | ||||
| } else { | } else { | ||||
| if ( includeAntRuntime ) { | if ( includeAntRuntime ) { | ||||
| classpath.addExisting(compileClasspath.concatSystemClasspath("last")); | |||||
| classpath.addExisting(compileClasspath | |||||
| .concatSystemClasspath("last")); | |||||
| } else { | } else { | ||||
| classpath.addExisting(compileClasspath.concatSystemClasspath("ignore")); | |||||
| classpath.addExisting(compileClasspath | |||||
| .concatSystemClasspath("ignore")); | |||||
| } | } | ||||
| } | } | ||||
| @@ -202,19 +206,23 @@ public abstract class DefaultCompilerAdapter implements CompilerAdapter { | |||||
| String memoryParameterPrefix = usingJava1_1 ? "-J-" : "-J-X"; | String memoryParameterPrefix = usingJava1_1 ? "-J-" : "-J-X"; | ||||
| if (memoryInitialSize != null) { | if (memoryInitialSize != null) { | ||||
| if (!attributes.isForkedJavac()) { | if (!attributes.isForkedJavac()) { | ||||
| attributes.log("Since fork is false, ignoring memoryInitialSize setting.", | |||||
| attributes.log("Since fork is false, ignoring " | |||||
| + "memoryInitialSize setting.", | |||||
| Project.MSG_WARN); | Project.MSG_WARN); | ||||
| } else { | } else { | ||||
| cmd.createArgument().setValue(memoryParameterPrefix+"ms"+memoryInitialSize); | |||||
| cmd.createArgument().setValue(memoryParameterPrefix | |||||
| + "ms" + memoryInitialSize); | |||||
| } | } | ||||
| } | } | ||||
| if (memoryMaximumSize != null) { | if (memoryMaximumSize != null) { | ||||
| if (!attributes.isForkedJavac()) { | if (!attributes.isForkedJavac()) { | ||||
| attributes.log("Since fork is false, ignoring memoryMaximumSize setting.", | |||||
| attributes.log("Since fork is false, ignoring " | |||||
| + "memoryMaximumSize setting.", | |||||
| Project.MSG_WARN); | Project.MSG_WARN); | ||||
| } else { | } else { | ||||
| cmd.createArgument().setValue(memoryParameterPrefix+"mx"+memoryMaximumSize); | |||||
| cmd.createArgument().setValue(memoryParameterPrefix | |||||
| + "mx" + memoryMaximumSize); | |||||
| } | } | ||||
| } | } | ||||
| @@ -251,7 +259,8 @@ public abstract class DefaultCompilerAdapter implements CompilerAdapter { | |||||
| cmd.createArgument().setPath(cp); | cmd.createArgument().setPath(cp); | ||||
| } else { | } else { | ||||
| cmd.createArgument().setPath(classpath); | cmd.createArgument().setPath(classpath); | ||||
| // If the buildfile specifies sourcepath="", then don't output any sourcepath. | |||||
| // If the buildfile specifies sourcepath="", then don't | |||||
| // output any sourcepath. | |||||
| if (sourcepath.size() > 0) { | if (sourcepath.size() > 0) { | ||||
| cmd.createArgument().setValue("-sourcepath"); | cmd.createArgument().setValue("-sourcepath"); | ||||
| cmd.createArgument().setPath(sourcepath); | cmd.createArgument().setPath(sourcepath); | ||||
| @@ -302,8 +311,8 @@ public abstract class DefaultCompilerAdapter implements CompilerAdapter { | |||||
| } else if (Project.getJavaVersion().startsWith("1.2")) { | } else if (Project.getJavaVersion().startsWith("1.2")) { | ||||
| cmd.createArgument().setValue("-Xdepend"); | cmd.createArgument().setValue("-Xdepend"); | ||||
| } else { | } else { | ||||
| attributes.log("depend attribute is not supported by the modern compiler", | |||||
| Project.MSG_WARN); | |||||
| attributes.log("depend attribute is not supported by the " | |||||
| + "modern compiler", Project.MSG_WARN); | |||||
| } | } | ||||
| } | } | ||||
| @@ -413,7 +422,8 @@ public abstract class DefaultCompilerAdapter implements CompilerAdapter { | |||||
| System.arraycopy(args, 0, commandArray, 0, firstFileName); | System.arraycopy(args, 0, commandArray, 0, firstFileName); | ||||
| commandArray[firstFileName] = "@" + tmpFile; | commandArray[firstFileName] = "@" + tmpFile; | ||||
| } catch (IOException e) { | } catch (IOException e) { | ||||
| throw new BuildException("Error creating temporary file", e, location); | |||||
| throw new BuildException("Error creating temporary file", | |||||
| e, location); | |||||
| } finally { | } finally { | ||||
| if (out != null) { | if (out != null) { | ||||
| try {out.close();} catch (Throwable t) {} | try {out.close();} catch (Throwable t) {} | ||||
| @@ -424,9 +434,10 @@ public abstract class DefaultCompilerAdapter implements CompilerAdapter { | |||||
| } | } | ||||
| try { | try { | ||||
| Execute exe = new Execute(new LogStreamHandler(attributes, | |||||
| Project.MSG_INFO, | |||||
| Project.MSG_WARN)); | |||||
| Execute exe = new Execute( | |||||
| new LogStreamHandler(attributes, | |||||
| Project.MSG_INFO, | |||||
| Project.MSG_WARN)); | |||||
| exe.setAntRun(project); | exe.setAntRun(project); | ||||
| exe.setWorkingDirectory(project.getBaseDir()); | exe.setWorkingDirectory(project.getBaseDir()); | ||||
| exe.setCommandline(commandArray); | exe.setCommandline(commandArray); | ||||
| @@ -65,6 +65,7 @@ import org.apache.tools.ant.types.Path; | |||||
| * This is primarily a cut-and-paste from the jikes. | * This is primarily a cut-and-paste from the jikes. | ||||
| * | * | ||||
| * @author <a href="mailto:tora@debian.org">Takashi Okamoto</a> | * @author <a href="mailto:tora@debian.org">Takashi Okamoto</a> | ||||
| * @since Ant 1.4 | |||||
| */ | */ | ||||
| public class Gcj extends DefaultCompilerAdapter { | public class Gcj extends DefaultCompilerAdapter { | ||||
| @@ -79,7 +80,8 @@ public class Gcj extends DefaultCompilerAdapter { | |||||
| int firstFileName = cmd.size(); | int firstFileName = cmd.size(); | ||||
| logAndAddFilesToCompile(cmd); | logAndAddFilesToCompile(cmd); | ||||
| return executeExternalCompile(cmd.getCommandline(), firstFileName) == 0; | |||||
| return | |||||
| executeExternalCompile(cmd.getCommandline(), firstFileName) == 0; | |||||
| } | } | ||||
| protected Commandline setupGCJCommand() { | protected Commandline setupGCJCommand() { | ||||
| @@ -113,7 +115,8 @@ public class Gcj extends DefaultCompilerAdapter { | |||||
| cmd.createArgument().setFile(destDir); | cmd.createArgument().setFile(destDir); | ||||
| if(destDir.mkdirs()){ | if(destDir.mkdirs()){ | ||||
| throw new BuildException("Can't make output directories. Maybe permission is wrong. "); | |||||
| throw new BuildException("Can't make output directories. " | |||||
| + "Maybe permission is wrong. "); | |||||
| }; | }; | ||||
| } | } | ||||
| @@ -1,7 +1,7 @@ | |||||
| /* | /* | ||||
| * The Apache Software License, Version 1.1 | * The Apache Software License, Version 1.1 | ||||
| * | * | ||||
| * Copyright (c) 2001 The Apache Software Foundation. All rights | |||||
| * Copyright (c) 2001-2002 The Apache Software Foundation. All rights | |||||
| * reserved. | * reserved. | ||||
| * | * | ||||
| * Redistribution and use in source and binary forms, with or without | * Redistribution and use in source and binary forms, with or without | ||||
| @@ -73,6 +73,8 @@ import java.lang.reflect.Method; | |||||
| * @author Robin Green <a href="mailto:greenrd@hotmail.com">greenrd@hotmail.com</a> | * @author Robin Green <a href="mailto:greenrd@hotmail.com">greenrd@hotmail.com</a> | ||||
| * @author <a href="mailto:stefan.bodewig@epost.de">Stefan Bodewig</a> | * @author <a href="mailto:stefan.bodewig@epost.de">Stefan Bodewig</a> | ||||
| * @author <a href="mailto:jayglanville@home.com">J D Glanville</a> | * @author <a href="mailto:jayglanville@home.com">J D Glanville</a> | ||||
| * | |||||
| * @since Ant 1.3 | |||||
| */ | */ | ||||
| public class Javac12 extends DefaultCompilerAdapter { | public class Javac12 extends DefaultCompilerAdapter { | ||||
| @@ -85,24 +87,33 @@ public class Javac12 extends DefaultCompilerAdapter { | |||||
| // Create an instance of the compiler, redirecting output to | // Create an instance of the compiler, redirecting output to | ||||
| // the project log | // the project log | ||||
| Class c = Class.forName("sun.tools.javac.Main"); | Class c = Class.forName("sun.tools.javac.Main"); | ||||
| Constructor cons = c.getConstructor(new Class[] { OutputStream.class, String.class }); | |||||
| Object compiler = cons.newInstance(new Object[] { logstr, "javac" }); | |||||
| Constructor cons = | |||||
| c.getConstructor(new Class[] { OutputStream.class, | |||||
| String.class }); | |||||
| Object compiler = cons.newInstance(new Object[] { logstr, | |||||
| "javac" }); | |||||
| // Call the compile() method | // Call the compile() method | ||||
| Method compile = c.getMethod("compile", new Class [] { String[].class }); | |||||
| Boolean ok = (Boolean)compile.invoke(compiler, new Object[] {cmd.getArguments()}); | |||||
| Method compile = c.getMethod("compile", | |||||
| new Class [] { String[].class }); | |||||
| Boolean ok = | |||||
| (Boolean)compile.invoke(compiler, | |||||
| new Object[] {cmd.getArguments()}); | |||||
| return ok.booleanValue(); | return ok.booleanValue(); | ||||
| } | } | ||||
| catch (ClassNotFoundException ex) { | catch (ClassNotFoundException ex) { | ||||
| throw new BuildException("Cannot use classic compiler, as it is not available"+ | |||||
| " A common solution is to set the environment variable"+ | |||||
| " JAVA_HOME to your jdk directory.", location); | |||||
| throw new BuildException("Cannot use classic compiler, as it is " | |||||
| + "not available. A common solution is " | |||||
| + "to set the environment variable" | |||||
| + " JAVA_HOME to your jdk directory.", | |||||
| location); | |||||
| } | } | ||||
| catch (Exception ex) { | catch (Exception ex) { | ||||
| if (ex instanceof BuildException) { | if (ex instanceof BuildException) { | ||||
| throw (BuildException) ex; | throw (BuildException) ex; | ||||
| } else { | } else { | ||||
| throw new BuildException("Error starting classic compiler: ", ex, location); | |||||
| throw new BuildException("Error starting classic compiler: ", | |||||
| ex, location); | |||||
| } | } | ||||
| } finally { | } finally { | ||||
| try { | try { | ||||
| @@ -1,7 +1,7 @@ | |||||
| /* | /* | ||||
| * The Apache Software License, Version 1.1 | * The Apache Software License, Version 1.1 | ||||
| * | * | ||||
| * Copyright (c) 2001 The Apache Software Foundation. All rights | |||||
| * Copyright (c) 2001-2002 The Apache Software Foundation. All rights | |||||
| * reserved. | * reserved. | ||||
| * | * | ||||
| * Redistribution and use in source and binary forms, with or without | * Redistribution and use in source and binary forms, with or without | ||||
| @@ -71,6 +71,8 @@ import java.lang.reflect.Method; | |||||
| * @author Robin Green <a href="mailto:greenrd@hotmail.com">greenrd@hotmail.com</a> | * @author Robin Green <a href="mailto:greenrd@hotmail.com">greenrd@hotmail.com</a> | ||||
| * @author <a href="mailto:stefan.bodewig@epost.de">Stefan Bodewig</a> | * @author <a href="mailto:stefan.bodewig@epost.de">Stefan Bodewig</a> | ||||
| * @author <a href="mailto:jayglanville@home.com">J D Glanville</a> | * @author <a href="mailto:jayglanville@home.com">J D Glanville</a> | ||||
| * | |||||
| * @since Ant 1.3 | |||||
| */ | */ | ||||
| public class Javac13 extends DefaultCompilerAdapter { | public class Javac13 extends DefaultCompilerAdapter { | ||||
| @@ -90,13 +92,15 @@ public class Javac13 extends DefaultCompilerAdapter { | |||||
| Method compile = c.getMethod ("compile", | Method compile = c.getMethod ("compile", | ||||
| new Class [] {(new String [] {}).getClass ()}); | new Class [] {(new String [] {}).getClass ()}); | ||||
| int result = ((Integer) compile.invoke | int result = ((Integer) compile.invoke | ||||
| (compiler, new Object[] {cmd.getArguments()})) .intValue (); | |||||
| (compiler, new Object[] {cmd.getArguments()})) | |||||
| .intValue (); | |||||
| return (result == MODERN_COMPILER_SUCCESS); | return (result == MODERN_COMPILER_SUCCESS); | ||||
| } catch (Exception ex) { | } catch (Exception ex) { | ||||
| if (ex instanceof BuildException) { | if (ex instanceof BuildException) { | ||||
| throw (BuildException) ex; | throw (BuildException) ex; | ||||
| } else { | } else { | ||||
| throw new BuildException("Error starting modern compiler", ex, location); | |||||
| throw new BuildException("Error starting modern compiler", | |||||
| ex, location); | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| @@ -1,7 +1,7 @@ | |||||
| /* | /* | ||||
| * The Apache Software License, Version 1.1 | * The Apache Software License, Version 1.1 | ||||
| * | * | ||||
| * Copyright (c) 2001 The Apache Software Foundation. All rights | |||||
| * Copyright (c) 2001-2002 The Apache Software Foundation. All rights | |||||
| * reserved. | * reserved. | ||||
| * | * | ||||
| * Redistribution and use in source and binary forms, with or without | * Redistribution and use in source and binary forms, with or without | ||||
| @@ -62,6 +62,7 @@ import org.apache.tools.ant.types.Commandline; | |||||
| * Performs a compile using javac externally. | * Performs a compile using javac externally. | ||||
| * | * | ||||
| * @author Brian Deitte | * @author Brian Deitte | ||||
| * @since Ant 1.4 | |||||
| */ | */ | ||||
| public class JavacExternal extends DefaultCompilerAdapter { | public class JavacExternal extends DefaultCompilerAdapter { | ||||
| @@ -77,7 +78,8 @@ public class JavacExternal extends DefaultCompilerAdapter { | |||||
| int firstFileName = cmd.size(); | int firstFileName = cmd.size(); | ||||
| logAndAddFilesToCompile(cmd); | logAndAddFilesToCompile(cmd); | ||||
| return executeExternalCompile(cmd.getCommandline(), firstFileName) == 0; | |||||
| return | |||||
| executeExternalCompile(cmd.getCommandline(), firstFileName) == 0; | |||||
| } | } | ||||
| } | } | ||||
| @@ -68,6 +68,7 @@ import org.apache.tools.ant.types.Commandline; | |||||
| * @author Robin Green <a href="mailto:greenrd@hotmail.com">greenrd@hotmail.com</a> | * @author Robin Green <a href="mailto:greenrd@hotmail.com">greenrd@hotmail.com</a> | ||||
| * @author <a href="mailto:stefan.bodewig@epost.de">Stefan Bodewig</a> | * @author <a href="mailto:stefan.bodewig@epost.de">Stefan Bodewig</a> | ||||
| * @author <a href="mailto:jayglanville@home.com">J D Glanville</a> | * @author <a href="mailto:jayglanville@home.com">J D Glanville</a> | ||||
| * @since Ant 1.3 | |||||
| */ | */ | ||||
| public class Jikes extends DefaultCompilerAdapter { | public class Jikes extends DefaultCompilerAdapter { | ||||
| @@ -172,10 +173,11 @@ public class Jikes extends DefaultCompilerAdapter { | |||||
| * that don't exist. As this is often the case, these | * that don't exist. As this is often the case, these | ||||
| * warning can be pretty annoying. | * warning can be pretty annoying. | ||||
| */ | */ | ||||
| String warningsProperty = project.getProperty("build.compiler.warnings"); | |||||
| String warningsProperty = | |||||
| project.getProperty("build.compiler.warnings"); | |||||
| if (warningsProperty != null) { | if (warningsProperty != null) { | ||||
| attributes.log("!! the build.compiler.warnings property is deprecated. !!", | |||||
| Project.MSG_WARN); | |||||
| attributes.log("!! the build.compiler.warnings property is " | |||||
| + "deprecated. !!", Project.MSG_WARN); | |||||
| attributes.log("!! Use the nowarn attribute instead. !!", | attributes.log("!! Use the nowarn attribute instead. !!", | ||||
| Project.MSG_WARN); | Project.MSG_WARN); | ||||
| if (!Project.toBoolean(warningsProperty)) { | if (!Project.toBoolean(warningsProperty)) { | ||||
| @@ -194,7 +196,8 @@ public class Jikes extends DefaultCompilerAdapter { | |||||
| /** | /** | ||||
| * Jikes can issue pedantic warnings. | * Jikes can issue pedantic warnings. | ||||
| */ | */ | ||||
| String pedanticProperty = project.getProperty("build.compiler.pedantic"); | |||||
| String pedanticProperty = | |||||
| project.getProperty("build.compiler.pedantic"); | |||||
| if (pedanticProperty != null && Project.toBoolean(pedanticProperty)) { | if (pedanticProperty != null && Project.toBoolean(pedanticProperty)) { | ||||
| cmd.createArgument().setValue("+P"); | cmd.createArgument().setValue("+P"); | ||||
| } | } | ||||
| @@ -204,8 +207,10 @@ public class Jikes extends DefaultCompilerAdapter { | |||||
| * checking", see the jikes documentation for differences | * checking", see the jikes documentation for differences | ||||
| * between -depend and +F. | * between -depend and +F. | ||||
| */ | */ | ||||
| String fullDependProperty = project.getProperty("build.compiler.fulldepend"); | |||||
| if (fullDependProperty != null && Project.toBoolean(fullDependProperty)) { | |||||
| String fullDependProperty = | |||||
| project.getProperty("build.compiler.fulldepend"); | |||||
| if (fullDependProperty != null | |||||
| && Project.toBoolean(fullDependProperty)) { | |||||
| cmd.createArgument().setValue("+F"); | cmd.createArgument().setValue("+F"); | ||||
| } | } | ||||
| @@ -219,7 +224,8 @@ public class Jikes extends DefaultCompilerAdapter { | |||||
| int firstFileName = cmd.size(); | int firstFileName = cmd.size(); | ||||
| logAndAddFilesToCompile(cmd); | logAndAddFilesToCompile(cmd); | ||||
| return executeExternalCompile(cmd.getCommandline(), firstFileName) == 0; | |||||
| return | |||||
| executeExternalCompile(cmd.getCommandline(), firstFileName) == 0; | |||||
| } | } | ||||
| @@ -1,7 +1,7 @@ | |||||
| /* | /* | ||||
| * The Apache Software License, Version 1.1 | * The Apache Software License, Version 1.1 | ||||
| * | * | ||||
| * Copyright (c) 2001 The Apache Software Foundation. All rights | |||||
| * Copyright (c) 2001-2002 The Apache Software Foundation. All rights | |||||
| * reserved. | * reserved. | ||||
| * | * | ||||
| * Redistribution and use in source and binary forms, with or without | * Redistribution and use in source and binary forms, with or without | ||||
| @@ -68,6 +68,7 @@ import org.apache.tools.ant.types.Commandline; | |||||
| * @author Robin Green <a href="mailto:greenrd@hotmail.com">greenrd@hotmail.com</a> | * @author Robin Green <a href="mailto:greenrd@hotmail.com">greenrd@hotmail.com</a> | ||||
| * @author <a href="mailto:stefan.bodewig@epost.de">Stefan Bodewig</a> | * @author <a href="mailto:stefan.bodewig@epost.de">Stefan Bodewig</a> | ||||
| * @author <a href="mailto:jayglanville@home.com">J D Glanville</a> | * @author <a href="mailto:jayglanville@home.com">J D Glanville</a> | ||||
| * @since Ant 1.3 | |||||
| */ | */ | ||||
| public class Jvc extends DefaultCompilerAdapter { | public class Jvc extends DefaultCompilerAdapter { | ||||
| @@ -135,6 +136,7 @@ public class Jvc extends DefaultCompilerAdapter { | |||||
| int firstFileName = cmd.size(); | int firstFileName = cmd.size(); | ||||
| logAndAddFilesToCompile(cmd); | logAndAddFilesToCompile(cmd); | ||||
| return executeExternalCompile(cmd.getCommandline(), firstFileName) == 0; | |||||
| return | |||||
| executeExternalCompile(cmd.getCommandline(), firstFileName) == 0; | |||||
| } | } | ||||
| } | } | ||||
| @@ -1,7 +1,7 @@ | |||||
| /* | /* | ||||
| * The Apache Software License, Version 1.1 | * The Apache Software License, Version 1.1 | ||||
| * | * | ||||
| * Copyright (c) 2001 The Apache Software Foundation. All rights | |||||
| * Copyright (c) 2001-2002 The Apache Software Foundation. All rights | |||||
| * reserved. | * reserved. | ||||
| * | * | ||||
| * Redistribution and use in source and binary forms, with or without | * Redistribution and use in source and binary forms, with or without | ||||
| @@ -69,7 +69,9 @@ import java.lang.reflect.Method; | |||||
| * This is primarily a cut-and-paste from Jikes.java and | * This is primarily a cut-and-paste from Jikes.java and | ||||
| * DefaultCompilerAdapter. | * DefaultCompilerAdapter. | ||||
| * | * | ||||
| * @author <a href="mailto:tora@debian.org">Takashi Okamoto</a> + */ | |||||
| * @author <a href="mailto:tora@debian.org">Takashi Okamoto</a> | |||||
| * @since Ant 1.4 | |||||
| */ | |||||
| public class Kjc extends DefaultCompilerAdapter { | public class Kjc extends DefaultCompilerAdapter { | ||||
| public boolean execute() throws BuildException { | public boolean execute() throws BuildException { | ||||
| @@ -82,20 +84,24 @@ public class Kjc extends DefaultCompilerAdapter { | |||||
| // Call the compile() method | // Call the compile() method | ||||
| Method compile = c.getMethod("compile", | Method compile = c.getMethod("compile", | ||||
| new Class [] { String [].class }); | new Class [] { String [].class }); | ||||
| Boolean ok = (Boolean)compile.invoke(null, | |||||
| new Object[] {cmd.getArguments()}); | |||||
| Boolean ok = | |||||
| (Boolean)compile.invoke(null, | |||||
| new Object[] {cmd.getArguments()}); | |||||
| return ok.booleanValue(); | return ok.booleanValue(); | ||||
| } | } | ||||
| catch (ClassNotFoundException ex) { | catch (ClassNotFoundException ex) { | ||||
| throw new BuildException("Cannot use kjc compiler, as it is not available"+ | |||||
| " A common solution is to set the environment variable"+ | |||||
| " CLASSPATH to your kjc archive (kjc.jar).", location); | |||||
| throw new BuildException("Cannot use kjc compiler, as it is not " | |||||
| + "available. A common solution is to " | |||||
| + "set the environment variable CLASSPATH " | |||||
| + "to your kjc archive (kjc.jar).", | |||||
| location); | |||||
| } | } | ||||
| catch (Exception ex) { | catch (Exception ex) { | ||||
| if (ex instanceof BuildException) { | if (ex instanceof BuildException) { | ||||
| throw (BuildException) ex; | throw (BuildException) ex; | ||||
| } else { | } else { | ||||
| throw new BuildException("Error starting kjc compiler: ", ex, location); | |||||
| throw new BuildException("Error starting kjc compiler: ", | |||||
| ex, location); | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| @@ -121,33 +127,33 @@ public class Kjc extends DefaultCompilerAdapter { | |||||
| // generate the clsspath | // generate the clsspath | ||||
| cmd.createArgument().setValue("-classpath"); | cmd.createArgument().setValue("-classpath"); | ||||
| Path cp = new Path(project); | |||||
| Path cp = new Path(project); | |||||
| // kjc don't have bootclasspath option. | |||||
| if (bootclasspath != null) { | |||||
| // kjc don't have bootclasspath option. | |||||
| if (bootclasspath != null) { | |||||
| cp.append(bootclasspath); | cp.append(bootclasspath); | ||||
| } | |||||
| if (extdirs != null) { | |||||
| } | |||||
| if (extdirs != null) { | |||||
| cp.addExtdirs(extdirs); | cp.addExtdirs(extdirs); | ||||
| } | |||||
| cp.append(classpath); | |||||
| cp.append(src); | |||||
| cmd.createArgument().setPath(cp); | |||||
| // kjc-1.5A doesn't support -encoding option now. | |||||
| } | |||||
| cp.append(classpath); | |||||
| cp.append(src); | |||||
| cmd.createArgument().setPath(cp); | |||||
| // kjc-1.5A doesn't support -encoding option now. | |||||
| // but it will be supported near the feature. | // but it will be supported near the feature. | ||||
| if (encoding != null) { | if (encoding != null) { | ||||
| cmd.createArgument().setValue("-encoding"); | cmd.createArgument().setValue("-encoding"); | ||||
| cmd.createArgument().setValue(encoding); | cmd.createArgument().setValue(encoding); | ||||
| } | } | ||||
| if (debug) { | if (debug) { | ||||
| cmd.createArgument().setValue("-g"); | cmd.createArgument().setValue("-g"); | ||||
| } | } | ||||
| if (optimize) { | if (optimize) { | ||||
| cmd.createArgument().setValue("-O2"); | cmd.createArgument().setValue("-O2"); | ||||
| } | } | ||||
| @@ -63,6 +63,7 @@ import org.apache.tools.ant.types.Commandline; | |||||
| * Uses the defaults for DefaultCompilerAdapter | * Uses the defaults for DefaultCompilerAdapter | ||||
| * | * | ||||
| * @author <a href="mailto:don@bea.com">Don Ferguson</a> | * @author <a href="mailto:don@bea.com">Don Ferguson</a> | ||||
| * @since Ant 1.4 | |||||
| */ | */ | ||||
| public class Sj extends DefaultCompilerAdapter { | public class Sj extends DefaultCompilerAdapter { | ||||
| @@ -77,7 +78,8 @@ public class Sj extends DefaultCompilerAdapter { | |||||
| int firstFileName = cmd.size() - compileList.length; | int firstFileName = cmd.size() - compileList.length; | ||||
| return executeExternalCompile(cmd.getCommandline(), firstFileName) == 0; | |||||
| return | |||||
| executeExternalCompile(cmd.getCommandline(), firstFileName) == 0; | |||||
| } | } | ||||