11diff --git a/BUILD.bazel b/BUILD.bazel
22new file mode 100644
3- index 0000000..07d6a90
3+ index 0000000..be1bc02
44--- /dev/null
55+++ b/BUILD.bazel
6- @@ -0,0 +1,150 @@
7- + # Copyright The OpenTelemetry Authors
8- + # SPDX-License-Identifier: Apache-2.0
9- +
6+ @@ -0,0 +1,279 @@
107+ load("@grpc//bazel:cc_grpc_library.bzl", "cc_grpc_library")
8+ + load("@grpc//bazel:python_rules.bzl", "py_proto_library", "py_grpc_library")
9+ + load("@rules_go//proto:def.bzl", "go_proto_library", "go_grpc_library")
1110+
1211+ package(default_visibility = ["//visibility:public"])
1312+
@@ -23,25 +22,21 @@ index 0000000..07d6a90
2322+ deps = [":common_proto"],
2423+ )
2524+
26- + proto_library(
27- + name = "resource_proto",
28- + srcs = [
29- + "opentelemetry/proto/resource/v1/resource.proto",
30- + ],
31- + deps = [
32- + ":common_proto",
33- + ],
25+ + py_proto_library(
26+ + name = "common_proto_py",
27+ + deps = [":common_proto"],
3428+ )
3529+
36- + cc_proto_library(
37- + name = "resource_proto_cc",
38- + deps = [":resource_proto"],
30+ + go_proto_library(
31+ + name = "common_proto_go",
32+ + importpath = "go.opentelemetry.io/proto/otlp/common/v1",
33+ + protos = [":common_proto"],
3934+ )
4035+
4136+ proto_library(
42- + name = "trace_proto ",
37+ + name = "logs_proto ",
4338+ srcs = [
44- + "opentelemetry/proto/trace /v1/trace .proto",
39+ + "opentelemetry/proto/logs /v1/logs .proto",
4540+ ],
4641+ deps = [
4742+ ":common_proto",
@@ -50,37 +45,72 @@ index 0000000..07d6a90
5045+ )
5146+
5247+ cc_proto_library(
53- + name = "trace_proto_cc",
54- + deps = [":trace_proto"],
48+ + name = "logs_proto_cc",
49+ + deps = [":logs_proto"],
50+ + )
51+ +
52+ + py_proto_library(
53+ + name = "logs_proto_py",
54+ + deps = [":logs_proto"],
55+ + )
56+ +
57+ + go_proto_library(
58+ + name = "logs_proto_go",
59+ + importpath = "go.opentelemetry.io/proto/otlp/logs/v1",
60+ + protos = [":logs_proto"],
61+ + deps = [
62+ + ":common_proto_go",
63+ + ":resource_proto_go",
64+ + ],
5565+ )
5666+
5767+ proto_library(
58- + name = "trace_service_proto ",
68+ + name = "logs_service_proto ",
5969+ srcs = [
60- + "opentelemetry/proto/collector/trace /v1/trace_service .proto",
70+ + "opentelemetry/proto/collector/logs /v1/logs_service .proto",
6171+ ],
6272+ deps = [
63- + ":trace_proto ",
73+ + ":logs_proto ",
6474+ ],
6575+ )
6676+
6777+ cc_proto_library(
68- + name = "trace_service_proto_cc ",
69- + deps = [":trace_service_proto "],
78+ + name = "logs_service_proto_cc ",
79+ + deps = [":logs_service_proto "],
7080+ )
7181+
7282+ cc_grpc_library(
73- + name = "trace_service_grpc_cc ",
74- + srcs = [":trace_service_proto "],
83+ + name = "logs_service_grpc_cc ",
84+ + srcs = [":logs_service_proto "],
7585+ generate_mocks = True,
7686+ grpc_only = True,
77- + deps = [":trace_service_proto_cc"],
87+ + deps = [":logs_service_proto_cc"],
88+ + )
89+ +
90+ + py_proto_library(
91+ + name = "logs_service_proto_py",
92+ + deps = [":logs_service_proto"],
93+ + )
94+ +
95+ + py_grpc_library(
96+ + name = "logs_service_grpc_py",
97+ + srcs = [":logs_service_proto"],
98+ + deps = [":logs_service_proto_py"],
99+ + )
100+ +
101+ + go_grpc_library(
102+ + name = "logs_service_grpc_go",
103+ + protos = [":logs_service_proto"],
104+ + importpath = "go.opentelemetry.io/proto/otlp/logs/v1",
105+ + embed = [
106+ + ":logs_proto_go",
107+ + ],
78108+ )
79109+
80110+ proto_library(
81- + name = "logs_proto ",
111+ + name = "metrics_proto ",
82112+ srcs = [
83- + "opentelemetry/proto/logs /v1/logs .proto",
113+ + "opentelemetry/proto/metrics /v1/metrics .proto",
84114+ ],
85115+ deps = [
86116+ ":common_proto",
@@ -89,37 +119,101 @@ index 0000000..07d6a90
89119+ )
90120+
91121+ cc_proto_library(
92- + name = "logs_proto_cc",
93- + deps = [":logs_proto"],
122+ + name = "metrics_proto_cc",
123+ + deps = [":metrics_proto"],
124+ + )
125+ +
126+ + py_proto_library(
127+ + name = "metrics_proto_py",
128+ + deps = [":metrics_proto"],
129+ + )
130+ +
131+ + go_proto_library(
132+ + name = "metrics_proto_go",
133+ + importpath = "go.opentelemetry.io/proto/otlp/metrics/v1",
134+ + protos = [":metrics_proto"],
135+ + deps = [
136+ + ":common_proto_go",
137+ + ":resource_proto_go",
138+ + ],
94139+ )
95140+
96141+ proto_library(
97- + name = "logs_service_proto ",
142+ + name = "metrics_service_proto ",
98143+ srcs = [
99- + "opentelemetry/proto/collector/logs /v1/logs_service .proto",
144+ + "opentelemetry/proto/collector/metrics /v1/metrics_service .proto",
100145+ ],
101146+ deps = [
102- + ":logs_proto ",
147+ + ":metrics_proto ",
103148+ ],
104149+ )
105150+
106151+ cc_proto_library(
107- + name = "logs_service_proto_cc ",
108- + deps = [":logs_service_proto "],
152+ + name = "metrics_service_proto_cc ",
153+ + deps = [":metrics_service_proto "],
109154+ )
110155+
111156+ cc_grpc_library(
112- + name = "logs_service_grpc_cc ",
113- + srcs = [":logs_service_proto "],
157+ + name = "metrics_service_grpc_cc ",
158+ + srcs = [":metrics_service_proto "],
114159+ generate_mocks = True,
115160+ grpc_only = True,
116- + deps = [":logs_service_proto_cc"],
161+ + deps = [":metrics_service_proto_cc"],
162+ + )
163+ +
164+ + py_proto_library(
165+ + name = "metrics_service_proto_py",
166+ + deps = [":metrics_service_proto"],
167+ + )
168+ +
169+ + py_grpc_library(
170+ + name = "metrics_service_grpc_py",
171+ + srcs = [":metrics_service_proto"],
172+ + deps = [":metrics_service_proto_py"],
173+ + )
174+ +
175+ + go_grpc_library(
176+ + name = "metrics_service_grpc_go",
177+ + protos = [":metrics_service_proto"],
178+ + importpath = "go.opentelemetry.io/proto/otlp/metrics/v1",
179+ + embed = [
180+ + ":metrics_proto_go",
181+ + ],
117182+ )
118183+
119184+ proto_library(
120- + name = "metrics_proto ",
185+ + name = "resource_proto ",
121186+ srcs = [
122- + "opentelemetry/proto/metrics/v1/metrics.proto",
187+ + "opentelemetry/proto/resource/v1/resource.proto",
188+ + ],
189+ + deps = [
190+ + ":common_proto",
191+ + ],
192+ + )
193+ +
194+ + cc_proto_library(
195+ + name = "resource_proto_cc",
196+ + deps = [":resource_proto"],
197+ + )
198+ +
199+ + py_proto_library(
200+ + name = "resource_proto_py",
201+ + deps = [":resource_proto"],
202+ + )
203+ +
204+ + go_proto_library(
205+ + name = "resource_proto_go",
206+ + importpath = "go.opentelemetry.io/proto/otlp/resource/v1",
207+ + protos = [":resource_proto"],
208+ + deps = [
209+ + ":common_proto_go",
210+ + ],
211+ + )
212+ +
213+ + proto_library(
214+ + name = "trace_proto",
215+ + srcs = [
216+ + "opentelemetry/proto/trace/v1/trace.proto",
123217+ ],
124218+ deps = [
125219+ ":common_proto",
@@ -128,42 +222,78 @@ index 0000000..07d6a90
128222+ )
129223+
130224+ cc_proto_library(
131- + name = "metrics_proto_cc",
132- + deps = [":metrics_proto"],
225+ + name = "trace_proto_cc",
226+ + deps = [":trace_proto"],
227+ + )
228+ +
229+ + py_proto_library(
230+ + name = "trace_proto_py",
231+ + deps = [":trace_proto"],
232+ + )
233+ +
234+ + go_proto_library(
235+ + name = "trace_proto_go",
236+ + importpath = "go.opentelemetry.io/proto/otlp/trace/v1",
237+ + protos = [":trace_proto"],
238+ + deps = [
239+ + ":common_proto_go",
240+ + ":resource_proto_go",
241+ + ],
133242+ )
134243+
135244+ proto_library(
136- + name = "metrics_service_proto ",
245+ + name = "trace_service_proto ",
137246+ srcs = [
138- + "opentelemetry/proto/collector/metrics /v1/metrics_service .proto",
247+ + "opentelemetry/proto/collector/trace /v1/trace_service .proto",
139248+ ],
140249+ deps = [
141- + ":metrics_proto ",
250+ + ":trace_proto ",
142251+ ],
143252+ )
144253+
145254+ cc_proto_library(
146- + name = "metrics_service_proto_cc ",
147- + deps = [":metrics_service_proto "],
255+ + name = "trace_service_proto_cc ",
256+ + deps = [":trace_service_proto "],
148257+ )
149258+
150259+ cc_grpc_library(
151- + name = "metrics_service_grpc_cc ",
152- + srcs = [":metrics_service_proto "],
260+ + name = "trace_service_grpc_cc ",
261+ + srcs = [":trace_service_proto "],
153262+ generate_mocks = True,
154263+ grpc_only = True,
155- + deps = [":metrics_service_proto_cc"],
264+ + deps = [":trace_service_proto_cc"],
265+ + )
266+ +
267+ + py_proto_library(
268+ + name = "trace_service_proto_py",
269+ + deps = [":trace_service_proto"],
270+ + )
271+ +
272+ + py_grpc_library(
273+ + name = "trace_service_grpc_py",
274+ + srcs = [":trace_service_proto"],
275+ + deps = [":trace_service_proto_py"],
276+ + )
277+ +
278+ + go_grpc_library(
279+ + name = "trace_service_grpc_go",
280+ + protos = [":trace_service_proto"],
281+ + importpath = "go.opentelemetry.io/proto/otlp/trace/v1",
282+ + embed = [
283+ + ":trace_proto_go",
284+ + ],
156285+ )
157286diff --git a/MODULE.bazel b/MODULE.bazel
158287new file mode 100644
159- index 0000000..a5a5e54
288+ index 0000000..8b1a510
160289--- /dev/null
161290+++ b/MODULE.bazel
162- @@ -0,0 +1,7 @@
291+ @@ -0,0 +1,8 @@
163292+ module(
164293+ name = "opentelemetry-proto",
165- + version = "1.4 .0",
294+ + version = "1.5 .0",
166295+ compatibility_level = 0,
167296+ )
168297+
169298+ bazel_dep(name = "grpc", version = "1.68.0")
299+ + bazel_dep(name = "rules_go", version = "0.51.0")
0 commit comments