remm        02/05/23 18:15:27

  Modified:    jasper2/src/share/org/apache/jasper/compiler Compiler.java
  Log:
  - Use Ant includes to only select one JSP file at a time for compilation.
  
  Revision  Changes    Path
  1.7       +31 -19    
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Compiler.java
  
  Index: Compiler.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Compiler.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- Compiler.java     23 May 2002 23:34:45 -0000      1.6
  +++ Compiler.java     24 May 2002 01:15:27 -0000      1.7
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Compiler.java,v
 1.6 2002/05/23 23:34:45 remm Exp $
  - * $Revision: 1.6 $
  - * $Date: 2002/05/23 23:34:45 $
  + * $Header: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Compiler.java,v
 1.7 2002/05/24 01:15:27 remm Exp $
  + * $Revision: 1.7 $
  + * $Date: 2002/05/24 01:15:27 $
    *
    * ====================================================================
    * 
  @@ -76,6 +76,7 @@
   import org.apache.jasper.JspCompilationContext;
   import org.apache.jasper.Constants;
   import org.apache.jasper.JasperException;
  +import org.apache.jasper.Options;
   import org.apache.jasper.logging.Logger;
   import org.apache.jasper.util.SystemLogHandler;
   
  @@ -112,6 +113,8 @@
   
       protected Project project;
   
  +    protected Options options;
  +
   
       // ------------------------------------------------------------ Constructor
   
  @@ -119,6 +122,7 @@
       public Compiler(JspCompilationContext ctxt) {
           this.ctxt = ctxt;
        this.errDispatcher = new ErrorDispatcher();
  +        this.options = ctxt.getOptions();
           // Initializing project
           project = new Project();
           project.init();
  @@ -139,10 +143,6 @@
   
           String javaFileName = ctxt.getServletJavaFileName();
   
  -        Constants.message("jsp.message.java_file_name_is",
  -                          new Object[] { javaFileName },
  -                          Logger.DEBUG);
  -
           // Setup the ServletWriter
        // We try UTF8 by default. If it fails, we use the java encoding 
        // specified for JspServlet init parameter "javaEncoding".
  @@ -158,8 +158,8 @@
            javaEncoding = ctxt.getOptions().getJavaEncoding();
            if (javaEncoding != null) {
                try {
  -                 osw = new OutputStreamWriter(
  -                           new FileOutputStream(javaFileName),javaEncoding);
  +                 osw = new OutputStreamWriter
  +                        (new FileOutputStream(javaFileName),javaEncoding);
                } catch (UnsupportedEncodingException ex2) {
                    // no luck :-(
                    errDispatcher.jspError("jsp.error.invalid.javaEncoding",
  @@ -198,25 +198,36 @@
           // Initializing javac task
           Javac javac = (Javac) project.createTask("javac");
   
  -        // Initializing paths
  +        // Initializing classpath
           Path path = new Path(project);
  -        Path srcPath = new Path(project);
  -
           path.setPath(System.getProperty("java.class.path") + sep
                        + classpath);
  -        srcPath.setPath(ctxt.getOutputDir());
   
  -        /*
  -         * Configure the compiler object
  -         */
  +        // Initializing sourcepath
  +        Path srcPath = new Path(project);
  +        srcPath.setPath(options.getScratchDir().getAbsolutePath());
  +
  +        // Configure the compiler object
           javac.setEncoding(javaEncoding);
           javac.setClasspath(path);
  -        if (ctxt.getJavacOutputDir() != null) {
  -            javac.setDestdir(new File(ctxt.getJavacOutputDir()));
  -        }
           javac.setDebug(ctxt.getOptions().getClassDebugInfo());
           javac.setSrcdir(srcPath);
   
  +        // Build includes path
  +        String dirName = ctxt.getJspFile();
  +        int pos = dirName.lastIndexOf('/');
  +        if (pos > 0) {
  +            dirName = dirName.substring(0, pos + 1);
  +        } else {
  +            dirName = "";
  +        }
  +        String includePath = dirName + ctxt.getServletClassName() + ".java";
  +        if (includePath.startsWith("/")) {
  +            includePath = includePath.substring(1);
  +        }
  +        javac.setIncludes(includePath);
  +
  +        // Start capturing the System.err output for this thread
           SystemLogHandler.setThread();
   
           try {
  @@ -225,6 +236,7 @@
               success = false;
           }
   
  +        // Stop capturing the System.err output for this thread
           errorReport = SystemLogHandler.unsetThread();
   
           if (!ctxt.keepGenerated()) {
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to