Our main Ant build target injects Jenkins build metadata (e.g., build 
number, build timestamp, etc.) into certain property values in a 
version-controlled Java property file (via the replaceregexp Ant task). 
This newly updated property file needs to be part of whatever changeset 
originally triggered the build. We use mercurial-server to host the master 
repository to which developers can push changes, and from which Jenkins 
(via the Jenkins Mercurial plugin) polls the repository to trigger builds. 
 
However, no matter which way I try to configure the Jenkins project to 
accomplish this, I can't seem to accomplish this. Typically what happens is 
that the updated Java property file is noticed as a new commit. For 
example, if my Jenkins project has the following build tasks: 

   - *Invoke Ant target*: *tagBuild* (this target performs the 
   aforementioned property file update to inject build metadata into certain 
   property values)
   - *Execute shell*: *hg ci -m "Jenkins tagging"* followed by *hg push* to 
   push the changes to the master repository
   - *Invoke Ant target*: *buildProject* to perform the actual Java project 
   build, etc.

Then, the next time the Mercurial SCM is polled, the updated Java property 
file gets noticed as a new change, thus triggering yet another Jenkins 
build. How can the updated Java property file with build metadata be 
included as part of the normal Mercurial build tag revision created by 
Jenkins? 
 
This seems like such a basic problem, yet its solution eludes me...

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to