diff options
Diffstat (limited to 'python/binary.go')
-rw-r--r-- | python/binary.go | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/python/binary.go b/python/binary.go index f4ad626b8..1f49a5476 100644 --- a/python/binary.go +++ b/python/binary.go @@ -34,7 +34,7 @@ func registerPythonBinaryComponents(ctx android.RegistrationContext) { } type bazelPythonBinaryAttributes struct { - Main *string + Main *bazel.Label Srcs bazel.LabelListAttribute Deps bazel.LabelListAttribute Python_version *string @@ -42,17 +42,6 @@ type bazelPythonBinaryAttributes struct { } func pythonBinaryBp2Build(ctx android.TopDownMutatorContext, m *Module) { - var main *string - for _, propIntf := range m.GetProperties() { - if props, ok := propIntf.(*BinaryProperties); ok { - // main is optional. - if props.Main != nil { - main = props.Main - break - } - } - } - // TODO(b/182306917): this doesn't fully handle all nested props versioned // by the python version, which would have been handled by the version split // mutator. This is sufficient for very simple python_binary_host modules @@ -72,13 +61,24 @@ func pythonBinaryBp2Build(ctx android.TopDownMutatorContext, m *Module) { baseAttrs := m.makeArchVariantBaseAttributes(ctx) attrs := &bazelPythonBinaryAttributes{ - Main: main, + Main: nil, Srcs: baseAttrs.Srcs, Deps: baseAttrs.Deps, Python_version: python_version, Imports: baseAttrs.Imports, } + for _, propIntf := range m.GetProperties() { + if props, ok := propIntf.(*BinaryProperties); ok { + // main is optional. + if props.Main != nil { + main := android.BazelLabelForModuleSrcSingle(ctx, *props.Main) + attrs.Main = &main + break + } + } + } + props := bazel.BazelTargetModuleProperties{ // Use the native py_binary rule. Rule_class: "py_binary", |