Merge "sh_binary: Use pointers for optional attributes"
diff --git a/bp2build/sh_conversion_test.go b/bp2build/sh_conversion_test.go
index f6d2a20..ac89087 100644
--- a/bp2build/sh_conversion_test.go
+++ b/bp2build/sh_conversion_test.go
@@ -73,3 +73,20 @@
})},
})
}
+
+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 e1df8ac..b1d1bb2 100644
--- a/sh/sh_binary.go
+++ b/sh/sh_binary.go
@@ -511,8 +511,8 @@
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 @@
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{