@@ -46,6 +46,7 @@ pub struct Builder {
4646 files : Vec < String > ,
4747 out_dir : String ,
4848 env_dir : Option < PathBuf > ,
49+ format : String ,
4950}
5051
5152impl Default for Builder {
@@ -59,6 +60,7 @@ impl Default for Builder {
5960 files : vec ! [ ] ,
6061 out_dir,
6162 env_dir : None ,
63+ format : String :: from ( "rust" ) ,
6264 }
6365 }
6466}
@@ -73,6 +75,7 @@ impl Builder {
7375 files : vec ! [ ] ,
7476 out_dir : out_dir. into ( ) ,
7577 env_dir : None ,
78+ format : String :: from ( "rust" ) ,
7679 }
7780 }
7881
@@ -84,6 +87,12 @@ impl Builder {
8487 self
8588 }
8689
90+ /// Change output format. Defaults to `rust`.
91+ pub fn format < S : Into < String > > ( & mut self , format : S ) -> & mut Self {
92+ self . format = format. into ( ) ;
93+ self
94+ }
95+
8796 /// Add multiple definition files, e.g. `metrics.yaml` or `pings.yaml`.
8897 pub fn files < P > ( & mut self , files : P ) -> & mut Self
8998 where
@@ -139,7 +148,8 @@ impl Builder {
139148 println ! ( "cargo:rerun-if-changed={file}" ) ;
140149 }
141150
142- let mut args = vec ! [ "translate" , "--format" , "rust" , "--output" , out_dir] ;
151+ let mut args = vec ! [ "translate" , "--output" , out_dir] ;
152+ args. extend ( [ "--format" , & self . format ] ) ;
143153 args. extend ( self . files . iter ( ) . map ( |s| s. as_str ( ) ) ) ;
144154 venv. run_module ( "glean_parser" , & args) ?;
145155
0 commit comments