Title: Message
The ant tasks do not
work with Javacc 3.x as the main class has changed as well as JavaCC.zip is no
longer used (it is not javacc.jar)...
---
./apache-ant-1.5.3-1/src/main/org/apache/tools/ant/taskdefs/optional/javacc/JavaCC.java
2003-04-16 05:28:26.0 -0400
+++
./src/1.5.3.1/src/main/org/apache/tools/ant/taskdefs/optional/javacc/JavaCC.java
2003-07-08 16:46:58.0 -0400
@@ -275,7 +275,7 @@
public JavaCC() {
cmdl.setVm(JavaEnvUtils.getJreExecutable("java"));
-cmdl.setClassname("COM.sun.labs.javacc.Main");
+//cmdl.setClassname("COM.sun.labs.javacc.Main");
}
public void execute() throws BuildException {
@@ -311,7 +311,7 @@
cmdl.createArgument().setValue(target.getAbsolutePath());
final Path classpath = cmdl.createClasspath(project);
-final File javaccJar = JavaCC.getArchiveFile(javaccHome);
+final File javaccJar = JavaCC.getArchiveFile(javaccHome,cmdl);
classpath.createPathElement().setPath(javaccJar.getAbsolutePath());
classpath.addJavaRuntime();
@@ -330,20 +330,29 @@
* could not be found despite attemps to do so.
* @return the file object pointing to the JavaCC archive.
*/
-protected static File getArchiveFile(File home) throws BuildException {
+protected static File getArchiveFile(File home,CommandlineJava cmdline)
throws BuildException {
if (home == null || !home.isDirectory()) {
throw new BuildException("JavaCC home must be a valid directory.");
}
// javacc prior to 2.0
File f = new File(home, "JavaCC.zip");
if (f.exists()){
+cmdline.setClassname("COM.sun.labs.javacc.Main");
return f;
}
// javacc install 2.0+
f = new File(home, "bin/lib/JavaCC.zip");
if (f.exists()){
+cmdline.setClassname("COM.sun.labs.javacc.Main");
return f;
}
+// javacc install 3.x+
+f = new File(home, "bin/lib/javacc.jar");
+if (f.exists()){
+cmdline.setClassname("org.javacc.parser.Main");
+ return f;
+}
+
throw new BuildException("Could not find a path to JavaCC.zip from '"
+ home + "'.");
}
---
./apache-ant-1.5.3-1/src/main/org/apache/tools/ant/taskdefs/optional/javacc/JJTree.java
2003-04-16 05:28:20.0 -0400
+++
./src/1.5.3.1/src/main/org/apache/tools/ant/taskdefs/optional/javacc/JJTree.java
2003-07-09 09:44:19.0 -0400
@@ -244,7 +244,7 @@
cmdl.createArgument().setValue(target.getAbsolutePath());
final Path classpath = cmdl.createClasspath(getProject());
-final File javaccJar = JavaCC.getArchiveFile(javaccHome);
+final File javaccJar = JavaCC.getArchiveFile(javaccHome,cmdl);
classpath.createPathElement().setPath(javaccJar.getAbsolutePath());
classpath.addJavaRuntime();
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]