|
|
|
I set the build version as your advice and then ran the follows:
1) Ran ConfigA, the build version of all of the configurations are 0 which was as expected. 2) Ran ConfigB and got an error because the variable, buildVersionOfA was not defined. Then I added the variable and ran ConfigB, the build number never changed. The issue is that the version of ConfigB and ConfigD is not bumped up when I run ConfigB. I misunderstood your intention previously. Below steps will do exactly what you want:
1. Assume A, B, C and D has a common ancestor configuration, say "P". In "P" define a variable say "version" with initial value set to "1" 2. In "P", define next build version as ${vars.getValue("upstreamVersion")!=null? vars.getValue("upstreamVersion"): vars.get("version").increase())} 3. In A, B, C and D, edit the next build version to have them inherit from "P" (note if "P" is not the direct parent, you will need to change all next build version in intermediate configurations to inherit from parent) 4. In "trigger other build" step of A, B and C, define variable "upstreamVersion" with value set to "${build.version}" Thank you very much, Robin. I am going to try this and will keep you informed.
The solution works great for me. Thank you very much for your help. The more I work on QuickBuild, the more I like it. It is one of the best CI tools.
May I ask another question if you don't mind? I have ConfigA, and ConfigB trigger ConfigC. The duration of ConfigA and ConfigB may be changed. How can I set up the configurations to make the last one finished trigger ConfigC? For example, if ConfigA finishes last than it will trigger ConfigC. If next time ConfigB finishes last than it will trigger ConfigC. Any advice is appreciated. Thank you in advance. I guess the underline logic is that C should not be fired before A or B finishes. If so, you may make C depends on A and B. And then fires C directly.
|
2. Configure B,C and D's build version as ${vars.getValue("buildVersionOfA")}
3. For every triggering step, define the triggering property "buildVersionOfA" with value set to ${build.version}