xref: /aosp_15_r20/external/bazelbuild-rules_go/proto/wkt/BUILD.bazel (revision 9bb1b549b6a84214c53be0924760be030e66b93a)
1*9bb1b549SSpandan Dasload("@bazel_skylib//:bzl_library.bzl", "bzl_library")
2*9bb1b549SSpandan Dasload(":well_known_types.bzl", "go_proto_wrapper")
3*9bb1b549SSpandan Dasload("//proto:def.bzl", "go_proto_library")
4*9bb1b549SSpandan Das
5*9bb1b549SSpandan Das# Several of the well-known types have pre-generated code checked into to both
6*9bb1b549SSpandan Das# github.com/golang/protobuf (APIv1) and google.golang.org/protobuf (APIv2).
7*9bb1b549SSpandan Das# The APIv1 packages are just wrappers for the APIv2 packages. We're using
8*9bb1b549SSpandan Das# the APIv1 compiler, but it won't generate these wrappers for us automatically.
9*9bb1b549SSpandan Das# If we use it, and a program also imports the APIv2 packages, we'll end up
10*9bb1b549SSpandan Das# with a registration conflict. Instead, we'll use the pre-generated APIv1
11*9bb1b549SSpandan Das# code, but we'll wrap it up in a go_proto_library.
12*9bb1b549SSpandan Dasgo_proto_wrapper(
13*9bb1b549SSpandan Das    name = "any_wrapper",
14*9bb1b549SSpandan Das    library = "@com_github_golang_protobuf//ptypes/any:go_default_library",
15*9bb1b549SSpandan Das    visibility = ["//visibility:private"],
16*9bb1b549SSpandan Das)
17*9bb1b549SSpandan Das
18*9bb1b549SSpandan Dasgo_proto_library(
19*9bb1b549SSpandan Das    name = "any_go_proto",
20*9bb1b549SSpandan Das    compilers = [":any_wrapper"],
21*9bb1b549SSpandan Das    importpath = "github.com/golang/protobuf/ptypes/any",
22*9bb1b549SSpandan Das    protos = ["@com_google_protobuf//:any_proto"],
23*9bb1b549SSpandan Das    visibility = ["//visibility:public"],
24*9bb1b549SSpandan Das)
25*9bb1b549SSpandan Das
26*9bb1b549SSpandan Dasgo_proto_wrapper(
27*9bb1b549SSpandan Das    name = "compiler_plugin_wrapper",
28*9bb1b549SSpandan Das    library = "@com_github_golang_protobuf//protoc-gen-go/plugin:go_default_library",
29*9bb1b549SSpandan Das    visibility = ["//visibility:private"],
30*9bb1b549SSpandan Das)
31*9bb1b549SSpandan Das
32*9bb1b549SSpandan Dasgo_proto_library(
33*9bb1b549SSpandan Das    name = "compiler_plugin_go_proto",
34*9bb1b549SSpandan Das    compilers = [":compiler_plugin_wrapper"],
35*9bb1b549SSpandan Das    importpath = "github.com/golang/protobuf/protoc-gen-go/plugin",
36*9bb1b549SSpandan Das    protos = ["@com_google_protobuf//:compiler_plugin_proto"],
37*9bb1b549SSpandan Das    visibility = ["//visibility:public"],
38*9bb1b549SSpandan Das)
39*9bb1b549SSpandan Das
40*9bb1b549SSpandan Dasgo_proto_wrapper(
41*9bb1b549SSpandan Das    name = "descriptor_wrapper",
42*9bb1b549SSpandan Das    library = "@com_github_golang_protobuf//protoc-gen-go/descriptor:go_default_library",
43*9bb1b549SSpandan Das    visibility = ["//visibility:private"],
44*9bb1b549SSpandan Das)
45*9bb1b549SSpandan Das
46*9bb1b549SSpandan Dasgo_proto_library(
47*9bb1b549SSpandan Das    name = "descriptor_go_proto",
48*9bb1b549SSpandan Das    compilers = [":descriptor_wrapper"],
49*9bb1b549SSpandan Das    importpath = "github.com/golang/protobuf/protoc-gen-go/descriptor",
50*9bb1b549SSpandan Das    protos = ["@com_google_protobuf//:descriptor_proto"],
51*9bb1b549SSpandan Das    visibility = ["//visibility:public"],
52*9bb1b549SSpandan Das)
53*9bb1b549SSpandan Das
54*9bb1b549SSpandan Dasgo_proto_wrapper(
55*9bb1b549SSpandan Das    name = "duration_wrapper",
56*9bb1b549SSpandan Das    library = "@com_github_golang_protobuf//ptypes/duration:go_default_library",
57*9bb1b549SSpandan Das    visibility = ["//visibility:private"],
58*9bb1b549SSpandan Das)
59*9bb1b549SSpandan Das
60*9bb1b549SSpandan Dasgo_proto_library(
61*9bb1b549SSpandan Das    name = "duration_go_proto",
62*9bb1b549SSpandan Das    compilers = [":duration_wrapper"],
63*9bb1b549SSpandan Das    importpath = "github.com/golang/protobuf/ptypes/duration",
64*9bb1b549SSpandan Das    protos = ["@com_google_protobuf//:duration_proto"],
65*9bb1b549SSpandan Das    visibility = ["//visibility:public"],
66*9bb1b549SSpandan Das)
67*9bb1b549SSpandan Das
68*9bb1b549SSpandan Dasgo_proto_wrapper(
69*9bb1b549SSpandan Das    name = "empty_wrapper",
70*9bb1b549SSpandan Das    library = "@com_github_golang_protobuf//ptypes/empty:go_default_library",
71*9bb1b549SSpandan Das    visibility = ["//visibility:private"],
72*9bb1b549SSpandan Das)
73*9bb1b549SSpandan Das
74*9bb1b549SSpandan Dasgo_proto_library(
75*9bb1b549SSpandan Das    name = "empty_go_proto",
76*9bb1b549SSpandan Das    compilers = [":empty_wrapper"],
77*9bb1b549SSpandan Das    importpath = "github.com/golang/protobuf/ptypes/empty",
78*9bb1b549SSpandan Das    protos = ["@com_google_protobuf//:empty_proto"],
79*9bb1b549SSpandan Das    visibility = ["//visibility:public"],
80*9bb1b549SSpandan Das)
81*9bb1b549SSpandan Das
82*9bb1b549SSpandan Dasgo_proto_wrapper(
83*9bb1b549SSpandan Das    name = "field_mask_wrapper",
84*9bb1b549SSpandan Das    library = "@org_golang_google_genproto//protobuf/field_mask:go_default_library",
85*9bb1b549SSpandan Das    visibility = ["//visibility:private"],
86*9bb1b549SSpandan Das)
87*9bb1b549SSpandan Das
88*9bb1b549SSpandan Dasgo_proto_library(
89*9bb1b549SSpandan Das    name = "field_mask_go_proto",
90*9bb1b549SSpandan Das    compilers = [":field_mask_wrapper"],
91*9bb1b549SSpandan Das    importpath = "google.golang.org/genproto/protobuf/field_mask",
92*9bb1b549SSpandan Das    protos = ["@com_google_protobuf//:field_mask_proto"],
93*9bb1b549SSpandan Das    visibility = ["//visibility:public"],
94*9bb1b549SSpandan Das)
95*9bb1b549SSpandan Das
96*9bb1b549SSpandan Dasgo_proto_wrapper(
97*9bb1b549SSpandan Das    name = "source_context_wrapper",
98*9bb1b549SSpandan Das    library = "@org_golang_google_genproto//protobuf/source_context:go_default_library",
99*9bb1b549SSpandan Das    visibility = ["//visibility:private"],
100*9bb1b549SSpandan Das)
101*9bb1b549SSpandan Das
102*9bb1b549SSpandan Dasgo_proto_library(
103*9bb1b549SSpandan Das    name = "source_context_go_proto",
104*9bb1b549SSpandan Das    compilers = [":source_context_wrapper"],
105*9bb1b549SSpandan Das    importpath = "google.golang.org/genproto/protobuf/source_context",
106*9bb1b549SSpandan Das    protos = ["@com_google_protobuf//:source_context_proto"],
107*9bb1b549SSpandan Das    visibility = ["//visibility:public"],
108*9bb1b549SSpandan Das)
109*9bb1b549SSpandan Das
110*9bb1b549SSpandan Dasgo_proto_wrapper(
111*9bb1b549SSpandan Das    name = "struct_wrapper",
112*9bb1b549SSpandan Das    library = "@com_github_golang_protobuf//ptypes/struct:go_default_library",
113*9bb1b549SSpandan Das    visibility = ["//visibility:private"],
114*9bb1b549SSpandan Das)
115*9bb1b549SSpandan Das
116*9bb1b549SSpandan Dasgo_proto_library(
117*9bb1b549SSpandan Das    name = "struct_go_proto",
118*9bb1b549SSpandan Das    compilers = [":struct_wrapper"],
119*9bb1b549SSpandan Das    importpath = "github.com/golang/protobuf/ptypes/struct",
120*9bb1b549SSpandan Das    protos = ["@com_google_protobuf//:struct_proto"],
121*9bb1b549SSpandan Das    visibility = ["//visibility:public"],
122*9bb1b549SSpandan Das)
123*9bb1b549SSpandan Das
124*9bb1b549SSpandan Dasgo_proto_wrapper(
125*9bb1b549SSpandan Das    name = "timestamp_wrapper",
126*9bb1b549SSpandan Das    library = "@com_github_golang_protobuf//ptypes/timestamp:go_default_library",
127*9bb1b549SSpandan Das    visibility = ["//visibility:private"],
128*9bb1b549SSpandan Das)
129*9bb1b549SSpandan Das
130*9bb1b549SSpandan Dasgo_proto_library(
131*9bb1b549SSpandan Das    name = "timestamp_go_proto",
132*9bb1b549SSpandan Das    compilers = [":timestamp_wrapper"],
133*9bb1b549SSpandan Das    importpath = "github.com/golang/protobuf/ptypes/timestamp",
134*9bb1b549SSpandan Das    protos = ["@com_google_protobuf//:timestamp_proto"],
135*9bb1b549SSpandan Das    visibility = ["//visibility:public"],
136*9bb1b549SSpandan Das)
137*9bb1b549SSpandan Das
138*9bb1b549SSpandan Dasgo_proto_wrapper(
139*9bb1b549SSpandan Das    name = "type_wrapper",
140*9bb1b549SSpandan Das    library = "@org_golang_google_genproto//protobuf/ptype:go_default_library",
141*9bb1b549SSpandan Das    visibility = ["//visibility:private"],
142*9bb1b549SSpandan Das)
143*9bb1b549SSpandan Das
144*9bb1b549SSpandan Dasgo_proto_library(
145*9bb1b549SSpandan Das    name = "type_go_proto",
146*9bb1b549SSpandan Das    compilers = [":type_wrapper"],
147*9bb1b549SSpandan Das    importpath = "google.golang.org/genproto/protobuf/ptype",
148*9bb1b549SSpandan Das    protos = ["@com_google_protobuf//:type_proto"],
149*9bb1b549SSpandan Das    visibility = ["//visibility:public"],
150*9bb1b549SSpandan Das)
151*9bb1b549SSpandan Das
152*9bb1b549SSpandan Dasgo_proto_wrapper(
153*9bb1b549SSpandan Das    name = "wrappers_wrapper",
154*9bb1b549SSpandan Das    library = "@com_github_golang_protobuf//ptypes/wrappers:go_default_library",
155*9bb1b549SSpandan Das    visibility = ["//visibility:private"],
156*9bb1b549SSpandan Das)
157*9bb1b549SSpandan Das
158*9bb1b549SSpandan Dasgo_proto_library(
159*9bb1b549SSpandan Das    name = "wrappers_go_proto",
160*9bb1b549SSpandan Das    compilers = [":wrappers_wrapper"],
161*9bb1b549SSpandan Das    importpath = "github.com/golang/protobuf/ptypes/wrappers",
162*9bb1b549SSpandan Das    protos = ["@com_google_protobuf//:wrappers_proto"],
163*9bb1b549SSpandan Das    visibility = ["//visibility:public"],
164*9bb1b549SSpandan Das)
165*9bb1b549SSpandan Das
166*9bb1b549SSpandan Das# Protos below this point don't have duplicate libraries, so we generate .pb.go
167*9bb1b549SSpandan Das# files at build time as usual. The only difference is we use
168*9bb1b549SSpandan Das# go_proto_bootstrap, which has an empty set of implicit dependencies.
169*9bb1b549SSpandan Dasgo_proto_library(
170*9bb1b549SSpandan Das    name = "api_go_proto",
171*9bb1b549SSpandan Das    compilers = ["//proto:go_proto_bootstrap"],
172*9bb1b549SSpandan Das    importpath = "google.golang.org/genproto/protobuf/api",
173*9bb1b549SSpandan Das    protos = ["@com_google_protobuf//:api_proto"],
174*9bb1b549SSpandan Das    visibility = ["//visibility:public"],
175*9bb1b549SSpandan Das    deps = [
176*9bb1b549SSpandan Das        ":source_context_go_proto",
177*9bb1b549SSpandan Das        ":type_go_proto",
178*9bb1b549SSpandan Das    ],
179*9bb1b549SSpandan Das)
180*9bb1b549SSpandan Das
181*9bb1b549SSpandan Dasfilegroup(
182*9bb1b549SSpandan Das    name = "all_rules",
183*9bb1b549SSpandan Das    testonly = True,
184*9bb1b549SSpandan Das    srcs = glob(["*.bzl"]),
185*9bb1b549SSpandan Das    visibility = ["//visibility:public"],
186*9bb1b549SSpandan Das)
187*9bb1b549SSpandan Das
188*9bb1b549SSpandan Dasfilegroup(
189*9bb1b549SSpandan Das    name = "all_files",
190*9bb1b549SSpandan Das    testonly = True,
191*9bb1b549SSpandan Das    srcs = glob(["**"]),
192*9bb1b549SSpandan Das    visibility = ["//visibility:public"],
193*9bb1b549SSpandan Das)
194*9bb1b549SSpandan Das
195*9bb1b549SSpandan Dasbzl_library(
196*9bb1b549SSpandan Das    name = "well_known_types",
197*9bb1b549SSpandan Das    srcs = ["well_known_types.bzl"],
198*9bb1b549SSpandan Das    visibility = ["//visibility:public"],
199*9bb1b549SSpandan Das    deps = [
200*9bb1b549SSpandan Das        "//go:def",
201*9bb1b549SSpandan Das        "//proto:compiler",
202*9bb1b549SSpandan Das        "//proto:def",
203*9bb1b549SSpandan Das    ],
204*9bb1b549SSpandan Das)
205