From b732d7c7656020e748ed376843596feb4ee3ce28 Mon Sep 17 00:00:00 2001 From: Jingwen Chen Date: Fri, 10 Jun 2022 08:14:19 +0000 Subject: [PATCH] bp2build: convert apex.logging_parent. Test: CI Fixes: 235559958 Change-Id: I7b578c67eedb0379603bcf2fc029d03facfbbb0f --- apex/apex.go | 12 +++++ bp2build/apex_conversion_test.go | 77 ++++++++++++++++++++++++++++++-- 2 files changed, 86 insertions(+), 3 deletions(-) diff --git a/apex/apex.go b/apex/apex.go index 64e1760a4..beabbc90a 100644 --- a/apex/apex.go +++ b/apex/apex.go @@ -2548,6 +2548,11 @@ func (o *OverrideApex) ConvertWithBp2build(ctx android.TopDownMutatorContext) { if overridableProperties.Package_name != "" { attrs.Package_name = &overridableProperties.Package_name } + + // Logging parent + if overridableProperties.Logging_parent != "" { + attrs.Logging_parent = &overridableProperties.Logging_parent + } } ctx.CreateBazelTargetModule(props, android.CommonAttributes{Name: o.Name()}, &attrs) @@ -3490,6 +3495,7 @@ type bazelApexBundleAttributes struct { Native_shared_libs_64 bazel.LabelListAttribute Compressible bazel.BoolAttribute Package_name *string + Logging_parent *string } type convertedNativeSharedLibs struct { @@ -3589,6 +3595,11 @@ func convertWithBp2build(a *apexBundle, ctx android.TopDownMutatorContext) (baze packageName = &a.overridableProperties.Package_name } + var loggingParent *string + if a.overridableProperties.Logging_parent != "" { + loggingParent = &a.overridableProperties.Logging_parent + } + attrs := bazelApexBundleAttributes{ Manifest: manifestLabelAttribute, Android_manifest: androidManifestLabelAttribute, @@ -3604,6 +3615,7 @@ func convertWithBp2build(a *apexBundle, ctx android.TopDownMutatorContext) (baze Prebuilts: prebuiltsLabelListAttribute, Compressible: compressibleAttribute, Package_name: packageName, + Logging_parent: loggingParent, } props := bazel.BazelTargetModuleProperties{ diff --git a/bp2build/apex_conversion_test.go b/bp2build/apex_conversion_test.go index 05045eec0..7bc379fac 100644 --- a/bp2build/apex_conversion_test.go +++ b/bp2build/apex_conversion_test.go @@ -137,6 +137,7 @@ apex { "prebuilt_2", ], package_name: "com.android.apogee.test.package", + logging_parent: "logging.parent", } `, expectedBazelTargets: []string{ @@ -171,9 +172,10 @@ apex { ":prebuilt_1", ":prebuilt_2", ]`, - "updatable": "False", - "compressible": "False", - "package_name": `"com.android.apogee.test.package"`, + "updatable": "False", + "compressible": "False", + "package_name": `"com.android.apogee.test.package"`, + "logging_parent": `"logging.parent"`, }), }}) } @@ -945,3 +947,72 @@ override_apex { }), }}) } + +func TestApexBundleSimple_NoLoggingParentOverride(t *testing.T) { + runOverrideApexTestCase(t, bp2buildTestCase{ + description: "override_apex - logging_parent - no override", + moduleTypeUnderTest: "override_apex", + moduleTypeUnderTestFactory: apex.OverrideApexFactory, + filesystem: map[string]string{ + "system/sepolicy/apex/Android.bp": ` +filegroup { + name: "com.android.apogee-file_contexts", + srcs: [ "apogee-file_contexts", ], + bazel_module: { bp2build_available: false }, +}`, + }, + blueprint: ` +apex { + name: "com.android.apogee", + bazel_module: { bp2build_available: false }, + logging_parent: "foo.bar.baz", +} + +override_apex { + name: "com.google.android.apogee", + base: ":com.android.apogee", +} +`, + expectedBazelTargets: []string{ + makeBazelTarget("apex", "com.google.android.apogee", attrNameToString{ + "file_contexts": `"//system/sepolicy/apex:com.android.apogee-file_contexts"`, + "manifest": `"apex_manifest.json"`, + "logging_parent": `"foo.bar.baz"`, + }), + }}) +} + +func TestApexBundleSimple_LoggingParentOverride(t *testing.T) { + runOverrideApexTestCase(t, bp2buildTestCase{ + description: "override_apex - logging_parent - override", + moduleTypeUnderTest: "override_apex", + moduleTypeUnderTestFactory: apex.OverrideApexFactory, + filesystem: map[string]string{ + "system/sepolicy/apex/Android.bp": ` +filegroup { + name: "com.android.apogee-file_contexts", + srcs: [ "apogee-file_contexts", ], + bazel_module: { bp2build_available: false }, +}`, + }, + blueprint: ` +apex { + name: "com.android.apogee", + bazel_module: { bp2build_available: false }, + logging_parent: "foo.bar.baz", +} + +override_apex { + name: "com.google.android.apogee", + base: ":com.android.apogee", + logging_parent: "foo.bar.baz.override", +} +`, + expectedBazelTargets: []string{ + makeBazelTarget("apex", "com.google.android.apogee", attrNameToString{ + "file_contexts": `"//system/sepolicy/apex:com.android.apogee-file_contexts"`, + "manifest": `"apex_manifest.json"`, + "logging_parent": `"foo.bar.baz.override"`, + }), + }}) +}