Long story short: this makes it extremely explicit that you’re reaching to another project state You should avoid cross-project dependencies like this as much as possible. Can I ask the use case here to figure out if there’s a better way?
We use this for several things. Making sure that all dependant projects are assembled before featureTests are run, for example. Or making sure docker containers have been built for all involved projects when using the gradle-docker-compose plugin.
So basically using this mechanism as “gates”. We’re thinking of a better way to express this, which wouldn’t imply task dependencies. One option for you is to implement a Build Service to coordinate tasks.