Merge "Fix possible orphaned proto_library targets" into main

This commit is contained in:
Spandan Das
2023-08-14 20:24:03 +00:00
committed by Gerrit Code Review
2 changed files with 13 additions and 0 deletions

View File

@@ -283,6 +283,15 @@ func Bp2buildProtoProperties(ctx Bp2buildMutatorContext, m *ModuleBase, srcs baz
} }
} }
// TODO - b/246997908: Handle potential orphaned proto_library targets
// To create proto_library targets in the same package, we split the .proto files
// This means that if a proto_library in a subpackage imports another proto_library from the parent package
// (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() {
tags.Append(bazel.MakeStringListAttribute([]string{"manual"}))
}
ctx.CreateBazelTargetModule( ctx.CreateBazelTargetModule(
bazel.BazelTargetModuleProperties{Rule_class: "proto_library"}, bazel.BazelTargetModuleProperties{Rule_class: "proto_library"},
CommonAttributes{Name: name, Dir: proptools.StringPtr(pkg), Tags: tags}, CommonAttributes{Name: name, Dir: proptools.StringPtr(pkg), Tags: tags},

View File

@@ -4967,6 +4967,7 @@ cc_library_static {
tc.ExpectedBazelTargets = []string{ tc.ExpectedBazelTargets = []string{
MakeBazelTarget("proto_library", "foo_proto", AttrNameToString{ MakeBazelTarget("proto_library", "foo_proto", AttrNameToString{
"srcs": `["//bar:bar.proto"]`, "srcs": `["//bar:bar.proto"]`,
"tags": `["manual"]`,
}), }),
} }
runCcLibraryTestCase(t, tc) runCcLibraryTestCase(t, tc)
@@ -4976,6 +4977,7 @@ cc_library_static {
tc.ExpectedBazelTargets = []string{ tc.ExpectedBazelTargets = []string{
MakeBazelTarget("proto_library", "foo_proto", AttrNameToString{ MakeBazelTarget("proto_library", "foo_proto", AttrNameToString{
"srcs": `["//baz/subbaz:baz.proto"]`, "srcs": `["//baz/subbaz:baz.proto"]`,
"tags": `["manual"]`,
}), }),
} }
runCcLibraryTestCase(t, tc) runCcLibraryTestCase(t, tc)
@@ -5035,6 +5037,7 @@ cc_library_static {
"srcs": `["//bar:bar.proto"]`, "srcs": `["//bar:bar.proto"]`,
"strip_import_prefix": `""`, "strip_import_prefix": `""`,
"import_prefix": `"bar"`, "import_prefix": `"bar"`,
"tags": `["manual"]`,
}), }),
} }
runCcLibraryTestCase(t, tc) runCcLibraryTestCase(t, tc)
@@ -5046,6 +5049,7 @@ cc_library_static {
"srcs": `["//baz/subbaz:baz.proto"]`, "srcs": `["//baz/subbaz:baz.proto"]`,
"strip_import_prefix": `""`, "strip_import_prefix": `""`,
"import_prefix": `"baz/subbaz"`, "import_prefix": `"baz/subbaz"`,
"tags": `["manual"]`,
}), }),
} }
runCcLibraryTestCase(t, tc) runCcLibraryTestCase(t, tc)