remm 2002/09/09 03:57:50
Modified: jasper2/src/share/org/apache/jasper/compiler Tag:
tomcat_4_branch Compiler.java
Log:
- Cleanup Ant path generation, as using Strings doesn't work correctly. This
is more resources intensive than before, but at least it now works fine on
Windows.
- Provides a workaround for bug 12387.
- Fixes problems if path contains spaces (may affect Unix also).
Revision Changes Path
No revision
No revision
1.18.2.5 +16 -10
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.18.2.4
retrieving revision 1.18.2.5
diff -u -r1.18.2.4 -r1.18.2.5
--- Compiler.java 8 Sep 2002 05:45:59 -0000 1.18.2.4
+++ Compiler.java 9 Sep 2002 10:57:50 -0000 1.18.2.5
@@ -77,6 +77,7 @@
import org.apache.tools.ant.Project;
import org.apache.tools.ant.taskdefs.Javac;
import org.apache.tools.ant.types.Path;
+import org.apache.tools.ant.types.PatternSet;
import org.apache.jasper.JspCompilationContext;
import org.apache.jasper.Constants;
@@ -238,8 +239,8 @@
* Compile the jsp file from the current engine context
*/
public void generateClass()
- throws FileNotFoundException, JasperException, Exception
- {
+ throws FileNotFoundException, JasperException, Exception {
+
String javaEncoding = ctxt.getOptions().getJavaEncoding();
String javaFileName = ctxt.getServletJavaFileName();
String classpath = ctxt.getClassPath();
@@ -258,17 +259,21 @@
// Initializing classpath
Path path = new Path(project);
- path.setPath(System.getProperty("java.class.path") + sep
- + classpath);
+ path.setPath(System.getProperty("java.class.path"));
+ StringTokenizer tokenizer = new StringTokenizer(classpath, sep);
+ while (tokenizer.hasMoreElements()) {
+ String pathElement = tokenizer.nextToken();
+ File repository = new File(pathElement);
+ path.setLocation(repository);
+ }
// Initializing sourcepath
Path srcPath = new Path(project);
- srcPath.setPath(options.getScratchDir().getAbsolutePath());
+ srcPath.setLocation(options.getScratchDir());
// Configure the compiler object
javac.setEncoding(javaEncoding);
javac.setClasspath(path);
- //javac.setDestdir(new File(options.getScratchDir().getAbsolutePath()));
javac.setDebug(ctxt.getOptions().getClassDebugInfo());
javac.setSrcdir(srcPath);
javac.setOptimize(! ctxt.getOptions().getClassDebugInfo() );
@@ -279,7 +284,8 @@
}
// Build includes path
- javac.setIncludes(ctxt.getJspPath());
+ PatternSet.NameEntry includes = javac.createInclude();
+ includes.setName(ctxt.getJspPath());
try {
javac.execute();
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>