@@ -4,8 +4,8 @@ use std::rc::Rc;
4
4
#[ derive( Default ) ]
5
5
struct GeneratorState {
6
6
service_names : Vec < String > ,
7
- package_names : Vec < String > ,
8
7
finalized : usize ,
8
+ generated : usize
9
9
}
10
10
11
11
struct KubeGenerator {
@@ -20,23 +20,19 @@ impl KubeGenerator {
20
20
}
21
21
22
22
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 ) {
24
24
let mut state = self . state . borrow_mut ( ) ;
25
25
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) ;
26
30
}
27
31
28
- fn finalize ( & mut self , _buf : & mut String ) {
32
+ fn finalize ( & mut self , buf : & mut String ) {
29
33
let mut state = self . state . borrow_mut ( ) ;
30
34
state. finalized += 1 ;
31
35
}
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
- }
40
36
}
41
37
42
38
fn main ( ) -> std:: io:: Result < ( ) > {
@@ -51,8 +47,8 @@ fn main() -> std::io::Result<()> {
51
47
52
48
// sanity
53
49
let state = state. borrow ( ) ;
54
- //assert_eq!(state.service_names.len(), protos.len()); zero atm..
55
50
assert_eq ! ( state. finalized, protos. len( ) ) ;
51
+ //assert_eq!(state.generated, protos.len()); // TODO: why does generate not trigger
56
52
57
53
// Generate code in `src/` by reading files in `OUT_DIR`?
58
54
// Need to create `mod.rs` file for each level based on the filename, and write generated code in correct file.
0 commit comments