We have a number of projects from separate repositories that are built, and ultimately combined to form a single SDK.
I was trying to orchestrate these from Gradle (using Gradle 4.3.1), and using GradleBuild tasks from a parent, orchestrator project.
Here are the dependencies:
ProjectPackageSdk - depends on Projects C & D
ProjectD - depends on Project B
ProjectB - depends on Project A
ProjectC - depends on Project A
ProjectA - no dependencies
So, when project A is built, B & C can both kick off (and do currently, via our Jenkins jobs). However, I find that in this case, the parent build with - the GradleBuild tasks - doesn’t seem to be doing them in parallel, despite there not being any dependencies listed beyond what you see above.
I can see that as the large project (B) is going on, the executors start going idle, and it is sitting at one or two, which are running some unit tests. During this period, it could/should be running tasks from Project C, especially if I were to configure it to use many, many executors.
Is this just not possible with GradleBuild tasks?
I originally thought I’d do this with composite builds, but it seems that the fact that we tweak the pom files makes that a no-go.