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
This commit is contained in:
@@ -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"]`,
|
||||
})},
|
||||
})
|
||||
}
|
||||
|
@@ -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{
|
||||
|
Reference in New Issue
Block a user