Remove special case for sdk_version: "none"

The dependency handling for sdk_version: "none" (which propagated to
!sdkDep.hasStandardLibs()) was very similar to the normal useModule
case.  Combine the cases by making decodeSdkDep set useModule: true
and put the system modules in modules for the sdk_version: "none"
case.

Test: TestClasspath
Change-Id: Icc9ff4d43a38da25cc0e3628be95951d61773ad5
This commit is contained in:
Colin Cross
2019-10-28 15:10:03 -07:00
parent bf3119ee35
commit 6d8d8c6a91
3 changed files with 24 additions and 32 deletions

View File

@@ -422,21 +422,15 @@ func (j *Javadoc) targetSdkVersion() string {
func (j *Javadoc) addDeps(ctx android.BottomUpMutatorContext) { func (j *Javadoc) addDeps(ctx android.BottomUpMutatorContext) {
if ctx.Device() { if ctx.Device() {
sdkDep := decodeSdkDep(ctx, sdkContext(j)) sdkDep := decodeSdkDep(ctx, sdkContext(j))
if sdkDep.hasStandardLibs() { if sdkDep.useDefaultLibs {
if sdkDep.useDefaultLibs { ctx.AddVariationDependencies(nil, bootClasspathTag, config.DefaultBootclasspathLibraries...)
ctx.AddVariationDependencies(nil, bootClasspathTag, config.DefaultBootclasspathLibraries...) ctx.AddVariationDependencies(nil, systemModulesTag, config.DefaultSystemModules)
ctx.AddVariationDependencies(nil, systemModulesTag, config.DefaultSystemModules) if sdkDep.hasFrameworkLibs() {
if sdkDep.hasFrameworkLibs() { ctx.AddVariationDependencies(nil, libTag, config.DefaultLibraries...)
ctx.AddVariationDependencies(nil, libTag, config.DefaultLibraries...)
}
} else if sdkDep.useModule {
ctx.AddVariationDependencies(nil, systemModulesTag, sdkDep.systemModules)
ctx.AddVariationDependencies(nil, bootClasspathTag, sdkDep.modules...)
} }
} else if sdkDep.systemModules != "" { } else if sdkDep.useModule {
// Add the system modules to both the system modules and bootclasspath. ctx.AddVariationDependencies(nil, bootClasspathTag, sdkDep.modules...)
ctx.AddVariationDependencies(nil, systemModulesTag, sdkDep.systemModules) ctx.AddVariationDependencies(nil, systemModulesTag, sdkDep.systemModules)
ctx.AddVariationDependencies(nil, bootClasspathTag, sdkDep.systemModules)
} }
} }

View File

@@ -524,26 +524,21 @@ func (j *Module) targetSdkVersion() string {
func (j *Module) deps(ctx android.BottomUpMutatorContext) { func (j *Module) deps(ctx android.BottomUpMutatorContext) {
if ctx.Device() { if ctx.Device() {
sdkDep := decodeSdkDep(ctx, sdkContext(j)) sdkDep := decodeSdkDep(ctx, sdkContext(j))
if sdkDep.hasStandardLibs() { if sdkDep.useDefaultLibs {
if sdkDep.useDefaultLibs { ctx.AddVariationDependencies(nil, bootClasspathTag, config.DefaultBootclasspathLibraries...)
ctx.AddVariationDependencies(nil, bootClasspathTag, config.DefaultBootclasspathLibraries...) ctx.AddVariationDependencies(nil, systemModulesTag, config.DefaultSystemModules)
ctx.AddVariationDependencies(nil, systemModulesTag, config.DefaultSystemModules) if sdkDep.hasFrameworkLibs() {
if sdkDep.hasFrameworkLibs() { ctx.AddVariationDependencies(nil, libTag, config.DefaultLibraries...)
ctx.AddVariationDependencies(nil, libTag, config.DefaultLibraries...)
}
} else if sdkDep.useModule {
ctx.AddVariationDependencies(nil, systemModulesTag, sdkDep.systemModules)
ctx.AddVariationDependencies(nil, bootClasspathTag, sdkDep.modules...)
if j.deviceProperties.EffectiveOptimizeEnabled() {
ctx.AddVariationDependencies(nil, proguardRaiseTag, config.DefaultBootclasspathLibraries...)
ctx.AddVariationDependencies(nil, proguardRaiseTag, config.DefaultLibraries...)
}
} }
} else if sdkDep.systemModules != "" { } else if sdkDep.useModule {
// Add the system modules to both the system modules and bootclasspath. ctx.AddVariationDependencies(nil, bootClasspathTag, sdkDep.modules...)
ctx.AddVariationDependencies(nil, systemModulesTag, sdkDep.systemModules) ctx.AddVariationDependencies(nil, systemModulesTag, sdkDep.systemModules)
ctx.AddVariationDependencies(nil, bootClasspathTag, sdkDep.systemModules) if j.deviceProperties.EffectiveOptimizeEnabled() && sdkDep.hasStandardLibs() {
ctx.AddVariationDependencies(nil, proguardRaiseTag, config.DefaultBootclasspathLibraries...)
ctx.AddVariationDependencies(nil, proguardRaiseTag, config.DefaultLibraries...)
}
} }
if ctx.ModuleName() == "android_stubs_current" || if ctx.ModuleName() == "android_stubs_current" ||
ctx.ModuleName() == "android_system_stubs_current" || ctx.ModuleName() == "android_system_stubs_current" ||
ctx.ModuleName() == "android_test_stubs_current" { ctx.ModuleName() == "android_test_stubs_current" {

View File

@@ -192,13 +192,16 @@ func decodeSdkDep(ctx android.BaseModuleContext, sdkContext sdkContext) sdkDep {
ctx.PropertyErrorf("sdk_version", ctx.PropertyErrorf("sdk_version",
`system_modules is required to be set to a non-empty value when sdk_version is "none", did you mean sdk_version: "core_platform"?`) `system_modules is required to be set to a non-empty value when sdk_version is "none", did you mean sdk_version: "core_platform"?`)
} else if systemModules == "none" { } else if systemModules == "none" {
// Normalize no system modules to an empty string. return sdkDep{
systemModules = "" noStandardLibs: true,
}
} }
return sdkDep{ return sdkDep{
useModule: true,
noStandardLibs: true, noStandardLibs: true,
systemModules: systemModules, systemModules: systemModules,
modules: []string{systemModules},
} }
case "core_platform": case "core_platform":
return sdkDep{ return sdkDep{