Revert "java_sdk_library: Add redirection to module-lib stubs"

This reverts commit fe82172afb.

Reason for revert: Broke presubmit: b/157231582

Change-Id: Ifec2d2cf58d00ed320db65069a49290e31f8bda4
This commit is contained in:
Remi NGUYEN VAN
2020-05-25 01:56:44 +00:00
parent 2ee93a5de9
commit b71d7f8aac
2 changed files with 5 additions and 83 deletions

View File

@@ -1261,45 +1261,6 @@ func TestJavaSdkLibrary_SdkVersion_ForScope(t *testing.T) {
`) `)
} }
func TestJavaSdkLibrary_MissingScope(t *testing.T) {
testJavaError(t, `requires api scope module-lib from foo but it only has \[\] available`, `
java_sdk_library {
name: "foo",
srcs: ["a.java"],
public: {
enabled: false,
},
}
java_library {
name: "baz",
srcs: ["a.java"],
libs: ["foo"],
sdk_version: "module_current",
}
`)
}
func TestJavaSdkLibrary_FallbackScope(t *testing.T) {
testJava(t, `
java_sdk_library {
name: "foo",
srcs: ["a.java"],
system: {
enabled: true,
},
}
java_library {
name: "baz",
srcs: ["a.java"],
libs: ["foo"],
// foo does not have module-lib scope so it should fallback to system
sdk_version: "module_current",
}
`)
}
var compilerFlagsTestCases = []struct { var compilerFlagsTestCases = []struct {
in string in string
out bool out bool

View File

@@ -551,7 +551,7 @@ func (c *commonToSdkLibraryAndImport) apiModuleName(apiScope *apiScope) string {
return c.namingScheme.apiModuleName(apiScope, c.moduleBase.BaseModuleName()) return c.namingScheme.apiModuleName(apiScope, c.moduleBase.BaseModuleName())
} }
func (c *commonToSdkLibraryAndImport) getScopePathsCreateIfNeeded(scope *apiScope) *scopePaths { func (c *commonToSdkLibraryAndImport) getScopePaths(scope *apiScope) *scopePaths {
if c.scopePaths == nil { if c.scopePaths == nil {
c.scopePaths = make(map[*apiScope]*scopePaths) c.scopePaths = make(map[*apiScope]*scopePaths)
} }
@@ -564,28 +564,6 @@ func (c *commonToSdkLibraryAndImport) getScopePathsCreateIfNeeded(scope *apiScop
return paths return paths
} }
func (c *commonToSdkLibraryAndImport) findScopePaths(scope *apiScope) *scopePaths {
if c.scopePaths == nil {
return nil
}
return c.scopePaths[scope]
}
// If this does not support the requested api scope then find the closest available
// scope it does support. Returns nil if no such scope is available.
func (c *commonToSdkLibraryAndImport) findClosestScopePath(scope *apiScope) *scopePaths {
for s := scope; s != nil; s = s.extends {
if paths := c.findScopePaths(s); paths != nil {
return paths
}
}
// This should never happen outside tests as public should be the base scope for every
// scope and is enabled by default.
return nil
}
func (c *commonToSdkLibraryAndImport) sdkJarsCommon(ctx android.BaseModuleContext, sdkVersion sdkSpec, headerJars bool) android.Paths { func (c *commonToSdkLibraryAndImport) sdkJarsCommon(ctx android.BaseModuleContext, sdkVersion sdkSpec, headerJars bool) android.Paths {
// If a specific numeric version has been requested then use prebuilt versions of the sdk. // If a specific numeric version has been requested then use prebuilt versions of the sdk.
@@ -597,26 +575,13 @@ func (c *commonToSdkLibraryAndImport) sdkJarsCommon(ctx android.BaseModuleContex
switch sdkVersion.kind { switch sdkVersion.kind {
case sdkSystem: case sdkSystem:
apiScope = apiScopeSystem apiScope = apiScopeSystem
case sdkModule:
apiScope = apiScopeModuleLib
case sdkTest: case sdkTest:
apiScope = apiScopeTest apiScope = apiScopeTest
default: default:
apiScope = apiScopePublic apiScope = apiScopePublic
} }
paths := c.findClosestScopePath(apiScope) paths := c.getScopePaths(apiScope)
if paths == nil {
var scopes []string
for _, s := range allApiScopes {
if c.findScopePaths(s) != nil {
scopes = append(scopes, s.name)
}
}
ctx.ModuleErrorf("requires api scope %s from %s but it only has %q available", apiScope.name, c.moduleBase.BaseModuleName(), scopes)
return nil
}
if headerJars { if headerJars {
return paths.stubsHeaderPath return paths.stubsHeaderPath
} else { } else {
@@ -739,7 +704,7 @@ func (module *SdkLibrary) GenerateAndroidBuildActions(ctx android.ModuleContext)
// Extract information from any of the scope specific dependencies. // Extract information from any of the scope specific dependencies.
if scopeTag, ok := tag.(scopeDependencyTag); ok { if scopeTag, ok := tag.(scopeDependencyTag); ok {
apiScope := scopeTag.apiScope apiScope := scopeTag.apiScope
scopePaths := module.getScopePathsCreateIfNeeded(apiScope) scopePaths := module.getScopePaths(apiScope)
// Extract information from the dependency. The exact information extracted // Extract information from the dependency. The exact information extracted
// is determined by the nature of the dependency which is determined by the tag. // is determined by the nature of the dependency which is determined by the tag.
@@ -1490,7 +1455,7 @@ func (module *sdkLibraryImport) GenerateAndroidBuildActions(ctx android.ModuleCo
if lib, ok := to.(Dependency); ok { if lib, ok := to.(Dependency); ok {
if scopeTag, ok := tag.(scopeDependencyTag); ok { if scopeTag, ok := tag.(scopeDependencyTag); ok {
apiScope := scopeTag.apiScope apiScope := scopeTag.apiScope
scopePaths := module.getScopePathsCreateIfNeeded(apiScope) scopePaths := module.getScopePaths(apiScope)
scopePaths.stubsHeaderPath = lib.HeaderJars() scopePaths.stubsHeaderPath = lib.HeaderJars()
} }
} }
@@ -1675,11 +1640,7 @@ func (s *sdkLibrarySdkMemberProperties) PopulateFromVariant(ctx android.SdkMembe
s.Scopes = make(map[*apiScope]scopeProperties) s.Scopes = make(map[*apiScope]scopeProperties)
for _, apiScope := range allApiScopes { for _, apiScope := range allApiScopes {
paths := sdk.findScopePaths(apiScope) paths := sdk.getScopePaths(apiScope)
if paths == nil {
continue
}
jars := paths.stubsImplPath jars := paths.stubsImplPath
if len(jars) > 0 { if len(jars) > 0 {
properties := scopeProperties{} properties := scopeProperties{}