Remove the concept of useDefaultLibs from Soong.
This field in the java/sdk structure was used in two of the many possible configurations, so it wasn't really a "default". It also meant that, to understand those configurations, the reader had to know what was considered the default, which was only possibly by reading the code in java.go and droiddoc.go which implemented special code paths when useDefaultLibs was true. By eliminating that setting and explicitly setting the required values, the code is simpler and easier to understand. This change is a straight refactoring, in the sense that the output of the build should be unchanged. Regarding the changes to the proguardRaiseTag dependency in java.go: - This is a noop for anything which had sdkDep.useModule = true prior to this change, because they all had the same value for hasFrameworkLibs() and hasStandardLibs(). - This is a noop for anything which had sdkDep.useDefaultLibs = true prior to this change, because they do not use proguard settings. - Therefore, it is a noop overall. - Nevertheless, it is required to make sdkCorePlatform work. Without this change, such modules would pick up a dependency on framework libs via the (unused) proguardRaiseTag, which creates a circular dependency, because this is the sdk_version used when building framework libs themselves. Bug: 157640067 Test: m java docs droid Change-Id: I3a83b5edc1bd48c16b55f6f77e3e710fc8fbd8fa
This commit is contained in:
17
java/java.go
17
java/java.go
@@ -591,7 +591,7 @@ func IsStaticLibDepTag(depTag blueprint.DependencyTag) bool {
|
||||
}
|
||||
|
||||
type sdkDep struct {
|
||||
useModule, useFiles, useDefaultLibs, invalidVersion bool
|
||||
useModule, useFiles, invalidVersion bool
|
||||
|
||||
// The modules that will be added to the bootclasspath when targeting 1.8 or lower
|
||||
bootclasspath []string
|
||||
@@ -600,7 +600,11 @@ type sdkDep struct {
|
||||
// modules are to be used.
|
||||
systemModules string
|
||||
|
||||
// The modules that will be added to the classpath regardless of the Java language level targeted
|
||||
classpath []string
|
||||
|
||||
// The modules that will be added ot the classpath when targeting 1.9 or higher
|
||||
// (normally these will be on the bootclasspath when targeting 1.8 or lower)
|
||||
java9Classpath []string
|
||||
|
||||
frameworkResModule string
|
||||
@@ -694,17 +698,14 @@ func (j *Module) deps(ctx android.BottomUpMutatorContext) {
|
||||
j.linter.deps(ctx)
|
||||
|
||||
sdkDep := decodeSdkDep(ctx, sdkContext(j))
|
||||
if sdkDep.useDefaultLibs {
|
||||
ctx.AddVariationDependencies(nil, bootClasspathTag, config.LegacyCorePlatformBootclasspathLibraries...)
|
||||
ctx.AddVariationDependencies(nil, systemModulesTag, config.LegacyCorePlatformSystemModules)
|
||||
if sdkDep.hasFrameworkLibs() {
|
||||
ctx.AddVariationDependencies(nil, libTag, config.FrameworkLibraries...)
|
||||
}
|
||||
} else if sdkDep.useModule {
|
||||
if sdkDep.useModule {
|
||||
ctx.AddVariationDependencies(nil, bootClasspathTag, sdkDep.bootclasspath...)
|
||||
ctx.AddVariationDependencies(nil, java9LibTag, sdkDep.java9Classpath...)
|
||||
ctx.AddVariationDependencies(nil, libTag, sdkDep.classpath...)
|
||||
if j.deviceProperties.EffectiveOptimizeEnabled() && sdkDep.hasStandardLibs() {
|
||||
ctx.AddVariationDependencies(nil, proguardRaiseTag, config.LegacyCorePlatformBootclasspathLibraries...)
|
||||
}
|
||||
if j.deviceProperties.EffectiveOptimizeEnabled() && sdkDep.hasFrameworkLibs() {
|
||||
ctx.AddVariationDependencies(nil, proguardRaiseTag, config.FrameworkLibraries...)
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user