sdk_version: "system_server_current"

The new sdk version "system_server_current" is for system server
components that needs to use all public APIs, system APIs, module APIs,
and the system server APIs.

Bug: 146757305
Test: m
Change-Id: I24fd5af010532a110393676607dc90889f2ec17e
This commit is contained in:
Jiyong Park
2020-02-12 04:36:43 +09:00
parent 2b2aee33a7
commit aae9bd11c2
4 changed files with 39 additions and 12 deletions

View File

@@ -756,6 +756,7 @@ const (
javaSdk
javaSystem
javaModule
javaSystemServer
javaPlatform
)
@@ -789,6 +790,10 @@ func (m *Module) getLinkType(name string) (ret linkType, stubs bool) {
return javaModule, true
case ver.kind == sdkModule:
return javaModule, false
case name == "services-stubs":
return javaSystemServer, true
case ver.kind == sdkSystemServer:
return javaSystemServer, false
case ver.kind == sdkPrivate || ver.kind == sdkNone || ver.kind == sdkCorePlatform:
return javaPlatform, false
case !ver.valid():
@@ -824,17 +829,23 @@ func checkLinkType(ctx android.ModuleContext, from *Module, to linkTypeContext,
}
break
case javaSystem:
if otherLinkType == javaPlatform || otherLinkType == javaModule {
if otherLinkType == javaPlatform || otherLinkType == javaModule || otherLinkType == javaSystemServer {
ctx.ModuleErrorf("compiles against system API, but dependency %q is compiling against private API."+commonMessage,
ctx.OtherModuleName(to))
}
break
case javaModule:
if otherLinkType == javaPlatform {
if otherLinkType == javaPlatform || otherLinkType == javaSystemServer {
ctx.ModuleErrorf("compiles against module API, but dependency %q is compiling against private API."+commonMessage,
ctx.OtherModuleName(to))
}
break
case javaSystemServer:
if otherLinkType == javaPlatform {
ctx.ModuleErrorf("compiles against system server API, but dependency %q is compiling against private API."+commonMessage,
ctx.OtherModuleName(to))
}
break
case javaPlatform:
// no restriction on link-type
break