Skip to content

Commit 3afe492

Browse files
UPDATE: Use modern way of importing protos
This will make it very easy to update versions.
1 parent 6746fd7 commit 3afe492

13 files changed

Lines changed: 45 additions & 83 deletions

Cargo.toml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@ frequenz-microgrid-component-graph = { git = "https://github.com/frequenz-floss/
1414
frequenz-microgrid-formula-engine = { git = "https://github.com/frequenz-floss/frequenz-microgrid-formula-engine-rs.git", rev = "463414a" }
1515
frequenz-resampling = { git = "https://github.com/frequenz-floss/frequenz-resampling-rs.git", rev = "ce84d66" }
1616
futures = "0.3.31"
17-
prost = "0.13"
18-
prost-types = "0.13"
17+
prost = "0.14"
1918
tokio = { version = "1.48", features = ["rt", "rt-multi-thread"] }
20-
tonic = "0.13"
19+
tonic = "0.14"
20+
tonic-prost = "0.14"
2121
tracing = { version = "0.1" }
2222
tracing-subscriber = { version = "0.3" }
2323

@@ -28,5 +28,4 @@ tokio-stream = { version = "0.1.17", features = ["sync"] }
2828

2929

3030
[build-dependencies]
31-
prost-build = { version = "0.13", features = ["cleanup-markdown"] }
32-
tonic-build = "0.13"
31+
tonic-prost-build = { version = "0.14", features = ["cleanup-markdown"] }

build.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
// Copyright © 2025 Frequenz Energy-as-a-Service GmbH
33

44
fn main() -> Result<(), std::io::Error> {
5-
let config = tonic_build::Config::new();
6-
7-
tonic_build::configure()
8-
.compile_protos_with_config(
9-
config,
5+
tonic_prost_build::configure()
6+
.disable_comments(["."])
7+
.include_file("proto_v1_alpha18.rs")
8+
.compile_well_known_types(true)
9+
.compile_protos(
1010
&["submodules/frequenz-api-microgrid/proto/frequenz/api/microgrid/v1alpha18/microgrid.proto"],
1111
&[
1212
"submodules/frequenz-api-microgrid/proto",

src/client/instruction.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ use tokio::sync::{broadcast, oneshot};
77

88
use crate::{
99
Error,
10-
proto::common::v1alpha8::microgrid::electrical_components::{
10+
proto::common::microgrid::electrical_components::{
1111
ElectricalComponent, ElectricalComponentConnection, ElectricalComponentTelemetry,
1212
},
1313
};

src/client/microgrid_api_client.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
77
use tonic::transport::Channel;
88

9-
use crate::proto::microgrid::v1alpha18::{
9+
use crate::proto::microgrid::{
1010
ListElectricalComponentConnectionsRequest, ListElectricalComponentConnectionsResponse,
1111
ListElectricalComponentsRequest, ListElectricalComponentsResponse,
1212
ReceiveElectricalComponentTelemetryStreamRequest,
@@ -50,9 +50,7 @@ pub trait MicrogridApiClient: Send + Sync + 'static {
5050
///
5151
/// Forwards calls to the underlying gRPC client methods, without any additional logic.
5252
#[async_trait::async_trait]
53-
impl MicrogridApiClient
54-
for crate::proto::microgrid::v1alpha18::microgrid_client::MicrogridClient<Channel>
55-
{
53+
impl MicrogridApiClient for crate::proto::microgrid::microgrid_client::MicrogridClient<Channel> {
5654
async fn list_electrical_components(
5755
&mut self,
5856
request: impl tonic::IntoRequest<ListElectricalComponentsRequest> + Send,

src/client/microgrid_client_actor.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
66
use crate::{
77
client::{MicrogridApiClient, instruction::Instruction, retry_tracker::RetryTracker},
8-
proto::microgrid::v1alpha18::{
8+
proto::microgrid::{
99
ListElectricalComponentConnectionsRequest, ListElectricalComponentsRequest,
1010
ReceiveElectricalComponentTelemetryStreamRequest,
1111
ReceiveElectricalComponentTelemetryStreamResponse,
@@ -20,9 +20,7 @@ use tokio::{
2020
};
2121
use tracing::Instrument as _;
2222

23-
use crate::{
24-
Error, proto::common::v1alpha8::microgrid::electrical_components::ElectricalComponentTelemetry,
25-
};
23+
use crate::{Error, proto::common::microgrid::electrical_components::ElectricalComponentTelemetry};
2624

2725
enum StreamStatus {
2826
Failed(u64),

src/client/microgrid_client_handle.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ use crate::{
1313
Error,
1414
client::MicrogridApiClient,
1515
proto::{
16-
common::v1alpha8::microgrid::electrical_components::{
16+
common::microgrid::electrical_components::{
1717
ElectricalComponent, ElectricalComponentConnection, ElectricalComponentTelemetry,
1818
},
19-
microgrid::v1alpha18::microgrid_client::MicrogridClient,
19+
microgrid::microgrid_client::MicrogridClient,
2020
},
2121
};
2222

@@ -164,7 +164,7 @@ mod tests {
164164
use crate::{
165165
MicrogridClientHandle,
166166
client::test_utils::{MockComponent, MockMicrogridApiClient},
167-
proto::common::v1alpha8::metrics::{SimpleMetricValue, metric_value_variant},
167+
proto::common::metrics::{SimpleMetricValue, metric_value_variant},
168168
};
169169

170170
fn new_client_handle() -> MicrogridClientHandle {

src/client/test_utils.rs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ use tonic::Response;
1010

1111
use crate::{
1212
proto::{
13-
common::v1alpha8::{
13+
common::{
1414
metrics::{
1515
Metric, MetricSample, MetricValueVariant, SimpleMetricValue, metric_value_variant,
1616
},
@@ -22,7 +22,8 @@ use crate::{
2222
electrical_component_category_specific_info::Kind,
2323
},
2424
},
25-
microgrid::v1alpha18::{
25+
google::protobuf,
26+
microgrid::{
2627
ListElectricalComponentConnectionsRequest, ListElectricalComponentConnectionsResponse,
2728
ListElectricalComponentsRequest, ListElectricalComponentsResponse,
2829
ReceiveElectricalComponentTelemetryStreamRequest,
@@ -330,7 +331,12 @@ impl MicrogridApiClient for MockMicrogridApiClient {
330331
for metrics in metrics.iter() {
331332
interval.tick().await;
332333
next_ts += dur;
333-
let ts = Some(prost_types::Timestamp::from(next_ts));
334+
let duration_since_epoch =
335+
next_ts.duration_since(SystemTime::UNIX_EPOCH).unwrap();
336+
let ts = Some(protobuf::Timestamp {
337+
seconds: duration_since_epoch.as_secs() as i64,
338+
nanos: duration_since_epoch.subsec_nanos() as i32,
339+
});
334340
let mut metric_samples = vec![];
335341
if let Some(power) = metrics.0 {
336342
metric_samples.push(MetricSample {

src/logical_meter/formula/graph_formula_provider.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ use crate::logical_meter::formula::aggregation_formula::AggregationFormula;
99
use crate::logical_meter::formula::coalesce_formula::CoalesceFormula;
1010
use crate::logical_meter::logical_meter_actor;
1111
use crate::metric::Metric;
12-
use crate::proto::common::v1alpha8::microgrid::electrical_components::{
12+
use crate::proto::common::microgrid::electrical_components::{
1313
ElectricalComponent, ElectricalComponentConnection,
1414
};
1515

src/logical_meter/logical_meter_actor.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@ use tokio::sync::{broadcast, mpsc, oneshot};
1313
use tokio::time::{MissedTickBehavior, interval};
1414

1515
use crate::ErrorKind;
16-
use crate::proto::common::v1alpha8::metrics::{Metric, metric_value_variant::MetricValueVariant};
16+
use crate::proto::common::metrics::{Metric, metric_value_variant::MetricValueVariant};
1717
use crate::quantity::{Current, Power, Quantity, ReactivePower, Voltage};
1818
use crate::{
1919
Error, MicrogridClientHandle, Sample,
20-
proto::common::v1alpha8::microgrid::electrical_components::ElectricalComponentTelemetry,
20+
proto::common::microgrid::electrical_components::ElectricalComponentTelemetry,
2121
};
2222

2323
use super::config::LogicalMeterConfig;

src/logical_meter/logical_meter_handle.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ use crate::logical_meter::formula::graph_formula_provider::GraphFormulaProvider;
66
use crate::{
77
client::MicrogridClientHandle,
88
error::Error,
9-
proto::common::v1alpha8::microgrid::electrical_components::{
9+
proto::common::microgrid::electrical_components::{
1010
ElectricalComponent, ElectricalComponentConnection,
1111
},
1212
};

0 commit comments

Comments
 (0)