diff options
Diffstat (limited to 'java')
| -rwxr-xr-x | java/app.go | 4 | ||||
| -rw-r--r-- | java/droiddoc.go | 22 | ||||
| -rw-r--r-- | java/java.go | 2 | ||||
| -rw-r--r-- | java/lint.go | 21 | ||||
| -rw-r--r-- | java/sdk_library.go | 8 |
5 files changed, 36 insertions, 21 deletions
diff --git a/java/app.go b/java/app.go index 4bb292ddf..c568516eb 100755 --- a/java/app.go +++ b/java/app.go @@ -151,7 +151,7 @@ func (as *AndroidAppSet) GenerateAndroidBuildActions(ctx android.ModuleContext) "allow-prereleased": strconv.FormatBool(proptools.Bool(as.properties.Prerelease)), "screen-densities": screenDensities, "sdk-version": ctx.Config().PlatformSdkVersion(), - "stem": ctx.ModuleName(), + "stem": as.BaseModuleName(), }, }) } @@ -938,7 +938,7 @@ func (a *AndroidApp) Privileged() bool { } func (a *AndroidApp) IsNativeCoverageNeeded(ctx android.BaseModuleContext) bool { - return ctx.Device() && (ctx.DeviceConfig().NativeCoverageEnabled() || ctx.DeviceConfig().ClangCoverageEnabled()) + return ctx.Device() && ctx.DeviceConfig().NativeCoverageEnabled() } func (a *AndroidApp) PreventInstall() { diff --git a/java/droiddoc.go b/java/droiddoc.go index e14814b9e..a0b7edfea 100644 --- a/java/droiddoc.go +++ b/java/droiddoc.go @@ -1419,7 +1419,7 @@ func (d *Droidstubs) apiLevelsAnnotationsFlags(ctx android.ModuleContext, cmd *a } func (d *Droidstubs) apiToXmlFlags(ctx android.ModuleContext, cmd *android.RuleBuilderCommand) { - if Bool(d.properties.Jdiff_enabled) && !ctx.Config().IsPdkBuild() { + if Bool(d.properties.Jdiff_enabled) && !ctx.Config().IsPdkBuild() && d.apiFile != nil { if d.apiFile.String() == "" { ctx.ModuleErrorf("API signature file has to be specified in Metalava when jdiff is enabled.") } @@ -1847,13 +1847,19 @@ func (d *Droidstubs) GenerateAndroidBuildActions(ctx android.ModuleContext) { Flag("-XDignore.symbol.file"). FlagWithArg("-doclet ", "jdiff.JDiff"). FlagWithInput("-docletpath ", jdiff). - Flag("-quiet"). - FlagWithArg("-newapi ", strings.TrimSuffix(d.apiXmlFile.Base(), d.apiXmlFile.Ext())). - FlagWithArg("-newapidir ", filepath.Dir(d.apiXmlFile.String())). - Implicit(d.apiXmlFile). - FlagWithArg("-oldapi ", strings.TrimSuffix(d.lastReleasedApiXmlFile.Base(), d.lastReleasedApiXmlFile.Ext())). - FlagWithArg("-oldapidir ", filepath.Dir(d.lastReleasedApiXmlFile.String())). - Implicit(d.lastReleasedApiXmlFile) + Flag("-quiet") + + if d.apiXmlFile != nil { + cmd.FlagWithArg("-newapi ", strings.TrimSuffix(d.apiXmlFile.Base(), d.apiXmlFile.Ext())). + FlagWithArg("-newapidir ", filepath.Dir(d.apiXmlFile.String())). + Implicit(d.apiXmlFile) + } + + if d.lastReleasedApiXmlFile != nil { + cmd.FlagWithArg("-oldapi ", strings.TrimSuffix(d.lastReleasedApiXmlFile.Base(), d.lastReleasedApiXmlFile.Ext())). + FlagWithArg("-oldapidir ", filepath.Dir(d.lastReleasedApiXmlFile.String())). + Implicit(d.lastReleasedApiXmlFile) + } rule.Command(). BuiltTool(ctx, "soong_zip"). diff --git a/java/java.go b/java/java.go index 7a4255745..7d32c3406 100644 --- a/java/java.go +++ b/java/java.go @@ -44,7 +44,7 @@ func init() { PropertyName: "java_libs", }, func(j *Library) android.Path { - implementationJars := j.ImplementationJars() + implementationJars := j.ImplementationAndResourcesJars() if len(implementationJars) != 1 { panic(fmt.Errorf("there must be only one implementation jar from %q", j.Name())) } diff --git a/java/lint.go b/java/lint.go index fac9a1983..b73d6a51a 100644 --- a/java/lint.go +++ b/java/lint.go @@ -88,7 +88,7 @@ func (l *linter) deps(ctx android.BottomUpMutatorContext) { } func (l *linter) writeLintProjectXML(ctx android.ModuleContext, - rule *android.RuleBuilder) (projectXMLPath, configXMLPath, cacheDir android.WritablePath, deps android.Paths) { + rule *android.RuleBuilder) (projectXMLPath, configXMLPath, cacheDir, homeDir android.WritablePath, deps android.Paths) { var resourcesList android.WritablePath if len(l.resources) > 0 { @@ -106,6 +106,7 @@ func (l *linter) writeLintProjectXML(ctx android.ModuleContext, // Lint looks for a lint.xml file next to the project.xml file, give it one. configXMLPath = android.PathForModuleOut(ctx, "lint", "lint.xml") cacheDir = android.PathForModuleOut(ctx, "lint", "cache") + homeDir = android.PathForModuleOut(ctx, "lint", "home") srcJarDir := android.PathForModuleOut(ctx, "lint-srcjars") srcJarList := zipSyncCmd(ctx, rule, srcJarDir, l.srcJars) @@ -154,8 +155,11 @@ func (l *linter) writeLintProjectXML(ctx android.ModuleContext, cmd.FlagForEachArg("--extra_checks_jar ", l.extraLintCheckJars.Strings()) deps = append(deps, l.extraLintCheckJars...) - // The cache tag in project.xml is relative to the project.xml file. - cmd.FlagWithArg("--cache_dir ", "cache") + cmd.FlagWithArg("--root_dir ", "$PWD") + + // The cache tag in project.xml is relative to the root dir, or the project.xml file if + // the root dir is not set. + cmd.FlagWithArg("--cache_dir ", cacheDir.String()) cmd.FlagWithInput("@", android.PathForSource(ctx, "build/soong/java/lint_defaults.txt")) @@ -165,7 +169,7 @@ func (l *linter) writeLintProjectXML(ctx android.ModuleContext, cmd.FlagForEachArg("--error_check ", l.properties.Lint.Error_checks) cmd.FlagForEachArg("--fatal_check ", l.properties.Lint.Fatal_checks) - return projectXMLPath, configXMLPath, cacheDir, deps + return projectXMLPath, configXMLPath, cacheDir, homeDir, deps } // generateManifest adds a command to the rule to write a dummy manifest cat contains the @@ -207,18 +211,19 @@ func (l *linter) lint(ctx android.ModuleContext) { l.manifest = manifest } - projectXML, lintXML, cacheDir, deps := l.writeLintProjectXML(ctx, rule) + projectXML, lintXML, cacheDir, homeDir, deps := l.writeLintProjectXML(ctx, rule) l.outputs.html = android.PathForModuleOut(ctx, "lint-report.html") l.outputs.text = android.PathForModuleOut(ctx, "lint-report.txt") l.outputs.xml = android.PathForModuleOut(ctx, "lint-report.xml") - rule.Command().Text("rm -rf").Flag(cacheDir.String()) - rule.Command().Text("mkdir -p").Flag(cacheDir.String()) + rule.Command().Text("rm -rf").Flag(cacheDir.String()).Flag(homeDir.String()) + rule.Command().Text("mkdir -p").Flag(cacheDir.String()).Flag(homeDir.String()) rule.Command(). Text("("). Flag("JAVA_OPTS=-Xmx2048m"). + FlagWithArg("ANDROID_SDK_HOME=", homeDir.String()). FlagWithInput("SDK_ANNOTATIONS=", annotationsZipPath(ctx)). FlagWithInput("LINT_OPTS=-DLINT_API_DATABASE=", apiVersionsXmlPath(ctx)). Tool(android.PathForSource(ctx, "prebuilts/cmdline-tools/tools/bin/lint")). @@ -239,7 +244,7 @@ func (l *linter) lint(ctx android.ModuleContext) { Text("|| (").Text("cat").Input(l.outputs.text).Text("; exit 7)"). Text(")") - rule.Command().Text("rm -rf").Flag(cacheDir.String()) + rule.Command().Text("rm -rf").Flag(cacheDir.String()).Flag(homeDir.String()) rule.Build(pctx, ctx, "lint", "lint") } diff --git a/java/sdk_library.go b/java/sdk_library.go index 782c94adc..676557e64 100644 --- a/java/sdk_library.go +++ b/java/sdk_library.go @@ -2193,8 +2193,12 @@ func (s *sdkLibrarySdkMemberProperties) PopulateFromVariant(ctx android.SdkMembe properties.Jars = jars properties.SdkVersion = sdk.sdkVersionForStubsLibrary(ctx.SdkModuleContext(), apiScope) properties.StubsSrcJar = paths.stubsSrcJar.Path() - properties.CurrentApiFile = paths.currentApiFilePath.Path() - properties.RemovedApiFile = paths.removedApiFilePath.Path() + if paths.currentApiFilePath.Valid() { + properties.CurrentApiFile = paths.currentApiFilePath.Path() + } + if paths.removedApiFilePath.Valid() { + properties.RemovedApiFile = paths.removedApiFilePath.Path() + } s.Scopes[apiScope] = properties } } |