From 047c586c1438700d1d0bba56571d1ecce25f7dcf Mon Sep 17 00:00:00 2001 From: Jesse Szwedko Date: Wed, 22 May 2024 15:45:07 -0400 Subject: [PATCH 1/4] chore: Move third-party proto files into their own module To avoid cyclical dependencies between lib/vector-core/proto and proto/ Signed-off-by: Jesse Szwedko --- buf.work.yaml | 3 +- build.rs | 34 +++++++++++-------- proto/{ => third-party}/buf.yaml | 0 proto/{ => third-party}/dnstap.proto | 0 .../google/LICENSE-Apache-2.0.txt | 0 proto/{ => third-party}/google/README | 0 .../google/api/annotations.proto | 0 .../{ => third-party}/google/api/client.proto | 0 .../google/api/field_behavior.proto | 0 proto/{ => third-party}/google/api/http.proto | 0 .../google/api/resource.proto | 0 .../{ => third-party}/google/protobuf/LICENSE | 0 .../google/protobuf/any.proto | 0 .../google/protobuf/descriptor.proto | 0 .../google/protobuf/empty.proto | 0 .../google/protobuf/timestamp.proto | 0 .../google/pubsub/v1/pubsub.proto | 0 .../{ => third-party}/google/rpc/status.proto | 0 proto/vector/buf.yaml | 7 ++++ proto/{ => vector}/dd_metric.proto | 0 proto/{ => vector}/dd_trace.proto | 0 proto/{ => vector}/ddsketch_full.proto | 0 proto/{ => vector}/vector.proto | 0 23 files changed, 28 insertions(+), 16 deletions(-) rename proto/{ => third-party}/buf.yaml (100%) rename proto/{ => third-party}/dnstap.proto (100%) rename proto/{ => third-party}/google/LICENSE-Apache-2.0.txt (100%) rename proto/{ => third-party}/google/README (100%) rename proto/{ => third-party}/google/api/annotations.proto (100%) rename proto/{ => third-party}/google/api/client.proto (100%) rename proto/{ => third-party}/google/api/field_behavior.proto (100%) rename proto/{ => third-party}/google/api/http.proto (100%) rename proto/{ => third-party}/google/api/resource.proto (100%) rename proto/{ => third-party}/google/protobuf/LICENSE (100%) rename proto/{ => third-party}/google/protobuf/any.proto (100%) rename proto/{ => third-party}/google/protobuf/descriptor.proto (100%) rename proto/{ => third-party}/google/protobuf/empty.proto (100%) rename proto/{ => third-party}/google/protobuf/timestamp.proto (100%) rename proto/{ => third-party}/google/pubsub/v1/pubsub.proto (100%) rename proto/{ => third-party}/google/rpc/status.proto (100%) create mode 100644 proto/vector/buf.yaml rename proto/{ => vector}/dd_metric.proto (100%) rename proto/{ => vector}/dd_trace.proto (100%) rename proto/{ => vector}/ddsketch_full.proto (100%) rename proto/{ => vector}/vector.proto (100%) diff --git a/buf.work.yaml b/buf.work.yaml index 810b2d4bfce16..dddd45c5f9618 100644 --- a/buf.work.yaml +++ b/buf.work.yaml @@ -1,4 +1,5 @@ version: v1 directories: - - proto + - proto/third-party + - proto/vector - lib/vector-core/proto diff --git a/build.rs b/build.rs index 4e8c4f4986304..5419a99b1b4d5 100644 --- a/build.rs +++ b/build.rs @@ -116,13 +116,13 @@ fn main() { #[cfg(feature = "protobuf-build")] { - println!("cargo:rerun-if-changed=proto/dd_trace.proto"); - println!("cargo:rerun-if-changed=proto/dnstap.proto"); - println!("cargo:rerun-if-changed=proto/ddsketch_full.proto"); - println!("cargo:rerun-if-changed=proto/dd_metric.proto"); - println!("cargo:rerun-if-changed=proto/google/pubsub/v1/pubsub.proto"); - println!("cargo:rerun-if-changed=proto/google/rpc/status.proto"); - println!("cargo:rerun-if-changed=proto/vector.proto"); + println!("cargo:rerun-if-changed=proto/third-party/dnstap.proto"); + println!("cargo:rerun-if-changed=proto/third-party/google/pubsub/v1/pubsub.proto"); + println!("cargo:rerun-if-changed=proto/third-party/google/rpc/status.proto"); + println!("cargo:rerun-if-changed=proto/vector/dd_metric.proto"); + println!("cargo:rerun-if-changed=proto/vector/dd_trace.proto"); + println!("cargo:rerun-if-changed=proto/vector/ddsketch_full.proto"); + println!("cargo:rerun-if-changed=proto/vector/vector.proto"); // Create and store the "file descriptor set" from the compiled Protocol Buffers packages. // @@ -144,15 +144,19 @@ fn main() { prost_build, &[ "lib/vector-core/proto/event.proto", - "proto/dnstap.proto", - "proto/ddsketch_full.proto", - "proto/dd_metric.proto", - "proto/dd_trace.proto", - "proto/google/pubsub/v1/pubsub.proto", - "proto/google/rpc/status.proto", - "proto/vector.proto", + "proto/third-party/dnstap.proto", + "proto/vector/ddsketch_full.proto", + "proto/vector/dd_metric.proto", + "proto/vector/dd_trace.proto", + "proto/third-party/google/pubsub/v1/pubsub.proto", + "proto/third-party/google/rpc/status.proto", + "proto/vector/vector.proto", + ], + &[ + "proto/third-party", + "proto/vector", + "lib/vector-core/proto/", ], - &["proto/", "lib/vector-core/proto/"], ) .unwrap(); } diff --git a/proto/buf.yaml b/proto/third-party/buf.yaml similarity index 100% rename from proto/buf.yaml rename to proto/third-party/buf.yaml diff --git a/proto/dnstap.proto b/proto/third-party/dnstap.proto similarity index 100% rename from proto/dnstap.proto rename to proto/third-party/dnstap.proto diff --git a/proto/google/LICENSE-Apache-2.0.txt b/proto/third-party/google/LICENSE-Apache-2.0.txt similarity index 100% rename from proto/google/LICENSE-Apache-2.0.txt rename to proto/third-party/google/LICENSE-Apache-2.0.txt diff --git a/proto/google/README b/proto/third-party/google/README similarity index 100% rename from proto/google/README rename to proto/third-party/google/README diff --git a/proto/google/api/annotations.proto b/proto/third-party/google/api/annotations.proto similarity index 100% rename from proto/google/api/annotations.proto rename to proto/third-party/google/api/annotations.proto diff --git a/proto/google/api/client.proto b/proto/third-party/google/api/client.proto similarity index 100% rename from proto/google/api/client.proto rename to proto/third-party/google/api/client.proto diff --git a/proto/google/api/field_behavior.proto b/proto/third-party/google/api/field_behavior.proto similarity index 100% rename from proto/google/api/field_behavior.proto rename to proto/third-party/google/api/field_behavior.proto diff --git a/proto/google/api/http.proto b/proto/third-party/google/api/http.proto similarity index 100% rename from proto/google/api/http.proto rename to proto/third-party/google/api/http.proto diff --git a/proto/google/api/resource.proto b/proto/third-party/google/api/resource.proto similarity index 100% rename from proto/google/api/resource.proto rename to proto/third-party/google/api/resource.proto diff --git a/proto/google/protobuf/LICENSE b/proto/third-party/google/protobuf/LICENSE similarity index 100% rename from proto/google/protobuf/LICENSE rename to proto/third-party/google/protobuf/LICENSE diff --git a/proto/google/protobuf/any.proto b/proto/third-party/google/protobuf/any.proto similarity index 100% rename from proto/google/protobuf/any.proto rename to proto/third-party/google/protobuf/any.proto diff --git a/proto/google/protobuf/descriptor.proto b/proto/third-party/google/protobuf/descriptor.proto similarity index 100% rename from proto/google/protobuf/descriptor.proto rename to proto/third-party/google/protobuf/descriptor.proto diff --git a/proto/google/protobuf/empty.proto b/proto/third-party/google/protobuf/empty.proto similarity index 100% rename from proto/google/protobuf/empty.proto rename to proto/third-party/google/protobuf/empty.proto diff --git a/proto/google/protobuf/timestamp.proto b/proto/third-party/google/protobuf/timestamp.proto similarity index 100% rename from proto/google/protobuf/timestamp.proto rename to proto/third-party/google/protobuf/timestamp.proto diff --git a/proto/google/pubsub/v1/pubsub.proto b/proto/third-party/google/pubsub/v1/pubsub.proto similarity index 100% rename from proto/google/pubsub/v1/pubsub.proto rename to proto/third-party/google/pubsub/v1/pubsub.proto diff --git a/proto/google/rpc/status.proto b/proto/third-party/google/rpc/status.proto similarity index 100% rename from proto/google/rpc/status.proto rename to proto/third-party/google/rpc/status.proto diff --git a/proto/vector/buf.yaml b/proto/vector/buf.yaml new file mode 100644 index 0000000000000..1a5194568a90a --- /dev/null +++ b/proto/vector/buf.yaml @@ -0,0 +1,7 @@ +version: v1 +breaking: + use: + - FILE +lint: + use: + - DEFAULT diff --git a/proto/dd_metric.proto b/proto/vector/dd_metric.proto similarity index 100% rename from proto/dd_metric.proto rename to proto/vector/dd_metric.proto diff --git a/proto/dd_trace.proto b/proto/vector/dd_trace.proto similarity index 100% rename from proto/dd_trace.proto rename to proto/vector/dd_trace.proto diff --git a/proto/ddsketch_full.proto b/proto/vector/ddsketch_full.proto similarity index 100% rename from proto/ddsketch_full.proto rename to proto/vector/ddsketch_full.proto diff --git a/proto/vector.proto b/proto/vector/vector.proto similarity index 100% rename from proto/vector.proto rename to proto/vector/vector.proto From 67a75c08e0f103c836beb642c5e0400311b4c8ed Mon Sep 17 00:00:00 2001 From: Jesse Szwedko Date: Thu, 23 May 2024 14:40:17 -0400 Subject: [PATCH 2/4] Fix vector-core build.rs Signed-off-by: Jesse Szwedko --- lib/vector-core/build.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/vector-core/build.rs b/lib/vector-core/build.rs index 678b220f5cbcc..4149fdca7da8d 100644 --- a/lib/vector-core/build.rs +++ b/lib/vector-core/build.rs @@ -4,6 +4,9 @@ fn main() { .protoc_arg("--experimental_allow_proto3_optional") .btree_map(["."]) .bytes(["raw_bytes"]) - .compile_protos(&["proto/event.proto"], &["proto", "../../proto"]) + .compile_protos( + &["proto/event.proto"], + &["proto", "../../proto/third-party", "../../proto/vector"], + ) .unwrap(); } From 0cce24f0b80a832ded8511fc548adedf1db68694 Mon Sep 17 00:00:00 2001 From: Jesse Szwedko Date: Thu, 23 May 2024 15:05:43 -0400 Subject: [PATCH 3/4] Fix prometheus-parser build.rs too Signed-off-by: Jesse Szwedko --- lib/prometheus-parser/build.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/prometheus-parser/build.rs b/lib/prometheus-parser/build.rs index ce277400ce948..6408166f1ff87 100644 --- a/lib/prometheus-parser/build.rs +++ b/lib/prometheus-parser/build.rs @@ -10,7 +10,7 @@ fn main() { prost_build .compile_protos( &["proto/prometheus-remote.proto"], - &["proto", "../../proto"], + &["proto", "../../proto/third-party"], ) .unwrap(); } From c8207552ce6d3e21d3b959267ffd904879a946d5 Mon Sep 17 00:00:00 2001 From: Jesse Szwedko Date: Thu, 23 May 2024 15:33:34 -0400 Subject: [PATCH 4/4] loki too Signed-off-by: Jesse Szwedko --- lib/loki-logproto/build.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/loki-logproto/build.rs b/lib/loki-logproto/build.rs index efb0d8c293e7d..592ddfde8b179 100644 --- a/lib/loki-logproto/build.rs +++ b/lib/loki-logproto/build.rs @@ -10,7 +10,7 @@ fn main() -> Result<()> { "proto/stats.proto", "proto/logproto.proto", ], - &["proto", "../../proto"], + &["proto", "../../proto/third-party"], )?; Ok(()) }