Skip to content

Commit 267585c

Browse files
committed
attempts to make servicegenerator work
Signed-off-by: clux <[email protected]>
1 parent 9a31740 commit 267585c

File tree

1 file changed

+8
-12
lines changed

1 file changed

+8
-12
lines changed

build.rs

+8-12
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ use std::rc::Rc;
44
#[derive(Default)]
55
struct GeneratorState {
66
service_names: Vec<String>,
7-
package_names: Vec<String>,
87
finalized: usize,
8+
generated: usize
99
}
1010

1111
struct KubeGenerator {
@@ -20,23 +20,19 @@ impl KubeGenerator {
2020
}
2121

2222
impl prost_build::ServiceGenerator for KubeGenerator {
23-
fn generate(&mut self, service: prost_build::Service, _buf: &mut String) {
23+
fn generate(&mut self, service: prost_build::Service, buf: &mut String) {
2424
let mut state = self.state.borrow_mut();
2525
state.service_names.push(service.name);
26+
state.generated += 1;
27+
// TODO: generate generics from self.data here
28+
let generics = format!("// TODO: generics\n");
29+
buf.push_str(&generics);
2630
}
2731

28-
fn finalize(&mut self, _buf: &mut String) {
32+
fn finalize(&mut self, buf: &mut String) {
2933
let mut state = self.state.borrow_mut();
3034
state.finalized += 1;
3135
}
32-
33-
fn finalize_package(&mut self, package: &str, buf: &mut String) {
34-
let mut state = self.state.borrow_mut();
35-
state.package_names.push(package.to_string());
36-
// TODO: generate generics for pkg here using self.data
37-
let pkg_generics = format!("// blahtest");
38-
buf.push_str(&pkg_generics);
39-
}
4036
}
4137

4238
fn main() -> std::io::Result<()> {
@@ -51,8 +47,8 @@ fn main() -> std::io::Result<()> {
5147

5248
// sanity
5349
let state = state.borrow();
54-
//assert_eq!(state.service_names.len(), protos.len()); zero atm..
5550
assert_eq!(state.finalized, protos.len());
51+
//assert_eq!(state.generated, protos.len()); // TODO: why does generate not trigger
5652

5753
// Generate code in `src/` by reading files in `OUT_DIR`?
5854
// Need to create `mod.rs` file for each level based on the filename, and write generated code in correct file.

0 commit comments

Comments
 (0)