Add manual tag to proto_library at the root package
This is a fix similar to aosp/2707793. This adds manual tags to the top-level proto_library created in the root package, plus any dynamically created proto_library targets for proto.include_dirs. These proto_library targets might not specify their deps correctly and might be unbuildable. (We need to keep these targets because they provide a ProtoInfo for cc/java/py source gen) Test: go test ./bp2build Change-Id: Ic00f05186327fcfcc8d33a0a2c0891ed619b7acb
This commit is contained in:
@@ -292,9 +292,14 @@ func Bp2buildProtoProperties(ctx Bp2buildMutatorContext, m *ModuleBase, srcs baz
|
||||
// (or a different subpackage), it will not find it.
|
||||
// The CcProtoGen action itself runs fine because we construct the correct ProtoInfo,
|
||||
// but the FileDescriptorSet of each proto_library might not be compile-able
|
||||
if pkg != ctx.ModuleDir() {
|
||||
//
|
||||
// Add manual tag if either
|
||||
// 1. .proto files are in more than one package
|
||||
// 2. proto.include_dirs is not empty
|
||||
if len(SortedStringKeys(pkgToSrcs)) > 1 || len(protoIncludeDirs) > 0 {
|
||||
tags.Append(bazel.MakeStringListAttribute([]string{"manual"}))
|
||||
}
|
||||
|
||||
ctx.CreateBazelTargetModule(
|
||||
bazel.BazelTargetModuleProperties{Rule_class: "proto_library"},
|
||||
CommonAttributes{Name: name, Dir: proptools.StringPtr(pkg), Tags: tags},
|
||||
|
@@ -4965,6 +4965,7 @@ cc_library_static {
|
||||
}),
|
||||
MakeBazelTarget("proto_library", "foo_proto", AttrNameToString{
|
||||
"srcs": `["foo.proto"]`,
|
||||
"tags": `["manual"]`,
|
||||
}),
|
||||
MakeBazelTarget("cc_lite_proto_library", "foo_cc_proto_lite", AttrNameToString{
|
||||
"deps": `[
|
||||
@@ -5033,6 +5034,7 @@ cc_library_static {
|
||||
MakeBazelTarget("proto_library", "foo_proto", AttrNameToString{
|
||||
"srcs": `["foo.proto"]`,
|
||||
"strip_import_prefix": `""`,
|
||||
"tags": `["manual"]`,
|
||||
}),
|
||||
MakeBazelTarget("cc_lite_proto_library", "foo_cc_proto_lite", AttrNameToString{
|
||||
"deps": `[
|
||||
@@ -5103,6 +5105,7 @@ cc_library_static {
|
||||
}),
|
||||
MakeBazelTarget("proto_library", "foo_proto", AttrNameToString{
|
||||
"srcs": `["foo.proto"]`,
|
||||
"tags": `["manual"]`,
|
||||
}),
|
||||
MakeBazelTarget("cc_lite_proto_library", "foo_cc_proto_lite", AttrNameToString{
|
||||
"deps": `[":foo_proto"]`,
|
||||
|
Reference in New Issue
Block a user