Re: [PATCH] fix for javacc ant tasks to work with javacc 3.x (JavaCC. java and JJTree.java)

2003-07-11 Thread Paul Nasrat
On Fri, Jul 11, 2003 at 11:10:27AM -0400, Scot Floess wrote:
> 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)...

This is better fixed in CVS supporting JavaCC 2.1, 3,0 and 3.1, you should be
able to grab diffs against 1.5.3

http://cvs.apache.org/viewcvs.cgi/ant/src/main/org/apache/tools/ant/taskdefs/optional/javacc/

Paul

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



[PATCH] fix for javacc ant tasks to work with javacc 3.x (JavaCC. java and JJTree.java)

2003-07-11 Thread Scot Floess
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]