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
diff --git a/android/proto.go b/android/proto.go
index 0ffb9b6..178d54f 100644
--- a/android/proto.go
+++ b/android/proto.go
@@ -292,9 +292,14 @@
 			// (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},