stefano     00/01/26 19:54:15

  Modified:    src/main/org/apache/tools/ant/taskdefs Javac.java
  Log:
  transformed tabs into spaces for more portable look
  
  Revision  Changes    Path
  1.2       +254 -259  
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.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Javac.java        2000/01/13 10:41:41     1.1
  +++ Javac.java        2000/01/27 03:54:15     1.2
  @@ -1,7 +1,7 @@
   /*
    * The Apache Software License, Version 1.1
    *
  - * Copyright (c) 1999 The Apache Software Foundation.  All rights 
  + * Copyright (c) 1999 The Apache Software Foundation.  All rights
    * reserved.
    *
    * Redistribution and use in source and binary forms, with or without
  @@ -9,7 +9,7 @@
    * are met:
    *
    * 1. Redistributions of source code must retain the above copyright
  - *    notice, this list of conditions and the following disclaimer. 
  + *    notice, this list of conditions and the following disclaimer.
    *
    * 2. Redistributions in binary form must reproduce the above copyright
    *    notice, this list of conditions and the following disclaimer in
  @@ -17,15 +17,15 @@
    *    distribution.
    *
    * 3. The end-user documentation included with the redistribution, if
  - *    any, must include the following acknowlegement:  
  - *       "This product includes software developed by the 
  + *    any, must include the following acknowlegement:
  + *       "This product includes software developed by the
    *        Apache Software Foundation (http://www.apache.org/)."
    *    Alternately, this acknowlegement may appear in the software itself,
    *    if and wherever such third-party acknowlegements normally appear.
    *
    * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
    *    Foundation" must not be used to endorse or promote products derived
  - *    from this software without prior written permission. For written 
  + *    from this software without prior written permission. For written
    *    permission, please contact [EMAIL PROTECTED]
    *
    * 5. Products derived from this software may not be called "Apache"
  @@ -105,24 +105,24 @@
       /**
        * Set the source dir to find the source Java files.
        */
  -    
  +
       public void setSrcdir(String srcDirName) {
  -     srcDir = project.resolveFile(srcDirName);
  +        srcDir = project.resolveFile(srcDirName);
       }
   
       /**
        * Set the destination directory into which the Java source
        * files should be compiled.
        */
  -    
  +
       public void setDestdir(String destDirName) {
  -     destDir = project.resolveFile(destDirName);
  +        destDir = project.resolveFile(destDirName);
       }
   
       /**
        * Set the classpath to be used for this compilation.
        */
  -    
  +
       public void setClasspath(String classpath) {
           compileClasspath = Project.translatePath(classpath);
       }
  @@ -131,8 +131,8 @@
        * Sets the bootclasspath that will be used to compile the classes
        * against.
        */
  -    
  -    public void setBootclasspath(String bootclasspath) {        
  +
  +    public void setBootclasspath(String bootclasspath) {
           this.bootclasspath = Project.translatePath(bootclasspath);
       }
   
  @@ -140,36 +140,31 @@
        * Sets the extension directories that will be used during the
        * compilation.
        */
  -    
  +
       public void setExtdirs(String extdirs) {
           this.extdirs = Project.translatePath(extdirs);
       }
   
  -    
  +
       /**
        * Set the deprecation flag. Valid strings are "on", "off", "true", and
        * "false".
        */
  -    
  +
       public void setDeprecation(String deprecation) {
  -        if (deprecation.equalsIgnoreCase("on") ||
  -            deprecation.equalsIgnoreCase("true")) {
  -            this.deprecation = true;
  -        } else {
  -            this.deprecation = false;
  -        }
  +        this.deprecation = Project.toBoolean(deprecation);
       }
  -    
  -    
  +
  +
       /**
        * Set the debug flag. Valid strings are "on", "off", "true", and 
"false".
        */
  -    
  +
       public void setDebug(String debugString) {
  -     if (debugString.equalsIgnoreCase("on") ||
  +        if (debugString.equalsIgnoreCase("on") ||
               debugString.equalsIgnoreCase("true")) {
  -         debug = true;
  -     } else {
  +            debug = true;
  +        } else {
               debug = false;
           }
       }
  @@ -180,19 +175,19 @@
        */
   
        public void setOptimize(String optimizeString) {
  -      if (optimizeString.equalsIgnoreCase("on") ||
  -          optimizeString.equalsIgnoreCase("true")) {
  -          optimize = true;
  -      } else {
  -          optimize = false;
  -      }
  +         if (optimizeString.equalsIgnoreCase("on") ||
  +             optimizeString.equalsIgnoreCase("true")) {
  +             optimize = true;
  +         } else {
  +             optimize = false;
  +         }
        }
   
       /**
        * Sets the target VM that the classes will be compiled for. Valid
        * strings are "1.1", "1.2", and "1.3".
        */
  -    
  +
       public void setTarget(String target) {
           this.target = target;
       }
  @@ -200,103 +195,103 @@
       /**
        * Executes the task.
        */
  -    
  +
       public void execute() throws BuildException {
  +
  +        // first off, make sure that we've got a srcdir and destdir
  +
  +        if (srcDir == null || destDir == null ) {
  +            String msg = "srcDir and destDir attributes must be set!";
  +            throw new BuildException(msg);
  +        }
  +
  +        // scan source and dest dirs to build up both copy lists and
  +        // compile lists
   
  -     // first off, make sure that we've got a srcdir and destdir
  +        scanDir(srcDir, destDir);
   
  -     if (srcDir == null || destDir == null ) {
  -         String msg = "srcDir and destDir attributes must be set!";
  -         throw new BuildException(msg);
  -     }
  -
  -     // scan source and dest dirs to build up both copy lists and
  -     // compile lists
  -
  -     scanDir(srcDir, destDir);
  -     
  -     // compile the source files
  -
  -     String compiler = project.getProperty("build.compiler");
  -     if (compiler == null) {
  -         if (Project.getJavaVersion().startsWith("1.3")) {
  -             compiler = "modern";
  -         } else {
  -             compiler = "classic";
  -         }
  -     }
  +        // compile the source files
   
  -     if (compileList.size() > 0) {
  +        String compiler = project.getProperty("build.compiler");
  +        if (compiler == null) {
  +            if (Project.getJavaVersion().startsWith("1.3")) {
  +                compiler = "modern";
  +            } else {
  +                compiler = "classic";
  +            }
  +        }
  +
  +        if (compileList.size() > 0) {
               project.log("Compiling " + compileList.size() +
  -                     " source files to " + destDir);
  -         
  -         if (compiler.equalsIgnoreCase("classic")) {
  -             doClassicCompile();
  -         } else if (compiler.equalsIgnoreCase("modern")) {
  -             doModernCompile();
  -         } else if (compiler.equalsIgnoreCase("jikes")) {
  -             doJikesCompile();
  -         } else {
  -             String msg = "Don't know how to use compiler " + compiler;
  -             throw new BuildException(msg);
  -         }
  -     }
  -     
  -     // copy the support files
  -
  -     if (filecopyList.size() > 0) {
  -         project.log("Copying " + filecopyList.size() +
  -                     " support files to " + destDir.getAbsolutePath());
  -         Enumeration enum = filecopyList.keys();
  -         while (enum.hasMoreElements()) {
  -             String fromFile = (String)enum.nextElement();
  -             String toFile = (String)filecopyList.get(fromFile);
  -             try {
  -                 copyFile(fromFile, toFile);
  -             } catch (IOException ioe) {
  -                 String msg = "Failed to copy " + fromFile + " to " + toFile
  -                     + " due to " + ioe.getMessage();
  -                 throw new BuildException(msg);
  -             }
  -         }
  -     }
  +                        " source files to " + destDir);
  +
  +            if (compiler.equalsIgnoreCase("classic")) {
  +                doClassicCompile();
  +            } else if (compiler.equalsIgnoreCase("modern")) {
  +                doModernCompile();
  +            } else if (compiler.equalsIgnoreCase("jikes")) {
  +                doJikesCompile();
  +            } else {
  +                String msg = "Don't know how to use compiler " + compiler;
  +                throw new BuildException(msg);
  +            }
  +        }
  +
  +        // copy the support files
  +
  +        if (filecopyList.size() > 0) {
  +            project.log("Copying " + filecopyList.size() +
  +                        " support files to " + destDir.getAbsolutePath());
  +            Enumeration enum = filecopyList.keys();
  +            while (enum.hasMoreElements()) {
  +                String fromFile = (String)enum.nextElement();
  +                String toFile = (String)filecopyList.get(fromFile);
  +                try {
  +                    copyFile(fromFile, toFile);
  +                } catch (IOException ioe) {
  +                    String msg = "Failed to copy " + fromFile + " to " + 
toFile
  +                        + " due to " + ioe.getMessage();
  +                    throw new BuildException(msg);
  +                }
  +            }
  +        }
       }
   
       /**
        * Scans the directory looking for source files to be compiled and
        * support files to be copied.
        */
  -    
  +
       private void scanDir(File srcDir, File destDir) {
   
  -     String[] list = srcDir.list(new DesirableFilter());
  -     int len = (list==null ? 0 : list.length);
  -     for (int i = 0; i < len; i++) {
  -         String filename = list[i];
  -         File srcFile = new File(srcDir, filename);
  -         File destFile = new File(destDir, filename);
  -         if (srcFile.isDirectory()) {
  -             // it's a dir, scan that recursively
  -             scanDir(srcFile, destFile);
  -         } else {
  -             // it's a file, see if we compile it or just copy it
  -             if (filename.endsWith(".java")) {
  -                 File classFile =
  -                     new File(destDir,
  -                              filename.substring(0,
  -                                                 filename.indexOf(".java"))
  -                                                 + ".class");
  -                 if (srcFile.lastModified() > classFile.lastModified()) {
  -                     compileList.addElement(srcFile.getAbsolutePath());
  -                 }
  -             } else {
  -                 if (srcFile.lastModified() > destFile.lastModified()) {
  -                     filecopyList.put(srcFile.getAbsolutePath(),
  -                                      destFile.getAbsolutePath());
  -                 }
  -             }
  -         }
  -     }
  +        String[] list = srcDir.list(new DesirableFilter());
  +        int len = (list==null ? 0 : list.length);
  +        for (int i = 0; i < len; i++) {
  +            String filename = list[i];
  +            File srcFile = new File(srcDir, filename);
  +            File destFile = new File(destDir, filename);
  +            if (srcFile.isDirectory()) {
  +                // it's a dir, scan that recursively
  +                scanDir(srcFile, destFile);
  +            } else {
  +                // it's a file, see if we compile it or just copy it
  +                if (filename.endsWith(".java")) {
  +                    File classFile =
  +                        new File(destDir,
  +                                 filename.substring(0,
  +                                                    
filename.indexOf(".java"))
  +                                                    + ".class");
  +                    if (srcFile.lastModified() > classFile.lastModified()) {
  +                        compileList.addElement(srcFile.getAbsolutePath());
  +                    }
  +                } else {
  +                    if (srcFile.lastModified() > destFile.lastModified()) {
  +                        filecopyList.put(srcFile.getAbsolutePath(),
  +                                         destFile.getAbsolutePath());
  +                    }
  +                }
  +            }
  +        }
       }
   
       /**
  @@ -305,30 +300,30 @@
   
       // XXX
       // we need a way to not use the current classpath.
  -    
  +
       private String getCompileClasspath() {
  -     StringBuffer classpath = new StringBuffer();
  +        StringBuffer classpath = new StringBuffer();
   
  -     // add dest dir to classpath so that previously compiled and
  -     // untouched classes are on classpath
  +        // add dest dir to classpath so that previously compiled and
  +        // untouched classes are on classpath
   
  -     //classpath.append(sourceDir.getAbsolutePath());
  -     //classpath.append(File.pathSeparator);
  -     classpath.append(destDir.getAbsolutePath());
  +        //classpath.append(sourceDir.getAbsolutePath());
  +        //classpath.append(File.pathSeparator);
  +        classpath.append(destDir.getAbsolutePath());
   
  -     // add our classpath to the mix
  +        // add our classpath to the mix
   
  -     if (compileClasspath != null) {
  +        if (compileClasspath != null) {
               addExistingToClasspath(classpath,compileClasspath);
  -     }
  +        }
   
  -     // add the system classpath
  +        // add the system classpath
   
           
addExistingToClasspath(classpath,System.getProperty("java.class.path"));
  -     return classpath.toString();
  +        return classpath.toString();
       }
  -    
   
  +
        /**
        * Takes a classpath-like string, and adds each element of
        * this string to a new classpath, if the components exist.
  @@ -362,92 +357,92 @@
        * Peforms a copmile using the classic compiler that shipped with
        * JDK 1.1 and 1.2.
        */
  -    
  +
       private void doClassicCompile() throws BuildException {
  -     project.log("Using classic compiler", project.MSG_VERBOSE);
  -     String classpath = getCompileClasspath();
  -     Vector argList = new Vector();
  +        project.log("Using classic compiler", project.MSG_VERBOSE);
  +        String classpath = getCompileClasspath();
  +        Vector argList = new Vector();
   
           if (deprecation == true)
               argList.addElement("-deprecation");
  -        
  -     argList.addElement("-d");
  -     argList.addElement(destDir.getAbsolutePath());
  -     argList.addElement("-classpath");
  -     // Just add "sourcepath" to classpath ( for JDK1.1 )
  -     if (Project.getJavaVersion().startsWith("1.1")) {
  -         argList.addElement(classpath + File.pathSeparator +
  +
  +        argList.addElement("-d");
  +        argList.addElement(destDir.getAbsolutePath());
  +        argList.addElement("-classpath");
  +        // Just add "sourcepath" to classpath ( for JDK1.1 )
  +        if (Project.getJavaVersion().startsWith("1.1")) {
  +            argList.addElement(classpath + File.pathSeparator +
                                  srcDir.getAbsolutePath());
  -     } else {
  -         argList.addElement(classpath);
  -         argList.addElement("-sourcepath");
  -         argList.addElement(srcDir.getAbsolutePath());
  +        } else {
  +            argList.addElement(classpath);
  +            argList.addElement("-sourcepath");
  +            argList.addElement(srcDir.getAbsolutePath());
               if (target != null) {
                   argList.addElement("-target");
                   argList.addElement(target);
               }
  -     }
  -     if (debug) {
  -         argList.addElement("-g");
  -     }
  -     if (optimize) {
  -         argList.addElement("-O");
  -     }
  -     if (bootclasspath != null) {
  -         argList.addElement("-bootclasspath");
  -         argList.addElement(bootclasspath);
  -     }
  -     if (extdirs != null) {
  -         argList.addElement("-extdirs");
  -         argList.addElement(extdirs);
  -     }
  -
  -     project.log("Compilation args: " + argList.toString(),
  -                 project.MSG_VERBOSE);
  -     
  -     String[] args = new String[argList.size() + compileList.size()];
  -     int counter = 0; 
  -     
  -     for (int i = 0; i < argList.size(); i++) {
  -         args[i] = (String)argList.elementAt(i);
  -         counter++;
  -     }
  -
  -     // XXX
  -     // should be using system independent line feed!
  -     
  -     StringBuffer niceSourceList = new StringBuffer("Files to be compiled:"
  -                                                    + "\r\n");
  -
  -     Enumeration enum = compileList.elements();
  -     while (enum.hasMoreElements()) {
  -         args[counter] = (String)enum.nextElement();
  -         niceSourceList.append("    " + args[counter] + "\r\n");
  -         counter++;
  -     }
  +        }
  +        if (debug) {
  +            argList.addElement("-g");
  +        }
  +        if (optimize) {
  +            argList.addElement("-O");
  +        }
  +        if (bootclasspath != null) {
  +            argList.addElement("-bootclasspath");
  +            argList.addElement(bootclasspath);
  +        }
  +        if (extdirs != null) {
  +            argList.addElement("-extdirs");
  +            argList.addElement(extdirs);
  +        }
   
  -     project.log(niceSourceList.toString(), project.MSG_VERBOSE);
  +        project.log("Compilation args: " + argList.toString(),
  +                    project.MSG_VERBOSE);
   
  -     // XXX
  -     // provide the compiler a different message sink - namely our own
  +        String[] args = new String[argList.size() + compileList.size()];
  +        int counter = 0;
   
  +        for (int i = 0; i < argList.size(); i++) {
  +            args[i] = (String)argList.elementAt(i);
  +            counter++;
  +        }
  +
  +        // XXX
  +        // should be using system independent line feed!
  +
  +        StringBuffer niceSourceList = new StringBuffer("Files to be 
compiled:"
  +                                                       + "\r\n");
  +
  +        Enumeration enum = compileList.elements();
  +        while (enum.hasMoreElements()) {
  +            args[counter] = (String)enum.nextElement();
  +            niceSourceList.append("    " + args[counter] + "\r\n");
  +            counter++;
  +        }
  +
  +        project.log(niceSourceList.toString(), project.MSG_VERBOSE);
  +
  +        // XXX
  +        // provide the compiler a different message sink - namely our own
  +
           JavacOutputStream jos = new JavacOutputStream(project);
  -        
  -     sun.tools.javac.Main compiler =
  -         new sun.tools.javac.Main(jos, "javac");
  -     compiler.compile(args);
  +
  +        sun.tools.javac.Main compiler =
  +            new sun.tools.javac.Main(jos, "javac");
  +        compiler.compile(args);
           if (jos.getErrorFlag()) {
               String msg = "Compile failed, messages should have been 
provided.";
               throw new BuildException(msg);
           }
  -    } 
  +    }
   
       /**
        * Performs a compile using the newer compiler that ships with JDK 1.3
        */
  -    
  +
       private void doModernCompile() throws BuildException {
  -     project.log("Performing a Modern Compile");
  +        project.log("Performing a Modern Compile");
       }
   
       /**
  @@ -462,34 +457,34 @@
        *
        * @author [EMAIL PROTECTED]
        */
  -    
  +
       private void doJikesCompile() throws BuildException {
  -     project.log("Using jikes compiler",project.MSG_VERBOSE);
  -     String classpath = getCompileClasspath();
  -     Vector argList = new Vector();
  -
  -     if (deprecation == true)
  -         argList.addElement("-deprecation");
  -     
  -     // We want all output on stdout to make
  -     // parsing easier
  -     argList.addElement("-Xstdout");
  -     
  -     argList.addElement("-d");
  -     argList.addElement(destDir.getAbsolutePath());
  -     argList.addElement("-classpath");
  -     // Jikes has no option for source-path so we
  -     // will add it to classpath.
  -     // XXX is this correct?
  -     argList.addElement(classpath+File.pathSeparator +
  -                        srcDir.getAbsolutePath());
  -     if (debug) {
  -         argList.addElement("-g");
  -     }
  -     if (optimize) {
  -         argList.addElement("-O");
  -     }
  +        project.log("Using jikes compiler",project.MSG_VERBOSE);
  +        String classpath = getCompileClasspath();
  +        Vector argList = new Vector();
  +
  +        if (deprecation == true)
  +            argList.addElement("-deprecation");
   
  +        // We want all output on stdout to make
  +        // parsing easier
  +        argList.addElement("-Xstdout");
  +
  +        argList.addElement("-d");
  +        argList.addElement(destDir.getAbsolutePath());
  +        argList.addElement("-classpath");
  +        // Jikes has no option for source-path so we
  +        // will add it to classpath.
  +        // XXX is this correct?
  +        argList.addElement(classpath+File.pathSeparator +
  +                           srcDir.getAbsolutePath());
  +        if (debug) {
  +            argList.addElement("-g");
  +        }
  +        if (optimize) {
  +            argList.addElement("-O");
  +        }
  +
          /**
           * XXX
           * Perhaps we shouldn't use properties for these
  @@ -532,43 +527,43 @@
   
          if (!warnings)
              argList.addElement("-nowarn");
  -     
  -     project.log("Compilation args: " + argList.toString(),
  -                 project.MSG_VERBOSE);
  -     
  -     String[] args = new String[argList.size() + compileList.size()];
  -     int counter = 0; 
  -     
  -     for (int i = 0; i < argList.size(); i++) {
  -         args[i] = (String)argList.elementAt(i);
  -         counter++;
  -     }
  -
  -     // XXX
  -     // should be using system independent line feed!
  -     
  -     StringBuffer niceSourceList = new StringBuffer("Files to be compiled:"
  -                                                    + "\r\n");
  -
  -     Enumeration enum = compileList.elements();
  -     while (enum.hasMoreElements()) {
  -         args[counter] = (String)enum.nextElement();
  -         niceSourceList.append("    " + args[counter] + "\r\n");
  -         counter++;
  -     }
  -
  -     project.log(niceSourceList.toString(), project.MSG_VERBOSE);
  -
  -     // XXX
  -     // provide the compiler a different message sink - namely our own
  -     
  -     JikesOutputParser jop = new JikesOutputParser(project,emacsMode);
  -     
  -     Jikes compiler = new Jikes(jop,"jikes");
  -     compiler.compile(args);
  -     if (jop.getErrorFlag()) {
  -         String msg = "Compile failed, messages should have been provided.";
  -         throw new BuildException(msg);
  -     }
  +
  +        project.log("Compilation args: " + argList.toString(),
  +                    project.MSG_VERBOSE);
  +
  +        String[] args = new String[argList.size() + compileList.size()];
  +        int counter = 0;
  +
  +        for (int i = 0; i < argList.size(); i++) {
  +            args[i] = (String)argList.elementAt(i);
  +            counter++;
  +        }
  +
  +        // XXX
  +        // should be using system independent line feed!
  +
  +        StringBuffer niceSourceList = new StringBuffer("Files to be 
compiled:"
  +                                                       + "\r\n");
  +
  +        Enumeration enum = compileList.elements();
  +        while (enum.hasMoreElements()) {
  +            args[counter] = (String)enum.nextElement();
  +            niceSourceList.append("    " + args[counter] + "\r\n");
  +            counter++;
  +        }
  +
  +        project.log(niceSourceList.toString(), project.MSG_VERBOSE);
  +
  +        // XXX
  +        // provide the compiler a different message sink - namely our own
  +
  +        JikesOutputParser jop = new JikesOutputParser(project,emacsMode);
  +
  +        Jikes compiler = new Jikes(jop,"jikes");
  +        compiler.compile(args);
  +        if (jop.getErrorFlag()) {
  +            String msg = "Compile failed, messages should have been 
provided.";
  +            throw new BuildException(msg);
  +        }
       }
   }
  
  
  

Reply via email to