[jira] Commented: (JCR-116) JavaCC grammar generation to ${maven.build.dir}/generated-src

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] Commented: (JCR-116) JavaCC grammar generation to ${maven.build.dir}/generated-src

JIRA jira@apache.org
     [ http://issues.apache.org/jira/browse/JCR-116?page=comments#action_64743 ]
     
Jukka Zitting commented on JCR-116:
-----------------------------------

I believe that the IDE integration tools only look at the build/sourceDirectory element of project.xml. As Maven does not allow more than one source directory (they do have a good point for this), I unfortunately don't think that the configuration can be automated.

The generated sources are added to the internal Maven source path by the maven:addPath element in maven.xml of the attached patch. I don't know of any automated way to make the path externally visible.


> JavaCC grammar generation to ${maven.build.dir}/generated-src
> -------------------------------------------------------------
>
>          Key: JCR-116
>          URL: http://issues.apache.org/jira/browse/JCR-116
>      Project: Jackrabbit
>         Type: Wish
>   Components: maven, sql, xpath
>     Reporter: Jukka Zitting
>     Priority: Minor
>  Attachments: jackrabbit-javacc-target-patch.txt
>
> Currently the JavaCC grammars in src/grammar/{xpath,sql} are processed into Java source files in src/java/org/apache/jacrabbit/core/query/{xpath,sql} where we also have normal version controlled source files. This leads to the need to maintain special svn:ignore properties and also the more general issue of mixing manually written and automatically generated source files. Because of this the "maven clean" command does not (at the moment) truly restore your source tree to a "fresh checkout" state.
> I'm proposing (as a wish, you are free to disagree) that the JavaCC grammars be generated into Java files within the Maven build directory. The attached patch modifies the javacc maven goals to generate files into ${maven.build.dir}/generated-src. The modified prepare-filesystem goal also adds the generated source path ${maven.build.dir}/generated-src/main/java into the maven compile set so that the generated sources are included in the normal builds.
> PS. There are a couple of JavaCC generated files that have been intentionally modified for Jackrabbit. The ant:delete commands at the end of the jacrabbit:generate-*-parser goals specifically remove these generated files. It would however be nicer if custom modifications would not be needed.

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