You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by James Burlingame <jb...@adhesive.com> on 1999/11/19 21:18:12 UTC

PATCH: Ant javac with missing source directory

The ANT <javac ...> taskdef takes a NullPointerException if the
source directory does not exist.

Here is a testcase build.xml:

<project name="TestJavac" default="main" basedir=".">

  <property name="build.compiler" value="classic"/>

  <target name="TestJavac">
    <javac srcdir="path/does/not/exist" destdir="."/>
  </target>

  <target name="main" depends="TestJavac"/>

</project>


And here is a patch:

Index: Javac.java
===================================================================
RCS file:
/home/cvspublic/jakarta-tools/ant/src/main/org/apache/tools/ant/taskdefs/Jav
ac.java,v
retrieving revision 1.9
diff -c -r1.9 Javac.java
*** Javac.java  1999/11/15 23:24:25     1.9
--- Javac.java  1999/11/19 20:01:53
***************
*** 216,221 ****
--- 216,226 ----
      private void scanDir(File srcDir, File destDir) {

        String[] list = srcDir.list(new DesirableFilter());
+       if (list == null) {
+           project.log("Source directory " + srcDir.getAbsolutePath()
+                   + " does not exist.", Project.MSG_WARN);
+           return;
+       }
        for (int i = 0; i < list.length; i++) {
            String filename = list[i];
            File srcFile = new File(srcDir, filename);