Does configuration injection make projects coupled? Because in the forums people say that configuration injection is okay because it is at configuration phase. Which is correct ?
Is there a way in which I can check the couplings which are existing?
As far as my understanding, to run build tasks in parallel, you either run it with --parallel OR change your gradle.properties to reflect org.gradle.parallel=true
coupling at configuration time (e.g. having a subprojects {} block): This has no effect on --parallel execution, but it interferes with --configure-on-demand
coupling at execution time (some task changes the configuration of another project or accesses an unsynchronized shared resource): This will break --parallel execution.
You can use either or both, it does not matter
No there is not. Do you have a specific use case in mind?
I have a main project. Which builds 3 libs, they shouldn’t be parallelized. Then after I have 4-5 android samples which uses those libs, I would just like to parallelize them (obivously, the number is going to keep on increasing from 4-5)
Why and how are they doing that? Can you give an example? If this cannot be avoided, you’ll have to build your own locking mechanism for those tasks to prevent them from running in parallel.
The build is broken down by tasks, not projects. The buildNativeRelease task of core does not depend on the buildNativeDebug build of baloon. They can be run in parallel.