bp2build data property -> data attr in gensrcs
Test: go test bp2build tests
Change-Id: I2192cf9846a5783385397337d40cca85a1ef73e7
diff --git a/genrule/genrule.go b/genrule/genrule.go
index fbe2a5d..889bccd 100644
--- a/genrule/genrule.go
+++ b/genrule/genrule.go
@@ -873,6 +873,7 @@
Output_extension *string
Tools bazel.LabelListAttribute
Cmd string
+ Data bazel.LabelListAttribute
}
const defaultShardSize = 50
@@ -952,6 +953,23 @@
allReplacements.Append(tools.Value)
allReplacements.Append(bazel.FirstUniqueBazelLabelList(srcs_labels))
+ // The Output_extension prop is not in an immediately accessible field
+ // in the Module struct, so use GetProperties and cast it
+ // to the known struct prop.
+ var outputExtension *string
+ var data bazel.LabelListAttribute
+ if ctx.ModuleType() == "gensrcs" {
+ for _, propIntf := range m.GetProperties() {
+ if props, ok := propIntf.(*genSrcsProperties); ok {
+ outputExtension = props.Output_extension
+ dataFiles := android.BazelLabelForModuleSrc(ctx, props.Data)
+ allReplacements.Append(bazel.FirstUniqueBazelLabelList(dataFiles))
+ data = bazel.MakeLabelListAttribute(dataFiles)
+ break
+ }
+ }
+ }
+
// Replace in and out variables with $< and $@
var cmd string
if m.properties.Cmd != nil {
@@ -980,16 +998,6 @@
tags := android.ApexAvailableTagsWithoutTestApexes(ctx, m)
if ctx.ModuleType() == "gensrcs" {
- // The Output_extension prop is not in an immediately accessible field
- // in the Module struct, so use GetProperties and cast it
- // to the known struct prop.
- var outputExtension *string
- for _, propIntf := range m.GetProperties() {
- if props, ok := propIntf.(*genSrcsProperties); ok {
- outputExtension = props.Output_extension
- break
- }
- }
props := bazel.BazelTargetModuleProperties{
Rule_class: "gensrcs",
Bzl_load_location: "//build/bazel/rules:gensrcs.bzl",
@@ -999,6 +1007,7 @@
Output_extension: outputExtension,
Cmd: cmd,
Tools: tools,
+ Data: data,
}
ctx.CreateBazelTargetModule(props, android.CommonAttributes{
Name: m.Name(),