Как запустить сценарии до и после подключенного DebugAndroidTest - PullRequest
1 голос
/ 03 апреля 2019

Я хочу запустить bash-скрипт из задачи (в build.gradle) до начала тестов Instrumentation.Этот скрипт должен запускать докер-контейнер, который содержит фиктивный сервер на основе ruby.

Я не знаю, почему я не могу его получить, но это все, что у меня есть (помещено в мой build.gradle):

task startMock(type:Exec) {
    println("Executing myScript")
    def proc = "cd ../..".execute()
    proc.waitForProcessOutput(System.out, System.err)

    proc = "../scripts/_mock.sh -a start -p ${projectDir}/../../ -m deps/mock-config".execute()
    proc.waitForProcessOutput(System.out, System.err)
}

gradle.projectsEvaluated {
    connectedDebugAndroidTest.dependsOn startMock
}

Проблема в том, что Задача запускается всегда, а не только при вызове connectedDebugAndroidTest (или connectCheck) ...

Я в замешательстве и ценю любую помощь :)Может быть, кто-то может дать мне подсказку, как решить эту проблему.

1 Ответ

1 голос
/ 04 апреля 2019

ОК, я наконец получил его hoooray :)

Я добавил следующие части в свой build.gradle (приложение), и теперь скрипт вызывается до и после того, как connectCheck имеетсработало:

task('mockStart', type: Exec){
    doFirst {
        println "MOCK: Start server ..."
    }
    executable "../../scripts/_mock.sh"
    args '-a', 'start', '-p', "${projectDir}/../../", '-m', 'deps/mock-config'
}

task('mockStop', type: Exec){
    doFirst {
        println "MOCK: Stop Server ..."
    }
    executable "../../scripts/_mock.sh"
    args '-a', 'stop', '-p', "${projectDir}/../../", '-m', 'deps/mock-config'
}

gradle.projectsEvaluated {
   connectedDebugAndroidTest.dependsOn mockStart
   connectedDebugAndroidTest.finalizedBy mockStop
}

Может быть, это поможет кому-то, у кого есть какая-то ошибка, как у меня :)

Удачи и следите за обновлениями!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...