diff --git a/src/bin/ant b/src/bin/ant index 385d77fe6..bfe80973f 100644 --- a/src/bin/ant +++ b/src/bin/ant @@ -58,5 +58,14 @@ else echo " to the installation directory of java." fi +# supply JIKESPATH to Ant as jikes.class.path +if [ "$JIKESPATH" != "" ] ; then + if [ "$ANT_OPTS" != "" ] ; then + ANT_OPTS="$ANT_OPTS -Djikes.class.path=$JIKESPATH" + else + ANT_OPTS=-Djikes.class.path=$JIKESPATH + fi +fi + $JAVACMD -classpath $LOCALCLASSPATH -Dant.home=${ANT_HOME} $ANT_OPTS org.apache.tools.ant.Main $@ diff --git a/src/main/org/apache/tools/ant/taskdefs/Javac.java b/src/main/org/apache/tools/ant/taskdefs/Javac.java index 97405f07c..a59762122 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Javac.java +++ b/src/main/org/apache/tools/ant/taskdefs/Javac.java @@ -632,6 +632,12 @@ public class Javac extends MatchingTask { // will add it to classpath. classpath.append(src); + // if the user has set JIKESPATH we should add the contents as well + String jikesPath = System.getProperty("jikes.class.path"); + if (jikesPath != null) { + classpath.append(new Path(project, jikesPath)); + } + Vector argList = new Vector(); if (deprecation == true) @@ -690,6 +696,21 @@ public class Javac extends MatchingTask { warnings = false; } + /** + * Jikes can issue pedantic warnings. + */ + boolean pedantic = false; + String pedanticProperty = project.getProperty("build.compiler.pedantic"); + if (pedanticProperty != null && + (pedanticProperty.equalsIgnoreCase("on") || + pedanticProperty.equalsIgnoreCase("true")) + ) { + pedantic = true; + } + + if (pedantic) + argList.addElement("+P"); + if (emacsMode) argList.addElement("+E");