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.000000000 -0400 +++ ./src/1.5.3.1/src/main/org/apache/tools/ant/taskdefs/optional/javacc/JavaCC.java 2003-07-08 16:46:58.000000000 -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.000000000 -0400 +++ ./src/1.5.3.1/src/main/org/apache/tools/ant/taskdefs/optional/javacc/JJTree.java 2003-07-09 09:44:19.000000000 -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]