Handle proto.include_dirs in bp2build for py

Followup to aosp/2711114 which added proto.include_dirs support for cc

Test: go test ./bp2build
Test: Added an integration test in build/bazel/examples
Bug: 285140726
Change-Id: Ic78dacbe46d9ea67e9441948852a3f94dabbb35e
This commit is contained in:
Spandan Das
2023-08-15 22:08:18 +00:00
parent 4e5a194b90
commit 4ed3d120c9

View File

@@ -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 {
@@ -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))