On Sat, 2003-08-23 at 06:49, Leo Sutic wrote:
> Hi all,
>
> I have been trying Maven for the past week, and come up against two major
> difficulties:
>
>
> CODE GENERATOR
> --------------
> I have a code-generator task written for Ant that I'm trying to turn into
> a Maven plugin. Since it is a code generator, I need to do the following:
>
> 1. Run the code generator.
>
> 2. Compile the java source files and the files generated in step (1).
>
> I thought that defining a preoal for java:compile would do the trick, and
> this actually worked:
>
> 1. Use the maven.compile.src.set path to find source files, and feed
> these to the code generator.
>
> 2. The code generator uses the maven.build.dir property to output a
> temporary source tree to ${maven.build.dir}/generated
>
> 3. Add the ${maven.build.dir}/generated path to the maven.compile.src.set
> path via <maven:addPath/>.
>
> Then the java:compile goal will kick in and compile the original java
> source files along with the newly generated ones. So far so good, then -
> but then I moved the above code into a plugin (I had had it in the
> maven.xml of my project first), and suddenly I discovered the following:
>
> + maven.compile.src.set no longer available.
>
> + Adding the ${maven.build.dir}/generated path to the
> maven.compile.src.set path via <maven:addPath/> doesn't work. When
> java:compile kicks in the change has been rolled back.
>
> So my questions are:
>
> 1. How can I access the maven.compile.src.set property from a plugin?
>
> 2. How can I modify the maven.compile.src.set property from a plugin?
Look at the antlr plugin, there are examples of modifying
maven.compile.src.set. Basically antlr generates the specified sources
from a grammar and then appends the path containing the generated
sources to maven.compile.src.set.
>
> JAR TOOL
> --------
> I also have a tool that operates on the produced JAR file. So I defined a
> postGoal for jar:jar, and figured I'd use the
> ${maven.build.dir}/${maven.final.name}.jar path to find the jar that was
> just produced. However, this turned out not to work in the case when
> jar:jar was called from jar:snapshot. The <j:set/> done in jar:snapshot to
> set the jar's name to the snapshotSignature isn't visible from the
> postGoal.
>
> So my questions are:
>
> 1. Is there an easy way to add any post-processing of the jar file
> created by jar:jar?
You can do a postGoal. Do you want to modify the contents before the JAR
is produced? Or didn't the JAR once it has been produced?
> 2. Is there any way to find out the path of the jar created in jar:jar?
It is always:
<basedir>/target/${pom.artifactId}-${pom.currentVersion}.jar
> /LS
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
--
jvz.
Jason van Zyl
[EMAIL PROTECTED]
http://tambora.zenplex.org
In short, man creates for himself a new religion of a rational
and technical order to justify his work and to be justified in it.
-- Jacques Ellul, The Technological Society
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]