diff options
author | Colin Cross <ccross@android.com> | 2020-06-18 01:32:56 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2020-06-18 01:32:56 +0000 |
commit | 05394377ba96bb925ebe7f363ae65dc14e511350 (patch) | |
tree | c7e143fe8088287fc92d1c9d9835050f7db9c3c5 /java/java.go | |
parent | d29894d0f6ced1fd35da73529120a1b20a469f0d (diff) | |
parent | a553358b34dfc1b9f3331d8c4286fd1203c3c910 (diff) |
Merge "Add support for running Android lint on java and android modules." am: a553358b34
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1324098
Change-Id: If5716b759b612254f506ce6e4d5e20747d979b35
Diffstat (limited to 'java/java.go')
-rw-r--r-- | java/java.go | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/java/java.go b/java/java.go index e00f681c5..97a674745 100644 --- a/java/java.go +++ b/java/java.go @@ -471,6 +471,7 @@ type Module struct { hiddenAPI dexpreopter + linter // list of the xref extraction files kytheFiles android.Paths @@ -493,6 +494,7 @@ func (j *Module) addHostAndDeviceProperties() { j.AddProperties( &j.deviceProperties, &j.dexpreoptProperties, + &j.linter.properties, ) } @@ -1654,6 +1656,28 @@ func (j *Module) compile(ctx android.ModuleContext, aaptSrcJar android.Path) { outputFile = implementationAndResourcesJar } + if ctx.Device() { + lintSDKVersionString := func(sdkSpec sdkSpec) string { + if v := sdkSpec.version; v.isNumbered() { + return v.String() + } else { + return ctx.Config().DefaultAppTargetSdk() + } + } + + j.linter.name = ctx.ModuleName() + j.linter.srcs = srcFiles + j.linter.srcJars = srcJars + j.linter.classpath = append(append(android.Paths(nil), flags.bootClasspath...), flags.classpath...) + j.linter.classes = j.implementationJarFile + j.linter.minSdkVersion = lintSDKVersionString(j.minSdkVersion()) + j.linter.targetSdkVersion = lintSDKVersionString(j.targetSdkVersion()) + j.linter.compileSdkVersion = lintSDKVersionString(j.sdkVersion()) + j.linter.javaLanguageLevel = flags.javaVersion.String() + j.linter.kotlinLanguageLevel = "1.3" + j.linter.lint(ctx) + } + ctx.CheckbuildFile(outputFile) // Save the output file with no relative path so that it doesn't end up in a subdirectory when used as a resource @@ -2262,6 +2286,7 @@ func TestFactory() android.Module { module.Module.properties.Installable = proptools.BoolPtr(true) module.Module.dexpreopter.isTest = true + module.Module.linter.test = true InitJavaModule(module, android.HostAndDeviceSupported) return module @@ -2276,6 +2301,7 @@ func TestHelperLibraryFactory() android.Module { module.Module.properties.Installable = proptools.BoolPtr(true) module.Module.dexpreopter.isTest = true + module.Module.linter.test = true InitJavaModule(module, android.HostAndDeviceSupported) return module @@ -2863,6 +2889,7 @@ func DefaultsFactory() android.Module { &DexImportProperties{}, &android.ApexProperties{}, &RuntimeResourceOverlayProperties{}, + &LintProperties{}, ) android.InitDefaultsModule(module) |