conor       01/02/20 05:01:48

  Modified:    src/main/org/apache/tools/ant/taskdefs/optional/javacc Tag:
                        ANT_13_BRANCH JJTree.java
  Log:
  Bring task into line with documentation
  Put in workaround for JJTree bug/features
  
  Submitted by: Stephane Bailliez <[EMAIL PROTECTED]>
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.2.2.1   +13 -9     
jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/javacc/JJTree.java
  
  Index: JJTree.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/javacc/JJTree.java,v
  retrieving revision 1.2
  retrieving revision 1.2.2.1
  diff -u -r1.2 -r1.2.2.1
  --- JJTree.java       2001/01/03 14:18:42     1.2
  +++ JJTree.java       2001/02/20 13:01:45     1.2.2.1
  @@ -171,18 +171,22 @@
               cmdl.createArgument().setValue("-"+name+":"+value.toString());
           }
   
  -        // load command line with required attributes
  -        if (outputDirectory != null) {
  -            if (!outputDirectory.isDirectory()) {
  -                throw new BuildException("Outputdir not a directory.");
  -            }
  -            cmdl.createArgument().setValue(
  -                "-OUTPUT_DIRECTORY:"+outputDirectory.getAbsolutePath());
  -        }
  -
           if (target == null || !target.isFile()) {
               throw new BuildException("Invalid target: " + target);
           }
  +        
  +        // use the directory containing the target as the output directory
  +        if (outputDirectory == null) {
  +            outputDirectory = new File(target.getParent());
  +        }        
  +        if (!outputDirectory.isDirectory() ) {
  +            throw new BuildException("'outputdirectory' " + outputDirectory 
+ " is not a directory.");
  +        }
  +        // convert backslashes to slashes, otherwise jjtree will put this as
  +        // comments and this seems to confuse javacc
  +        cmdl.createArgument().setValue(
  +            
"-OUTPUT_DIRECTORY:"+outputDirectory.getAbsolutePath().replace('\\', '/'));
  +        
           final File javaFile = new File(
               target.toString().substring(0, 
target.toString().indexOf(".jjt")) + ".jj");
           if (javaFile.exists() && target.lastModified() < 
javaFile.lastModified()) {
  
  
  

Reply via email to