Implement a version string

Add a `--version` and `-V` to the command to print out the version
This commit is contained in:
Alex Crichton
2018-03-01 19:19:12 -08:00
parent 36f064bed0
commit 1c8061e675
4 changed files with 41 additions and 2 deletions

View File

@ -2,6 +2,7 @@ extern crate wasm_bindgen_cli_support;
#[macro_use]
extern crate serde_derive;
extern crate docopt;
extern crate wasm_bindgen_shared;
use std::path::PathBuf;
@ -14,6 +15,7 @@ Generating JS bindings for a wasm file
Usage:
wasm-bindgen [options] <input>
wasm-bindgen -h | --help
wasm-bindgen -V | --version
Options:
-h --help Show this screen.
@ -21,6 +23,7 @@ Options:
--nodejs Generate output for node.js, not the browser
--typescript Output a TypeScript definition file
--debug Include otherwise-extraneous debug checks in output
-V --version Print the version number of wasm-bindgen
";
#[derive(Debug, Deserialize)]
@ -29,7 +32,8 @@ struct Args {
flag_typescript: bool,
flag_out_dir: Option<PathBuf>,
flag_debug: bool,
arg_input: PathBuf,
flag_version: bool,
arg_input: Option<PathBuf>,
}
fn main() {
@ -37,8 +41,18 @@ fn main() {
.and_then(|d| d.deserialize())
.unwrap_or_else(|e| e.exit());
if args.flag_version {
println!("wasm-bindgen {}", wasm_bindgen_shared::version());
return
}
let input = match args.arg_input {
Some(s) => s,
None => panic!("input file expected"),
};
let mut b = Bindgen::new();
b.input_path(&args.arg_input)
b.input_path(&input)
.nodejs(args.flag_nodejs)
.debug(args.flag_debug)
.typescript(args.flag_typescript);