I don't know how you can do this. I've come across this before, and
haven't been able to come up with a solution. In the end, you have to
work with it. Either change the format so that it is something which
will be the same even if they are executed a few seconds apart, or
use revision numbers from scm, which will be the same.
If anyone knows how to prevent the modules from running the parent
plugin, please let us know. Actually, I wonder if you could specify
the plugin in the module poms again, but fiddle with the execution.
Does it override what the parent specifies? Does it execute in
addition to the parent? If it overrides, then you could change the
phase or get rid of the goal. You might be able to stop it that way.
Worth a shot.
J
On 24-Feb-07, at 12:19 PM, Enrique Gaona wrote:
Hi,
Anyone know how I can do this? Thanks
Enrique
How do you run a plugin the parent pom only once and have its
configuration
inherited by its children. I'm using the maven-buildnumber-
plugin in my
parent pom and when I run my build, this plugin gets executed on
every
child pom and I end up with different buildNumber ID.
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>maven-buildnumber-plugin</artifactId>
<version>0.9.4</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
<configuration>
<doCheck>false</doCheck>
<doUpdate>false</doUpdate>
<format>{0,date,yyyy-MM-dd
HH:mm:ss}</format>
<items>
<item>timestamp</item>
</items>
</configuration>
</plugin>
As you can see from the output, the both the parent and child pom.xml
executes the plugin ad the buildNumber gets changed. So,
basically, I
just want the plugin to run once and have the child poms inherit the
buildNumber. Is this doable? I tried using the
<inherited>false</inherited> in the parent pom, it executes the plugin
once, but the child poms do not get the buildNumber.
--
Julian Wood <[EMAIL PROTECTED]>
Software Engineer
Teaching & Learning Centre
University of Calgary
http://tlc.ucalgary.ca