Here's a simple example:
So what this shows is that A is dependent on B, C and D, which are all dependent on E. A, B, C, D share the same root. E is built from a different root, and is published to an artifactory. B, C and D can either be "Finish Build" triggered from E's TC build, or "Artifactory Build" triggered by new E artifacts.
I'm having trouble getting A to trigger correctly. If I use snapshot dependencies to B,C and D, A doesn't trigger when B, C and D rebuild due to a new E, even if when "Trigger on changes in snapshot dependencies" is selected.
If I use "Finish Build" triggers to B, C, and D, A always builds at least once, but sometimes multiple times if B, C, and D finish at different times. I've tried using the StartBuildPreconditions from the Groovy Plugin (http://confluence.jetbrains.net/display/TW/Groovy+plug), but that doesn't solve the entire problem. It keeps A from starting if any of B, C or D is still running. But if B, C, or D is in the queue, A starts anyway.
Thanks for any help you can provide.