diff options
Diffstat (limited to 'java')
| -rw-r--r-- | java/base.go | 12 | ||||
| -rw-r--r-- | java/dexpreopt_check.go | 3 | ||||
| -rw-r--r-- | java/java.go | 2 | ||||
| -rw-r--r-- | java/lint.go | 3 | ||||
| -rw-r--r-- | java/sdk.go | 2 | ||||
| -rw-r--r-- | java/sdk_library.go | 6 |
6 files changed, 24 insertions, 4 deletions
diff --git a/java/base.go b/java/base.go index c45ef641e..7cd71a270 100644 --- a/java/base.go +++ b/java/base.go @@ -122,6 +122,14 @@ type CommonProperties struct { Javacflags []string } + Openjdk11 struct { + // List of source files that should only be used when passing -source 1.9 or higher + Srcs []string `android:"path"` + + // List of javac flags that should only be used when passing -source 1.9 or higher + Javacflags []string + } + // When compiling language level 9+ .java code in packages that are part of // a system module, patch_module names the module that your sources and // dependencies should be patched into. The Android runtime currently @@ -959,6 +967,10 @@ func (j *Module) compile(ctx android.ModuleContext, aaptSrcJar android.Path) { if flags.javaVersion.usesJavaModules() { j.properties.Srcs = append(j.properties.Srcs, j.properties.Openjdk9.Srcs...) } + if ctx.Config().TargetsJava11() { + j.properties.Srcs = append(j.properties.Srcs, j.properties.Openjdk11.Srcs...) + } + srcFiles := android.PathsForModuleSrcExcludes(ctx, j.properties.Srcs, j.properties.Exclude_srcs) if hasSrcExt(srcFiles.Strings(), ".proto") { flags = protoFlags(ctx, &j.properties, &j.protoProperties, flags) diff --git a/java/dexpreopt_check.go b/java/dexpreopt_check.go index 149cbb758..83c088cd4 100644 --- a/java/dexpreopt_check.go +++ b/java/dexpreopt_check.go @@ -72,8 +72,7 @@ func (m *dexpreoptSystemserverCheck) GenerateAndroidBuildActions(ctx android.Mod return } - // TODO(b/203198541): Check all system server jars. - systemServerJars := global.AllSystemServerClasspathJars(ctx) + systemServerJars := global.AllSystemServerJars(ctx) for _, jar := range systemServerJars.CopyOfJars() { dexLocation := dexpreopt.GetSystemServerDexLocation(ctx, global, jar) odexLocation := dexpreopt.ToOdexPath(dexLocation, targets[0].Arch.ArchType) diff --git a/java/java.go b/java/java.go index 35b5ec31b..9b4a005f0 100644 --- a/java/java.go +++ b/java/java.go @@ -449,7 +449,7 @@ func getJavaVersion(ctx android.ModuleContext, javaVersion string, sdkContext an return normalizeJavaVersion(ctx, javaVersion) } else if ctx.Device() { return defaultJavaLanguageVersion(ctx, sdkContext.SdkVersion(ctx)) - } else if ctx.Config().IsEnvTrue("EXPERIMENTAL_TARGET_JAVA_VERSION_11") { + } else if ctx.Config().TargetsJava11() { // Temporary experimental flag to be able to try and build with // java version 11 options. The flag, if used, just sets Java // 11 as the default version, leaving any components that diff --git a/java/lint.go b/java/lint.go index fe3218e90..7845c336b 100644 --- a/java/lint.go +++ b/java/lint.go @@ -377,6 +377,7 @@ func (l *linter) lint(ctx android.ModuleContext) { html := android.PathForModuleOut(ctx, "lint", "lint-report.html") text := android.PathForModuleOut(ctx, "lint", "lint-report.txt") xml := android.PathForModuleOut(ctx, "lint", "lint-report.xml") + baseline := android.PathForModuleOut(ctx, "lint", "lint-baseline.xml") depSetsBuilder := NewLintDepSetBuilder().Direct(html, text, xml) @@ -447,6 +448,8 @@ func (l *linter) lint(ctx android.ModuleContext) { cmd.FlagWithInput("--baseline ", lintBaseline.Path()) } + cmd.FlagWithOutput("--write-reference-baseline ", baseline) + cmd.Text("|| (").Text("if [ -e").Input(text).Text("]; then cat").Input(text).Text("; fi; exit 7)") rule.Command().Text("rm -rf").Flag(lintPaths.cacheDir.String()).Flag(lintPaths.homeDir.String()) diff --git a/java/sdk.go b/java/sdk.go index de7070eef..756a24deb 100644 --- a/java/sdk.go +++ b/java/sdk.go @@ -55,7 +55,7 @@ func defaultJavaLanguageVersion(ctx android.EarlyModuleContext, s android.SdkSpe return JAVA_VERSION_7 } else if sdk.FinalOrFutureInt() <= 29 { return JAVA_VERSION_8 - } else if ctx.Config().IsEnvTrue("EXPERIMENTAL_TARGET_JAVA_VERSION_11") { + } else if ctx.Config().TargetsJava11() { // Temporary experimental flag to be able to try and build with // java version 11 options. The flag, if used, just sets Java // 11 as the default version, leaving any components that diff --git a/java/sdk_library.go b/java/sdk_library.go index b8ab69abb..0bc8895fe 100644 --- a/java/sdk_library.go +++ b/java/sdk_library.go @@ -1392,6 +1392,10 @@ func (module *SdkLibrary) createStubsLibrary(mctx android.DefaultableHookContext Srcs []string Javacflags []string } + Openjdk11 struct { + Srcs []string + Javacflags []string + } Dist struct { Targets []string Dest *string @@ -1418,6 +1422,8 @@ func (module *SdkLibrary) createStubsLibrary(mctx android.DefaultableHookContext } props.Openjdk9.Srcs = module.properties.Openjdk9.Srcs props.Openjdk9.Javacflags = module.properties.Openjdk9.Javacflags + props.Openjdk11.Srcs = module.properties.Openjdk11.Srcs + props.Openjdk11.Javacflags = module.properties.Openjdk11.Javacflags // We compile the stubs for 1.8 in line with the main android.jar stubs, and potential // interop with older developer tools that don't support 1.9. props.Java_version = proptools.StringPtr("1.8") |