Merge "Add bootclasspath_fragment as an alias for boot_image"

This commit is contained in:
Paul Duffin 2021-03-29 13:37:18 +00:00 committed by Gerrit Code Review
commit 755b10fe53
3 changed files with 36 additions and 1 deletions

View file

@ -93,8 +93,14 @@ type apexBundleProperties struct {
Multilib apexMultilibProperties
// List of boot images that are embedded inside this APEX bundle.
//
// deprecated: Use Bootclasspath_fragments
// TODO(b/177892522): Remove after has been replaced by Bootclasspath_fragments
Boot_images []string
// List of bootclasspath fragments that are embedded inside this APEX bundle.
Bootclasspath_fragments []string
// List of java libraries that are embedded inside this APEX bundle.
Java_libs []string
@ -748,6 +754,7 @@ func (a *apexBundle) DepsMutator(ctx android.BottomUpMutatorContext) {
// Common-arch dependencies come next
commonVariation := ctx.Config().AndroidCommonTarget.Variations()
ctx.AddFarVariationDependencies(commonVariation, bootImageTag, a.properties.Boot_images...)
ctx.AddFarVariationDependencies(commonVariation, bootImageTag, a.properties.Bootclasspath_fragments...)
ctx.AddFarVariationDependencies(commonVariation, javaLibTag, a.properties.Java_libs...)
ctx.AddFarVariationDependencies(commonVariation, bpfTag, a.properties.Bpfs...)
ctx.AddFarVariationDependencies(commonVariation, fsTag, a.properties.Filesystems...)

View file

@ -27,17 +27,29 @@ import (
func init() {
RegisterBootImageBuildComponents(android.InitRegistrationContext)
// TODO(b/177892522): Remove after has been replaced by bootclasspath_fragments
android.RegisterSdkMemberType(&bootImageMemberType{
SdkMemberTypeBase: android.SdkMemberTypeBase{
PropertyName: "boot_images",
SupportsSdk: true,
},
})
android.RegisterSdkMemberType(&bootImageMemberType{
SdkMemberTypeBase: android.SdkMemberTypeBase{
PropertyName: "bootclasspath_fragments",
SupportsSdk: true,
},
})
}
func RegisterBootImageBuildComponents(ctx android.RegistrationContext) {
// TODO(b/177892522): Remove after has been replaced by bootclasspath_fragment
ctx.RegisterModuleType("boot_image", bootImageFactory)
ctx.RegisterModuleType("prebuilt_boot_image", prebuiltBootImageFactory)
ctx.RegisterModuleType("bootclasspath_fragment", bootImageFactory)
ctx.RegisterModuleType("prebuilt_bootclasspath_fragment", prebuiltBootImageFactory)
}
type bootImageProperties struct {
@ -172,7 +184,11 @@ func (b *bootImageMemberType) IsInstance(module android.Module) bool {
}
func (b *bootImageMemberType) AddPrebuiltModule(ctx android.SdkMemberContext, member android.SdkMember) android.BpModule {
if b.PropertyName == "boot_images" {
return ctx.SnapshotBuilder().AddPrebuiltModule(member, "prebuilt_boot_image")
} else {
return ctx.SnapshotBuilder().AddPrebuiltModule(member, "prebuilt_bootclasspath_fragment")
}
}
func (b *bootImageMemberType) CreateVariantPropertiesStruct() android.SdkMemberProperties {

View file

@ -41,6 +41,18 @@ func TestUnknownBootImage(t *testing.T) {
`)
}
func TestUnknownBootclasspathFragmentImageName(t *testing.T) {
prepareForTestWithBootImage.
ExtendWithErrorHandler(android.FixtureExpectsAtLeastOneErrorMatchingPattern(
`\Qimage_name: Unknown image name "unknown", expected one of art, boot\E`)).
RunTestWithBp(t, `
bootclasspath_fragment {
name: "unknown-boot-image",
image_name: "unknown",
}
`)
}
func TestUnknownPrebuiltBootImage(t *testing.T) {
prepareForTestWithBootImage.
ExtendWithErrorHandler(android.FixtureExpectsAtLeastOneErrorMatchingPattern(