Вызовите задачу assemblyDebug для каждого подпроекта - PullRequest
0 голосов
/ 18 ноября 2018

Я новичок в gradle, пожалуйста, помогите мне понять, что я делаю неправильно.

У меня есть куча приложений с собственной работающей системой сборки gradle.Я создал проект, который содержит эти приложения, и я хочу написать задачу, которая охватывает все подпроекты и для каждого из них вызывать «assemblyDebug».

Apps
- AppA
-- app
-- build.gradle
-- settings.gradle
- AppB
-- app
-- build.gradle
-- settings.gradle

В settings.gradle у меня есть

rootProject.name = 'Apps'
include ':AppA', ':AppB'

В build.gradle

allprojects {
    repositories {
        google()
        jcenter()
    }

    task buildAll {
        doLast { task ->
            println "Building $task.project.name"
            //gradle $task.assembleDebug // also tried assembleDebug
        }
    }
}

Когда я вызываю gradle buildAll, я вижу сообщение журнала

> Task :buildAll
Building Apps

> Task :AppA:buildAll
Building AppA

> Task :AppB:buildAll
Building AppB

Но когда я раскомментирую строку //gradle $task.assembleDebug, у меня появляется ошибка

* What went wrong:
Execution failed for task ':buildAll'.
> Could not get unknown property '$task' for task ':buildAll' of type org.gradle.api.DefaultTask.

Когда я вызываю команду из корневого каталога

gradle :AppA:assembleDebug

, я вижу ту же ошибку.Если я вызываю команду из каталога AppA, все работает нормально.

Что происходит?Спасибо

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