seguin      01/08/14 13:52:43

  Modified:    jasper/src/share/org/apache/jasper/compiler
                        JikesJavaCompiler.java
  Log:
  two fixes:
  
  1) normalize the classpath jikes is invoked with so that it
     doesn't contain file urls like "/c:/tomcat/webapps/..."
     on windows, which makes jikes barf.
  
  2) add +E option to jikes command line so that error output
     parsing works.
  
  Revision  Changes    Path
  1.5       +30 -4     
jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/JikesJavaCompiler.java
  
  Index: JikesJavaCompiler.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/JikesJavaCompiler.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- JikesJavaCompiler.java    2001/02/08 13:37:54     1.4
  +++ JikesJavaCompiler.java    2001/08/14 20:52:43     1.5
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/JikesJavaCompiler.java,v
 1.4 2001/02/08 13:37:54 glenn Exp $
  - * $Revision: 1.4 $
  - * $Date: 2001/02/08 13:37:54 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/JikesJavaCompiler.java,v
 1.5 2001/08/14 20:52:43 seguin Exp $
  + * $Revision: 1.5 $
  + * $Date: 2001/08/14 20:52:43 $
    *
    * ====================================================================
    *
  @@ -66,6 +66,7 @@
   import java.io.IOException;
   import java.io.File;
   import java.io.ByteArrayOutputStream;
  +import java.util.StringTokenizer;
   
   /**
     * A Plug-in class for specifying a 'jikes' compile.
  @@ -110,7 +111,30 @@
        * Set the class path for the compiler
        */ 
       public void setClasspath(String classpath) {
  -      this.classpath = classpath;
  +        //
  +        // normalize the paths in the classpath.  this
  +        // is really only an issue with jikes on windows.
  +        //
  +        // sometimes a path the looks like this:
  +        //    /c:/tomcat/webapps/WEB-INF/classes
  +        // will show up in the classpath.  in fact, this
  +        // *always* happens with tomcat4.  jikes on windows
  +        // will barf on this.  the following code will normalize
  +        // paths like this (all paths, actually) so that jikes
  +        // is happy :)
  +        //
  +        
  +        StringBuffer buf = new StringBuffer(classpath.length());
  +        StringTokenizer tok = new StringTokenizer(classpath,
  +                                                  File.pathSeparator);
  +        while (tok.hasMoreTokens()) {
  +            String token = tok.nextToken();
  +            File file = new File(token);
  +            buf.append(file.toString());
  +            buf.append(File.pathSeparator);
  +        }
  +        
  +        this.classpath = buf.toString();
       }
   
       /**
  @@ -162,6 +186,7 @@
                "-classpath", quote + classpath + MicrosoftClasspath + quote,
                "-d", quote + outdir + quote,
                "-nowarn",
  +                "+E",
                quote + source + quote
               };
        } else {
  @@ -170,6 +195,7 @@
                   //XXX - add encoding once Jikes supports it
                   "-classpath", quote + classpath + MicrosoftClasspath + quote,
                   "-nowarn",                
  +                "+E",
                   quote + source + quote    
               };
        }
  
  
  

Reply via email to