Gradle task of project depend on task of other project

android, gradle

Solution

From the parent build.gradle file you can state:

tasks.getByPath(':appA:connectedInstrumentTest').dependsOn(':appB:installDebug')

Or within appA's build.gradle you can add this line:

connectedInstrumentTest.dependsOn(':appB:installDebug')

Or an equivalent way to say the same thing in appA's build.gradle:

connectedInstrumentTest {
   dependsOn: ':appB:installDebug'
}

Problem

I have an android project with two different apps. This is my current structure: ``` appA/ buid.gradle ... appB/ buid.gradle ... settings.gradle gradlew ``` settings.gradle is the following: ``` include ':appA' include ':appB' ``` To test appA, appB needs to be installed on the emulator. Right now everything works if I first install both apps and then run appA tests ``` ./gradlew installDebug # install both apps apks ./gradlew connectedInstrumentTest # runs tests on both apps (appB does not have any) ``` How can I explicitly say that connecedInstrumentTest of appA dependes on installDebug of appB?

Original source