diff options
Diffstat (limited to 'python/bp2build.go')
-rw-r--r-- | python/bp2build.go | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/python/bp2build.go b/python/bp2build.go index 41e9f4974..3b283e432 100644 --- a/python/bp2build.go +++ b/python/bp2build.go @@ -33,6 +33,12 @@ type bazelPythonLibraryAttributes struct { type bazelPythonProtoLibraryAttributes struct { Deps bazel.LabelListAttribute + + // A list of proto_library targets that the proto_library in `deps` depends on + // This list is overestimation. + // Overestimation is necessary since Soong includes other protos via proto.include_dirs and not + // a specific .proto file module explicitly. + Transitive_deps bazel.LabelListAttribute } type baseAttributes struct { @@ -48,7 +54,7 @@ type baseAttributes struct { Imports bazel.StringListAttribute } -func (m *PythonLibraryModule) makeArchVariantBaseAttributes(ctx android.TopDownMutatorContext) baseAttributes { +func (m *PythonLibraryModule) makeArchVariantBaseAttributes(ctx android.Bp2buildMutatorContext) baseAttributes { var attrs baseAttributes archVariantBaseProps := m.GetArchVariantProperties(ctx, &BaseProperties{}) for axis, configToProps := range archVariantBaseProps { @@ -81,7 +87,8 @@ func (m *PythonLibraryModule) makeArchVariantBaseAttributes(ctx android.TopDownM }, android.CommonAttributes{ Name: pyProtoLibraryName, }, &bazelPythonProtoLibraryAttributes{ - Deps: bazel.MakeLabelListAttribute(protoInfo.Proto_libs), + Deps: bazel.MakeLabelListAttribute(protoInfo.Proto_libs), + Transitive_deps: bazel.MakeLabelListAttribute(protoInfo.Transitive_proto_libs), }) attrs.Deps.Add(bazel.MakeLabelAttribute(":" + pyProtoLibraryName)) @@ -116,7 +123,7 @@ func (m *PythonLibraryModule) makeArchVariantBaseAttributes(ctx android.TopDownM return attrs } -func (m *PythonLibraryModule) bp2buildPythonVersion(ctx android.TopDownMutatorContext) *string { +func (m *PythonLibraryModule) bp2buildPythonVersion(ctx android.Bp2buildMutatorContext) *string { py3Enabled := proptools.BoolDefault(m.properties.Version.Py3.Enabled, true) py2Enabled := proptools.BoolDefault(m.properties.Version.Py2.Enabled, false) if py2Enabled && !py3Enabled { @@ -139,7 +146,7 @@ type bazelPythonBinaryAttributes struct { Imports bazel.StringListAttribute } -func (p *PythonLibraryModule) ConvertWithBp2build(ctx android.TopDownMutatorContext) { +func (p *PythonLibraryModule) ConvertWithBp2build(ctx android.Bp2buildMutatorContext) { // 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_library modules under @@ -169,7 +176,7 @@ func (p *PythonLibraryModule) ConvertWithBp2build(ctx android.TopDownMutatorCont }, attrs) } -func (p *PythonBinaryModule) bp2buildBinaryProperties(ctx android.TopDownMutatorContext) (*bazelPythonBinaryAttributes, bazel.LabelListAttribute) { +func (p *PythonBinaryModule) bp2buildBinaryProperties(ctx android.Bp2buildMutatorContext) (*bazelPythonBinaryAttributes, bazel.LabelListAttribute) { // 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 @@ -202,7 +209,7 @@ func (p *PythonBinaryModule) bp2buildBinaryProperties(ctx android.TopDownMutator return attrs, baseAttrs.Data } -func (p *PythonBinaryModule) ConvertWithBp2build(ctx android.TopDownMutatorContext) { +func (p *PythonBinaryModule) ConvertWithBp2build(ctx android.Bp2buildMutatorContext) { attrs, data := p.bp2buildBinaryProperties(ctx) props := bazel.BazelTargetModuleProperties{ @@ -216,7 +223,7 @@ func (p *PythonBinaryModule) ConvertWithBp2build(ctx android.TopDownMutatorConte }, attrs) } -func (p *PythonTestModule) ConvertWithBp2build(ctx android.TopDownMutatorContext) { +func (p *PythonTestModule) ConvertWithBp2build(ctx android.Bp2buildMutatorContext) { // Python tests are currently exactly the same as binaries, but with a different module type attrs, data := p.bp2buildBinaryProperties(ctx) |