Check updatable APKs compile against managed SDKs.
As a follow up, this property will be set to APKs participating in mainline program. Bug: 153333044 Test: m Change-Id: I6ea2f3c1d26992259e4e9e6a6d8cecf091d39c43
This commit is contained in:
26
java/java.go
26
java/java.go
@@ -86,7 +86,7 @@ func RegisterJavaBuildComponents(ctx android.RegistrationContext) {
|
||||
ctx.RegisterSingletonType("kythe_java_extract", kytheExtractJavaFactory)
|
||||
}
|
||||
|
||||
func (j *Module) checkSdkVersion(ctx android.ModuleContext) {
|
||||
func (j *Module) checkSdkVersions(ctx android.ModuleContext) {
|
||||
if j.SocSpecific() || j.DeviceSpecific() ||
|
||||
(j.ProductSpecific() && ctx.Config().EnforceProductPartitionInterface()) {
|
||||
if sc, ok := ctx.Module().(sdkContext); ok {
|
||||
@@ -96,6 +96,18 @@ func (j *Module) checkSdkVersion(ctx android.ModuleContext) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ctx.VisitDirectDeps(func(module android.Module) {
|
||||
tag := ctx.OtherModuleDependencyTag(module)
|
||||
switch module.(type) {
|
||||
// TODO(satayev): cover other types as well, e.g. imports
|
||||
case *Library, *AndroidLibrary:
|
||||
switch tag {
|
||||
case bootClasspathTag, libTag, staticLibTag, java9LibTag:
|
||||
checkLinkType(ctx, j, module.(linkTypeContext), tag.(dependencyTag))
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
func (j *Module) checkPlatformAPI(ctx android.ModuleContext) {
|
||||
@@ -898,15 +910,7 @@ func (j *Module) collectDeps(ctx android.ModuleContext) deps {
|
||||
// Handled by AndroidApp.collectAppDeps
|
||||
return
|
||||
}
|
||||
switch module.(type) {
|
||||
case *Library, *AndroidLibrary:
|
||||
if to, ok := module.(linkTypeContext); ok {
|
||||
switch tag {
|
||||
case bootClasspathTag, libTag, staticLibTag:
|
||||
checkLinkType(ctx, j, to, tag.(dependencyTag))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
switch dep := module.(type) {
|
||||
case SdkLibraryDependency:
|
||||
switch tag {
|
||||
@@ -1818,7 +1822,7 @@ func shouldUncompressDex(ctx android.ModuleContext, dexpreopter *dexpreopter) bo
|
||||
}
|
||||
|
||||
func (j *Library) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||
j.checkSdkVersion(ctx)
|
||||
j.checkSdkVersions(ctx)
|
||||
j.dexpreopter.installPath = android.PathForModuleInstall(ctx, "framework", j.Stem()+".jar")
|
||||
j.dexpreopter.isSDKLibrary = j.deviceProperties.IsSDKLibrary
|
||||
j.dexpreopter.uncompressedDex = shouldUncompressDex(ctx, &j.dexpreopter)
|
||||
|
Reference in New Issue
Block a user