Add support for running Android lint on java and android modules.

Add a rule that runs Android lint on each java and android module
and produces reports in xml, html and text formats.

Bug: 153485543
Test: m out/soong/.intermediates/packages/apps/Settings/Settings-core/android_common/lint-report.html
Change-Id: I5a530975b73ba767fef45b257d4f9ec901a19fcb
This commit is contained in:
Colin Cross
2020-06-02 20:09:13 -07:00
parent ce6734e666
commit 014489c1e6
11 changed files with 710 additions and 0 deletions

View File

@@ -742,6 +742,10 @@ func (a *AndroidApp) generateAndroidBuildActions(ctx android.ModuleContext) {
a.proguardBuildActions(ctx)
a.linter.mergedManifest = a.aapt.mergedManifestFile
a.linter.manifest = a.aapt.manifestPath
a.linter.resources = a.aapt.resourceFiles
dexJarFile := a.dexBuildActions(ctx)
jniLibs, certificateDeps := collectAppDeps(ctx, a, a.shouldEmbedJnis(ctx), !Bool(a.appProperties.Jni_uses_platform_apis))
@@ -1079,6 +1083,7 @@ func AndroidTestFactory() android.Module {
module.appProperties.Use_embedded_native_libs = proptools.BoolPtr(true)
module.appProperties.AlwaysPackageNativeLibs = true
module.Module.dexpreopter.isTest = true
module.Module.linter.test = true
module.addHostAndDeviceProperties()
module.AddProperties(
@@ -1128,6 +1133,7 @@ func AndroidTestHelperAppFactory() android.Module {
module.appProperties.Use_embedded_native_libs = proptools.BoolPtr(true)
module.appProperties.AlwaysPackageNativeLibs = true
module.Module.dexpreopter.isTest = true
module.Module.linter.test = true
module.addHostAndDeviceProperties()
module.AddProperties(