diff options
| author | 2021-03-30 16:26:20 +0000 | |
|---|---|---|
| committer | 2021-03-30 16:26:20 +0000 | |
| commit | 8d3c44a986378ee27be61b607ac475ceb3f805fa (patch) | |
| tree | 562cf1644d631a67592b43de3cebc31c45ae608b /java | |
| parent | afd4c6810647653b9050b217553072ea2608b7d7 (diff) | |
| parent | 82886d6cbf4d4785d1f746aefc11db6ec724dbb7 (diff) | |
Merge "Add contents property to boot_image (and prebuilt_boot_image)"
Diffstat (limited to 'java')
| -rw-r--r-- | java/boot_image.go | 11 | ||||
| -rw-r--r-- | java/boot_image_test.go | 24 |
2 files changed, 33 insertions, 2 deletions
diff --git a/java/boot_image.go b/java/boot_image.go index 8594792b5..0fc9c6cb6 100644 --- a/java/boot_image.go +++ b/java/boot_image.go @@ -73,13 +73,13 @@ var _ android.ExcludeFromVisibilityEnforcementTag = bootImageContentDepTag type bootImageProperties struct { // The name of the image this represents. // - // Must be one of "art" or "boot". + // If specified then it must be one of "art" or "boot". Image_name *string // The contents of this boot image, could be either java_library, java_sdk_library, or boot_image. // // The order of this list matters as it is the order that is used in the bootclasspath. - Contents []string `blueprint:"mutated"` + Contents []string } type BootImageModule struct { @@ -104,6 +104,13 @@ func bootImageFactory() android.Module { } func bootImageConsistencyCheck(ctx android.EarlyModuleContext, m *BootImageModule) { + contents := m.properties.Contents + if m.properties.Image_name == nil && len(contents) == 0 { + ctx.ModuleErrorf(`neither of the "image_name" and "contents" properties have been supplied, please supply exactly one`) + } + if m.properties.Image_name != nil && len(contents) != 0 { + ctx.ModuleErrorf(`both of the "image_name" and "contents" properties have been supplied, please supply exactly one`) + } imageName := proptools.String(m.properties.Image_name) if imageName == "art" { // Get the configuration for the art apex jars. Do not use getImageConfig(ctx) here as this is diff --git a/java/boot_image_test.go b/java/boot_image_test.go index a289df877..e1866dedc 100644 --- a/java/boot_image_test.go +++ b/java/boot_image_test.go @@ -101,3 +101,27 @@ func TestBootImageInconsistentArtConfiguration_ApexMixture(t *testing.T) { } `) } + +func TestBootImageWithoutImageNameOrContents(t *testing.T) { + prepareForTestWithBootImage. + ExtendWithErrorHandler(android.FixtureExpectsAtLeastOneErrorMatchingPattern( + `\Qneither of the "image_name" and "contents" properties\E`)). + RunTestWithBp(t, ` + boot_image { + name: "boot-image", + } + `) +} + +func TestBootImageWithImageNameAndContents(t *testing.T) { + prepareForTestWithBootImage. + ExtendWithErrorHandler(android.FixtureExpectsAtLeastOneErrorMatchingPattern( + `\Qboth of the "image_name" and "contents" properties\E`)). + RunTestWithBp(t, ` + boot_image { + name: "boot-image", + image_name: "boot", + contents: ["other"], + } + `) +} |