I’m working on the nested multi-projects as follows.
root
├── pjA
│ ├── pjA1
│ └── pjA2
├── pjB
│ ├── pjB1
│ └── pjB2
└── pjC
├── pjC1
└── pjC2
To run build tasks under specified subprojects, we will run the following commands. This builds pjA, pjB and all their subprojects (A1, A2, B1, B2).
./gradlew build -p pjA
./gradlew build -p pjB
I realized this takes much time, so decided to turn into a single command and use parallelism. Firstly I tried the following command.
./gradlew pjA:build pjB:build
But this does not build any subprojects of pjA and B. To do that, so I had to run this much longer command.
./gradlew pjA:build pjA:pjA1:build pjA:pjA2:build pjB:build pjB:pjB1:build pjB:pjB2:build
This is not convenient and changes must be made each time any subproject is added or removed.
If I could use -p
option more than once, I simply could write it this way…
./gradlew build -p pjA -p pjB
Is there any good solution?