将Lint任务应用于Gradle中的所有子项目

时间:2018-06-12 15:10:00

标签: android gradle lint

我有一个包含一些Android应用和Android库模块的多模块项目。它看起来像这样:

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

awesomeappcoolapp都依赖于库模块:

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

我想做的是能够说出以下内容:

./gradlew awesomeapp:lint 

甚至

./gradlew awesomeapp:build

让lint任务在awesomeapp以及usefulprojectAusefulprojectB上执行。

目前,lint任务仅适用于顶级项目,即awesomeapp。因此,如果我想要Lint子项目,我必须直接在子项目上调用lint任务:

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

再加上主要项目:

./gradlew awesomeapp:lint

但这很笨拙,会使我的构建脚本在时间和大小上都更长。

那么如何将Lint任务应用于子项目呢?

1 个答案:

答案 0 :(得分:1)

您可以通过向checkDependencies true添加lintOptions来检查模块及其依赖关系:

android {
    lintOptions {
        checkDependencies true
    }
}