Применить задачу Lint ко всем подпроектам в Gradle - PullRequest
0 голосов
/ 12 июня 2018

У меня есть многомодульный проект с несколькими приложениями для Android и модулями библиотеки Android.Это выглядит примерно так:

├── awesomeapp (Android App)
├── coolapp (Android App)
└── modules 
    ├── usefulprojectA (Android Lib)
    └── usefulprojectB (Android Lib)

И awesomeapp, и coolapp зависят от библиотечных модулей:

implementation project(':modules:usefulprojectA:')
implementation project(':modules:usefulprojectB:')

Я хотел бы сказать что-то вроде:

./gradlew awesomeapp:lint 

или даже

./gradlew awesomeapp:build

И выполнение задачи lint выполняется на awesomeapp и на usefulprojectA и usefulprojectB.

В настоящее время задача lint будет применяться только к проекту верхнего уровня, т.е. awesomeapp.Поэтому, если бы я хотел Lint подпроектов, мне пришлось бы вызывать задачу lint непосредственно в подпроекте:

./gradlew modules:usefulprojectA:lint
./gradlew modules:usefulprojectB:lint

Plus вызывать основной проект:

./gradlew awesomeapp:lint

Но это неуклюже исделает мой сценарий сборки длиннее и по времени, и по размеру.

Так как же применить задачу Lint и к подпроектам?

1 Ответ

0 голосов
/ 26 декабря 2018

Вы можете проверить модуль и его зависимости, добавив checkDependencies true к вашему lintOptions:

android {
    lintOptions {
        checkDependencies true
    }
}
...