У меня есть многомодульный проект с несколькими приложениями для 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 и к подпроектам?