[
https://issues.apache.org/jira/browse/LUCENE-4336?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13443644#comment-13443644
]
Uwe Schindler edited comment on LUCENE-4336 at 8/29/12 10:21 AM:
-----------------------------------------------------------------
Here the patch. The javacc task is a little bit complicated (needed some help
from blogs,...) because javacc.jar does not contain the ant task. The task is
shipped with ANT and ANT expects a attribute called "javacchome", that must
point to the home folder of an extracted javacc distribution (although it only
uses the JAR). <javacc/> looks inside this dir for bin/lib and inside this dir
for a file named javacc.jar (without version).
So we cannot use ivy:cachepath and ivy:retrieve is too unflexible (it allows to
setup directory layout, but filename always contains version).
The trick here is a "handwritten" resolve/rewrite:
- get ivy:cachefileset for javacc-5.0.jar artifact
- create a "fake" release folder in ${build.dir} and then copy the cachefileset
into it with a <mergemapper to="javacc.jar"/>.
- the javacc.home dir is then located in ${build.dir} and nuked on ant clean.
This patch also cleans up javacc at all. We only use javacc in the queryparser
module so I moved all ant logic there. I also removed some unused tasks and
properties.
I will commit soon.
was (Author: thetaphi):
Here the patch. The javacc task is a little bit complicated (needed some
help from blogs,...) because javacc.jar does not contain the ant task. The task
is shipped with ANT and ANT expects a attribute called "javacchome", that must
point to the folder of an extracte javacc distribution (although it only uses
the JAR). <javacc/> looks inside this dir for bin/lib and inside this dir for a
file named javacc.jar (without version).
So we cannot use cachepath and ivy:retrieve is too unflexible (it allows to
setup directory layout, but filename always contains version).
The trick here is a "handwritten" resolve/rewrite:
- get ivy:cachefileset for javacc-5.0.jar
- create a "fake" release folder in ${build.dir} and then copy the cachefileset
into it with the mergemapper (to javacc.jar).
This patch also cleans up javacc at all. We only use javacc in the queryparser
module so I moved all ant logic there. I also removed some unused tasks and
properties.
I will commit soon.
> javacc tasks should use ivy
> ---------------------------
>
> Key: LUCENE-4336
> URL: https://issues.apache.org/jira/browse/LUCENE-4336
> Project: Lucene - Core
> Issue Type: Task
> Reporter: Robert Muir
> Assignee: Uwe Schindler
> Attachments: LUCENE-4336.patch
>
>
> its a hassle to set this up currently. we should be able to
> just download javacc this way to run those tasks instead of
> making you download it yourself from the java.net site and
> setting build.properties options and stuff.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]