Skip to content

Commit d95c829

Browse files
committed
glean-build: Allow to change target format
1 parent d335b5b commit d95c829

1 file changed

Lines changed: 11 additions & 1 deletion

File tree

glean-core/build/src/lib.rs

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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

5152
impl 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

Comments
 (0)