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