sdk_version: "module_current" is supported
module_* is a new API surface for OS modules (e.g. APEXes). It has slightly bigger API surface than the system_* SDK. Specifically, APIs with @SystemApi(client=MODULE_LIBRARIES) are added there. Bug: 146757305 Test: m Change-Id: I8980e50c0e3a4cd843048e0de1f638e854384f46
This commit is contained in:
15
java/java.go
15
java/java.go
@@ -757,9 +757,12 @@ func checkProducesJars(ctx android.ModuleContext, dep android.SourceFileProducer
|
||||
type linkType int
|
||||
|
||||
const (
|
||||
// TODO(jiyong) rename these for better readability. Make the allowed
|
||||
// and disallowed link types explicit
|
||||
javaCore linkType = iota
|
||||
javaSdk
|
||||
javaSystem
|
||||
javaModule
|
||||
javaPlatform
|
||||
)
|
||||
|
||||
@@ -789,6 +792,10 @@ func (m *Module) getLinkType(name string) (ret linkType, stubs bool) {
|
||||
return javaSdk, true
|
||||
case ver.kind == sdkPublic:
|
||||
return javaSdk, false
|
||||
case name == "android_module_lib_stubs_current":
|
||||
return javaModule, true
|
||||
case ver.kind == sdkModule:
|
||||
return javaModule, false
|
||||
case ver.kind == sdkPrivate || ver.kind == sdkNone || ver.kind == sdkCorePlatform:
|
||||
return javaPlatform, false
|
||||
case !ver.valid():
|
||||
@@ -824,11 +831,17 @@ func checkLinkType(ctx android.ModuleContext, from *Module, to linkTypeContext,
|
||||
}
|
||||
break
|
||||
case javaSystem:
|
||||
if otherLinkType == javaPlatform {
|
||||
if otherLinkType == javaPlatform || otherLinkType == javaModule {
|
||||
ctx.ModuleErrorf("compiles against system API, but dependency %q is compiling against private API."+commonMessage,
|
||||
ctx.OtherModuleName(to))
|
||||
}
|
||||
break
|
||||
case javaModule:
|
||||
if otherLinkType == javaPlatform {
|
||||
ctx.ModuleErrorf("compiles against module API, but dependency %q is compiling against private API."+commonMessage,
|
||||
ctx.OtherModuleName(to))
|
||||
}
|
||||
break
|
||||
case javaPlatform:
|
||||
// no restriction on link-type
|
||||
break
|
||||
|
Reference in New Issue
Block a user