java_sdk_library: Add system-server scope
Bug: 155164730 Test: m nothing Change-Id: I49a2dab5c064b05f16691a3fae65f2b4ffc53bfd
This commit is contained in:
@@ -1426,6 +1426,38 @@ func TestJavaSdkLibrary_SdkVersion_ForScope(t *testing.T) {
|
||||
`)
|
||||
}
|
||||
|
||||
func TestJavaSdkLibrary_ModuleLib(t *testing.T) {
|
||||
testJava(t, `
|
||||
java_sdk_library {
|
||||
name: "foo",
|
||||
srcs: ["a.java", "b.java"],
|
||||
api_packages: ["foo"],
|
||||
system: {
|
||||
enabled: true,
|
||||
},
|
||||
module_lib: {
|
||||
enabled: true,
|
||||
},
|
||||
}
|
||||
`)
|
||||
}
|
||||
|
||||
func TestJavaSdkLibrary_SystemServer(t *testing.T) {
|
||||
testJava(t, `
|
||||
java_sdk_library {
|
||||
name: "foo",
|
||||
srcs: ["a.java", "b.java"],
|
||||
api_packages: ["foo"],
|
||||
system: {
|
||||
enabled: true,
|
||||
},
|
||||
system_server: {
|
||||
enabled: true,
|
||||
},
|
||||
}
|
||||
`)
|
||||
}
|
||||
|
||||
func TestJavaSdkLibrary_MissingScope(t *testing.T) {
|
||||
testJavaError(t, `requires api scope module-lib from foo but it only has \[\] available`, `
|
||||
java_sdk_library {
|
||||
|
@@ -264,7 +264,7 @@ var (
|
||||
apiScopeModuleLib = initApiScope(&apiScope{
|
||||
name: "module-lib",
|
||||
extends: apiScopeSystem,
|
||||
// Module_lib scope is disabled by default in legacy mode.
|
||||
// The module-lib scope is disabled by default in legacy mode.
|
||||
//
|
||||
// Enabling this would break existing usages.
|
||||
legacyEnabledStatus: func(module *SdkLibrary) bool {
|
||||
@@ -280,11 +280,34 @@ var (
|
||||
"--show-annotation android.annotation.SystemApi\\(client=android.annotation.SystemApi.Client.MODULE_LIBRARIES\\)",
|
||||
},
|
||||
})
|
||||
apiScopeSystemServer = initApiScope(&apiScope{
|
||||
name: "system-server",
|
||||
extends: apiScopePublic,
|
||||
// The system-server scope is disabled by default in legacy mode.
|
||||
//
|
||||
// Enabling this would break existing usages.
|
||||
legacyEnabledStatus: func(module *SdkLibrary) bool {
|
||||
return false
|
||||
},
|
||||
scopeSpecificProperties: func(module *SdkLibrary) *ApiScopeProperties {
|
||||
return &module.sdkLibraryProperties.System_server
|
||||
},
|
||||
apiFilePrefix: "system-server-",
|
||||
moduleSuffix: ".system_server",
|
||||
sdkVersion: "system_server_current",
|
||||
droidstubsArgs: []string{
|
||||
"--show-annotation android.annotation.SystemApi\\(client=android.annotation.SystemApi.Client.SYSTEM_SERVER\\) ",
|
||||
"--hide-annotation android.annotation.Hide",
|
||||
// com.android.* classes are okay in this interface"
|
||||
"--hide InternalClasses",
|
||||
},
|
||||
})
|
||||
allApiScopes = apiScopes{
|
||||
apiScopePublic,
|
||||
apiScopeSystem,
|
||||
apiScopeTest,
|
||||
apiScopeModuleLib,
|
||||
apiScopeSystemServer,
|
||||
}
|
||||
)
|
||||
|
||||
@@ -432,12 +455,18 @@ type sdkLibraryProperties struct {
|
||||
// In non-legacy mode the test api scope is disabled by default.
|
||||
Test ApiScopeProperties
|
||||
|
||||
// The properties specific to the module_lib api scope
|
||||
// The properties specific to the module-lib api scope
|
||||
//
|
||||
// Unless explicitly specified by using test.enabled the module_lib api scope is
|
||||
// Unless explicitly specified by using test.enabled the module-lib api scope is
|
||||
// disabled by default.
|
||||
Module_lib ApiScopeProperties
|
||||
|
||||
// The properties specific to the system-server api scope
|
||||
//
|
||||
// Unless explicitly specified by using test.enabled the module-lib api scope is
|
||||
// disabled by default.
|
||||
System_server ApiScopeProperties
|
||||
|
||||
// Determines if the stubs are preferred over the implementation library
|
||||
// for linking, even when the client doesn't specify sdk_version. When this
|
||||
// is set to true, such clients are provided with the widest API surface that
|
||||
@@ -746,6 +775,8 @@ func (c *commonToSdkLibraryAndImport) selectHeaderJarsForSdkVersion(ctx android.
|
||||
apiScope = apiScopeModuleLib
|
||||
case sdkTest:
|
||||
apiScope = apiScopeTest
|
||||
case sdkSystemServer:
|
||||
apiScope = apiScopeSystemServer
|
||||
default:
|
||||
apiScope = apiScopePublic
|
||||
}
|
||||
|
@@ -140,6 +140,13 @@ func TestConfig(buildDir string, env map[string]string, bp string, fs map[string
|
||||
|
||||
"stubs-sources/foo/Foo.java": nil,
|
||||
"stubs/sources/foo/Foo.java": nil,
|
||||
|
||||
// For java_sdk_library
|
||||
"api/module-lib-current.txt": nil,
|
||||
"api/module-lib-removed.txt": nil,
|
||||
"api/system-server-current.txt": nil,
|
||||
"api/system-server-removed.txt": nil,
|
||||
"build/soong/scripts/gen-java-current-api-files.sh": nil,
|
||||
}
|
||||
|
||||
cc.GatherRequiredFilesForTest(mockFS)
|
||||
|
Reference in New Issue
Block a user