Merge pull request #1279 from tomasol/fix-target-dir-in-bindgen

Fix getting the target-dir in wasm_bindgen_build
master
Jesper Håkansson 2 years ago committed by GitHub
commit 5293380445
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 15
      src/bindgen.rs
  2. 14
      tests/all/build.rs

@ -29,17 +29,14 @@ pub fn wasm_bindgen_build(
};
let out_dir = out_dir.to_str().unwrap();
let has_target_dir_overwrite = extra_options.contains(&"--target-dir".to_string());
let target_directory = if has_target_dir_overwrite {
let i = extra_options
.binary_search(&"--target-dir".to_string())
.unwrap();
extra_options
.get(i + 1)
let target_directory = {
let mut has_target_dir_iter = extra_options.iter();
has_target_dir_iter
.find(|&it| it == "--target-dir")
.and_then(|_| has_target_dir_iter.next())
.map(Path::new)
.unwrap_or(data.target_directory())
} else {
data.target_directory()
};
let wasm_path = target_directory

@ -37,6 +37,20 @@ fn it_should_not_make_a_pkg_json_if_passed_no_pack() {
assert_eq!(pkg_path.join("licence").exists(), false);
}
#[test]
fn it_should_build_js_hello_world_example_with_custom_target_dir() {
let fixture = utils::fixture::js_hello_world();
fixture
.wasm_pack()
.arg("build")
.arg("--target-dir")
.arg("target2")
.arg("--all-features")
.arg("--offline")
.assert()
.success();
}
#[test]
fn it_should_build_crates_in_a_workspace() {
let fixture = utils::fixture::Fixture::new();

Loading…
Cancel
Save