-
Suggestion
-
Resolution: Unresolved
-
None
-
None
-
0
-
1
-
The Maven Dependencies Processor (task) is pretty good at generating a list of Bamboo plan dependencies. The fly in the ointment is that the available dependency build triggers only go up the chain, not down.
For example, given a chain consisting of:
com.example.lib.core COREBUILD
com.example.lib.coolstuff COOLBUILD (depends on lib.core)
com.example.lib.niftystuff NIFTYBUILD (depends on lib.core and coolstuff)
com.example.lib.moneystuff MONEYBUILD (depends on lib.core)
com.example.srv.happysrv HAPPYBUILD (depends on lib.coolstuff, niftystuff and moneystuff)
If there's a change in the repository to niftystuff, I have the option to delay the building of NIFTYBUILD until its parents, COREBUILD and COOLBUILD, have completed building of any unbuilt changes. This ensures that NIFTYBUILD is extra nifty by incorporating any pending changes from the libraries that it depends on (lib.core and coolstuff).
What I don't have is the additional option of having Bamboo complete the NIFTYBUILD based on the commit, and based on the dependency chain generated by the Maven Dependencies Processor, trigger the dependent/child HAPPYBUILD. Even though one of its component libraries has changed, my normally happy server doesn't get rebuilt automatically unless I go into the manual dependency definition for each of its dependencies (COOLBUILD, NIFTYBUILD, MONEYBUILD), and add HAPPYBUILD as a child dependency.
Trigger builds for downstream maven dependency chain
-
Suggestion
-
Resolution: Unresolved
-
None
-
None
-
0
-
1
-
The Maven Dependencies Processor (task) is pretty good at generating a list of Bamboo plan dependencies. The fly in the ointment is that the available dependency build triggers only go up the chain, not down.
For example, given a chain consisting of:
com.example.lib.core COREBUILD
com.example.lib.coolstuff COOLBUILD (depends on lib.core)
com.example.lib.niftystuff NIFTYBUILD (depends on lib.core and coolstuff)
com.example.lib.moneystuff MONEYBUILD (depends on lib.core)
com.example.srv.happysrv HAPPYBUILD (depends on lib.coolstuff, niftystuff and moneystuff)
If there's a change in the repository to niftystuff, I have the option to delay the building of NIFTYBUILD until its parents, COREBUILD and COOLBUILD, have completed building of any unbuilt changes. This ensures that NIFTYBUILD is extra nifty by incorporating any pending changes from the libraries that it depends on (lib.core and coolstuff).
What I don't have is the additional option of having Bamboo complete the NIFTYBUILD based on the commit, and based on the dependency chain generated by the Maven Dependencies Processor, trigger the dependent/child HAPPYBUILD. Even though one of its component libraries has changed, my normally happy server doesn't get rebuilt automatically unless I go into the manual dependency definition for each of its dependencies (COOLBUILD, NIFTYBUILD, MONEYBUILD), and add HAPPYBUILD as a child dependency.