Use system modules for prebuilt SDKs >=30
Prebuilt SDKs >=30 now contain core-for-system-modules.jar, convert them to system modules and use them when compiling against the SDK to allow using javac -source 1.9 -target 1.9. Bug: 117069453 Test: TestClasspath Change-Id: Iebadad5980b952ed91c3ffd56cff1ce1827d3247
This commit is contained in:
17
java/java.go
17
java/java.go
@@ -629,13 +629,15 @@ func (j *Module) deps(ctx android.BottomUpMutatorContext) {
|
||||
}
|
||||
} else if sdkDep.useModule {
|
||||
ctx.AddVariationDependencies(nil, bootClasspathTag, sdkDep.bootclasspath...)
|
||||
ctx.AddVariationDependencies(nil, systemModulesTag, sdkDep.systemModules)
|
||||
ctx.AddVariationDependencies(nil, java9LibTag, sdkDep.java9Classpath...)
|
||||
if j.deviceProperties.EffectiveOptimizeEnabled() && sdkDep.hasStandardLibs() {
|
||||
ctx.AddVariationDependencies(nil, proguardRaiseTag, config.DefaultBootclasspathLibraries...)
|
||||
ctx.AddVariationDependencies(nil, proguardRaiseTag, config.DefaultLibraries...)
|
||||
}
|
||||
}
|
||||
if sdkDep.systemModules != "" {
|
||||
ctx.AddVariationDependencies(nil, systemModulesTag, sdkDep.systemModules)
|
||||
}
|
||||
|
||||
if ctx.ModuleName() == "android_stubs_current" ||
|
||||
ctx.ModuleName() == "android_system_stubs_current" ||
|
||||
@@ -1038,19 +1040,10 @@ func addPlugins(deps *deps, pluginJars android.Paths, pluginClasses ...string) {
|
||||
}
|
||||
|
||||
func getJavaVersion(ctx android.ModuleContext, javaVersion string, sdkContext sdkContext) javaVersion {
|
||||
sdk, err := sdkContext.sdkVersion().effectiveVersion(ctx)
|
||||
if err != nil {
|
||||
ctx.PropertyErrorf("sdk_version", "%s", err)
|
||||
}
|
||||
if javaVersion != "" {
|
||||
return normalizeJavaVersion(ctx, javaVersion)
|
||||
} else if ctx.Device() && sdk <= 23 {
|
||||
return JAVA_VERSION_7
|
||||
} else if ctx.Device() && sdk <= 29 {
|
||||
return JAVA_VERSION_8
|
||||
} else if ctx.Device() && ctx.Config().UnbundledBuildUsePrebuiltSdks() {
|
||||
// TODO(b/142896162): once we have prebuilt system modules we can use 1.9 for unbundled builds
|
||||
return JAVA_VERSION_8
|
||||
} else if ctx.Device() {
|
||||
return sdkContext.sdkVersion().defaultJavaLanguageVersion(ctx)
|
||||
} else {
|
||||
return JAVA_VERSION_9
|
||||
}
|
||||
|
Reference in New Issue
Block a user