Platform dependent path handling makes plugin fail on Windows
-------------------------------------------------------------

                 Key: MJAVACC-29
                 URL: http://jira.codehaus.org/browse/MJAVACC-29
             Project: Maven 2.x JavaCC Plugin
          Issue Type: Bug
    Affects Versions: 2.2
         Environment: Maven 2.0.7, JDK 1.5.0_12, WinXP
            Reporter: Benjamin Bentmann
            Priority: Blocker
         Attachments: path-handling.patch

The recent release breaks any existing builds when the plugin is used on a 
Windows machine:{code}[DEBUG] Configuring mojo 
'org.codehaus.mojo:javacc-maven-plugin:2.2:javacc' -->
[DEBUG]   (f) baseDir = X:\projects\framework
[DEBUG]   (f) outputDirectory = 
X:\projects\framework\target/generated-sources/javacc
[DEBUG]   (f) project = [EMAIL PROTECTED]
[DEBUG]   (f) sourceDirectory = X:\projects\framework/src/main/javacc
[DEBUG]   (f) staleMillis = 0
[DEBUG]   (f) timestampDirectory = 
X:\projects\framework\target/generated-sources/javacc-timestamp
[DEBUG] -- end configuration --
[INFO] [javacc:javacc {execution: default}]
[INFO] ------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO] ------------------------------------------------------------------------
[INFO] basedir X:\projects\framework\X:\projects\framework\src\main\javacc does 
not exist
[INFO] ------------------------------------------------------------------------
[DEBUG] Trace
java.lang.IllegalStateException: basedir 
X:\projects\framework\X:\projects\framework\src\main\javacc does not exist
        at 
org.codehaus.plexus.util.DirectoryScanner.scan(DirectoryScanner.java:542)
        at 
org.codehaus.plexus.compiler.util.scan.AbstractSourceInclusionScanner.scanForSources(AbstractSourceInclusionScanner.java:78)
        at 
org.codehaus.plexus.compiler.util.scan.StaleSourceScanner.getIncludedSources(StaleSourceScanner.java:84)
        at 
org.codehaus.mojo.javacc.JavaCCMojo.computeStaleGrammars(JavaCCMojo.java:486)
        at 
org.codehaus.mojo.javacc.JavaCCMojo.execute(JavaCCMojo.java:273){code}

This is due to the platform-dependent handling of path strings in the plugin. 
The attached patch provides a fix for the javacc mojo demonstrating proper file 
handling.

I do not want to sound arrogant but I strongly suggest to refactor the existing 
code to get rid of the copy&paste. For example, getAbsolutePath() (from the 
patch), computeStaleGrammars() and include/exclude support seem good candidates 
for an abstract superclass from which all other generator mojos inherit such 
that common functionality can be easily shared and maintained.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe from this list please visit:

    http://xircles.codehaus.org/manage_email

Reply via email to