From 48c6ead90d25369300a12f2022d66fa52bfead6e Mon Sep 17 00:00:00 2001 From: Liz Kammer Date: Tue, 21 Dec 2021 15:36:11 -0500 Subject: [PATCH] sh_binary: Use pointers for optional attributes Empty strings for filename and sub_dir were unnecessicarily always being propagated to BUILD files. Test: build/bazel/ci/bp2build.sh Change-Id: I39d6af12b1decd1d3813b92daa862ebc025daa7d --- bp2build/sh_conversion_test.go | 17 +++++++++++++++++ sh/sh_binary.go | 12 ++++++------ 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/bp2build/sh_conversion_test.go b/bp2build/sh_conversion_test.go index f6d2a2066..ac890878b 100644 --- a/bp2build/sh_conversion_test.go +++ b/bp2build/sh_conversion_test.go @@ -73,3 +73,20 @@ func TestShBinarySimple(t *testing.T) { })}, }) } + +func TestShBinaryDefaults(t *testing.T) { + runShBinaryTestCase(t, bp2buildTestCase{ + description: "sh_binary test", + moduleTypeUnderTest: "sh_binary", + moduleTypeUnderTestFactory: sh.ShBinaryFactory, + blueprint: `sh_binary { + name: "foo", + src: "foo.sh", + bazel_module: { bp2build_available: true }, +}`, + expectedBazelTargets: []string{ + makeBazelTarget("sh_binary", "foo", attrNameToString{ + "srcs": `["foo.sh"]`, + })}, + }) +} diff --git a/sh/sh_binary.go b/sh/sh_binary.go index e1df8ac59..b1d1bb21e 100644 --- a/sh/sh_binary.go +++ b/sh/sh_binary.go @@ -511,8 +511,8 @@ func ShTestHostFactory() android.Module { type bazelShBinaryAttributes struct { Srcs bazel.LabelListAttribute - Filename string - Sub_dir string + Filename *string + Sub_dir *string // Bazel also supports the attributes below, but (so far) these are not required for Bionic // deps // data @@ -538,14 +538,14 @@ func (m *ShBinary) ConvertWithBp2build(ctx android.TopDownMutatorContext) { srcs := bazel.MakeLabelListAttribute( android.BazelLabelForModuleSrc(ctx, []string{*m.properties.Src})) - var filename string + var filename *string if m.properties.Filename != nil { - filename = *m.properties.Filename + filename = m.properties.Filename } - var subDir string + var subDir *string if m.properties.Sub_dir != nil { - subDir = *m.properties.Sub_dir + subDir = m.properties.Sub_dir } attrs := &bazelShBinaryAttributes{