diff options
Diffstat (limited to 'java/java.go')
| -rw-r--r-- | java/java.go | 34 |
1 files changed, 21 insertions, 13 deletions
diff --git a/java/java.go b/java/java.go index c2fcccf2f..b6056c8e9 100644 --- a/java/java.go +++ b/java/java.go @@ -517,14 +517,8 @@ 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().TargetsJava17() { - // Temporary experimental flag to be able to try and build with - // java version 17 options. The flag, if used, just sets Java - // 17 as the default version, leaving any components that - // target an older version intact. - return JAVA_VERSION_17 } else { - return JAVA_VERSION_11 + return JAVA_VERSION_17 } } @@ -2067,7 +2061,15 @@ func (j *Import) GenerateAndroidBuildActions(ctx android.ModuleContext) { j.dexpreopter.uncompressedDex = *j.dexProperties.Uncompress_dex var dexOutputFile android.OutputPath - dexOutputFile = j.dexer.compileDex(ctx, flags, j.MinSdkVersion(ctx), outputFile, jarName) + dexParams := &compileDexParams{ + flags: flags, + sdkVersion: j.SdkVersion(ctx), + minSdkVersion: j.MinSdkVersion(ctx), + classesJar: outputFile, + jarName: jarName, + } + + dexOutputFile = j.dexer.compileDex(ctx, dexParams) if ctx.Failed() { return } @@ -2158,15 +2160,18 @@ func (j *Import) DepIsInSameApex(ctx android.BaseModuleContext, dep android.Modu // Implements android.ApexModule func (j *Import) ShouldSupportSdkVersion(ctx android.BaseModuleContext, sdkVersion android.ApiLevel) error { - sdkSpec := j.MinSdkVersion(ctx) - if !sdkSpec.Specified() { + sdkVersionSpec := j.SdkVersion(ctx) + minSdkVersionSpec := j.MinSdkVersion(ctx) + if !minSdkVersionSpec.Specified() { return fmt.Errorf("min_sdk_version is not specified") } - if sdkSpec.Kind == android.SdkCore { + // If the module is compiling against core (via sdk_version), skip comparison check. + if sdkVersionSpec.Kind == android.SdkCore { return nil } - if sdkSpec.ApiLevel.GreaterThan(sdkVersion) { - return fmt.Errorf("newer SDK(%v)", sdkSpec.ApiLevel) + minSdkVersion := minSdkVersionSpec.ApiLevel + if minSdkVersion.GreaterThan(sdkVersion) { + return fmt.Errorf("newer SDK(%v)", minSdkVersion) } return nil } @@ -2807,6 +2812,9 @@ func javaLibraryBp2Build(ctx android.TopDownMutatorContext, m *Library) { if sdkVersion.Kind == android.SdkPublic && sdkVersion.ApiLevel == android.FutureApiLevel { // TODO(b/220869005) remove forced dependency on current public android.jar deps.Add(bazel.MakeLabelAttribute("//prebuilts/sdk:public_current_android_sdk_java_import")) + } else if sdkVersion.Kind == android.SdkSystem && sdkVersion.ApiLevel == android.FutureApiLevel { + // TODO(b/215230098) remove forced dependency on current public android.jar + deps.Add(bazel.MakeLabelAttribute("//prebuilts/sdk:system_current_android_sdk_java_import")) } } else if !deps.IsEmpty() { ctx.ModuleErrorf("Module has direct dependencies but no sources. Bazel will not allow this.") |
