-
Notifications
You must be signed in to change notification settings - Fork 1
/
build.rs
44 lines (36 loc) · 1.37 KB
/
build.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
//This file is part of tmplgen
//
//tmplgen is free software: you can redistribute it and/or modify
//it under the terms of the GNU General Public License as published by
//the Free Software Foundation, either version 3 of the License, or
//(at your option) any later version.
//
//tmplgen is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//GNU General Public License for more details.
//
//You should have received a copy of the GNU General Public License
//along with tmplgen. If not, see <http://www.gnu.org/licenses/>.
use std::fs::OpenOptions;
use std::io::Read;
use std::io::Write;
fn main() {
let version = env!("CARGO_PKG_VERSION");
let mut cli_yml_in = OpenOptions::new()
.read(true)
.open("src/bin/cli.yml")
.unwrap();
let mut cli_string = String::new();
cli_yml_in.read_to_string(&mut cli_string).unwrap();
cli_string = cli_string.replace("@version_string@", version);
let out_dir = std::env::var("OUT_DIR").unwrap();
let dest_path = std::path::Path::new(&out_dir).join("cli_gen.yml");
let mut cli_yml_out = OpenOptions::new()
.write(true)
.create(true)
.append(false)
.open(dest_path)
.unwrap();
cli_yml_out.write_all(cli_string.as_bytes()).unwrap();
}