Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 755b10fe authored by Paul Duffin's avatar Paul Duffin Committed by Gerrit Code Review
Browse files

Merge "Add bootclasspath_fragment as an alias for boot_image"

parents 60fbea0e 4b64ba05
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -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...)
+17 −1
Original line number Diff line number Diff line
@@ -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 {
+12 −0
Original line number Diff line number Diff line
@@ -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(