Extract IsModuleInVersionedSdk

Bug: 177892522
Test: m nothing
Change-Id: I348d380a0d29abdd6a84420be52cc1b674f2a7ab
This commit is contained in:
Paul Duffin 2021-04-28 00:39:52 +01:00
parent 59dc69c2c7
commit 0c2e08312c
3 changed files with 14 additions and 6 deletions

View File

@ -171,6 +171,16 @@ func InitSdkAwareModule(m SdkAware) {
m.AddProperties(&base.properties)
}
// IsModuleInVersionedSdk returns true if the module is an versioned sdk.
func IsModuleInVersionedSdk(module Module) bool {
if s, ok := module.(SdkAware); ok {
if !s.ContainingSdk().Unversioned() {
return true
}
}
return false
}
// Provide support for generating the build rules which will build the snapshot.
type SnapshotBuilder interface {
// Copy src to the dest (which is a snapshot relative path) and add the dest

View File

@ -150,7 +150,7 @@ func bootclasspathFragmentInitContentsFromImage(ctx android.EarlyModuleContext,
imageName := proptools.String(m.properties.Image_name)
if imageName == "art" {
// TODO(b/177892522): Prebuilts (versioned or not) should not use the image_name property.
if m.MemberName() != "" {
if android.IsModuleInVersionedSdk(m) {
// The module is a versioned prebuilt so ignore it. This is done for a couple of reasons:
// 1. There is no way to use this at the moment so ignoring it is safe.
// 2. Attempting to initialize the contents property from the configuration will end up having
@ -205,7 +205,7 @@ func (b *BootclasspathFragmentModule) bootclasspathImageNameContentsConsistencyC
imageName := proptools.String(b.properties.Image_name)
if imageName == "art" {
// TODO(b/177892522): Prebuilts (versioned or not) should not use the image_name property.
if b.MemberName() != "" {
if android.IsModuleInVersionedSdk(b) {
// The module is a versioned prebuilt so ignore it. This is done for a couple of reasons:
// 1. There is no way to use this at the moment so ignoring it is safe.
// 2. Attempting to initialize the contents property from the configuration will end up having

View File

@ -226,11 +226,9 @@ type platformCompatConfigSingleton struct {
func isModulePreferredByCompatConfig(module android.Module) bool {
// A versioned prebuilt_platform_compat_config, i.e. foo-platform-compat-config@current should be
// ignored.
if s, ok := module.(android.SdkAware); ok {
if !s.ContainingSdk().Unversioned() {
if android.IsModuleInVersionedSdk(module) {
return false
}
}
return android.IsModulePreferred(module)
}