Simply replace ‘it.path == resumeTask’ with ‘it.path.startsWith(resumeTask)’. Then you can also resume from a project.
To implement correctly, we need to do something like…
-
re-order the task dependency (view of the graph, not actual graph) into project dependency
-
disable upstream dependency task
For example, if we have three project, p1, p2, p3
If if we say ‘gradlew test’ then it should look like
:p1:compile
:p2:compile
:p3:compile
:p1:testCompile
:p2:testCompile
:p3:testCompile
:p1:test
:p2:test
:p3:test
After reordering it will look like (not actual graph)
:p1:compile
:p1:testCompile
:p1:test
:p2:compile
:p2:testCompile
:p2:test
:p3:compile
:p3:testCompile
:p3:test
After disabling, it will look like (‘gradle test -Presume=:p2’)
:p1:compile (disabled)
:p2:compile
:p3:compile
:p1:testCompile (disabled)
:p2:testCompile
:p3:testCompile
:p1:test (disabled)
:p2:test
:p3:test
Doing this one is very hard since we don’t know how to re-order based on the project dependency.