From 0ed2b26c961f81d022c8e7fa297bfd5afa168fb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bastian=20K=C3=B6cher?= Date: Fri, 5 Jul 2019 15:02:14 +0200 Subject: [PATCH] End build when `wasm-builder` does not find a prerequisite (#3030) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * End build when `wasm-builder` does not find a prerequisite Using `compile_error!` was a stupid idea by me, as rust would not re-execute the build.rs. * Increment the `wasm-builder` version * Update core/utils/wasm-builder/src/lib.rs Co-Authored-By: André Silva --- substrate/Cargo.lock | 2 +- substrate/core/executor/runtime-test/build.rs | 2 +- substrate/core/test-runtime/build.rs | 2 +- substrate/core/utils/wasm-builder/Cargo.toml | 2 +- substrate/core/utils/wasm-builder/src/lib.rs | 18 +++++------------- .../utils/wasm-builder/src/prerequisites.rs | 2 +- substrate/node-template/runtime/build.rs | 2 +- substrate/node/runtime/build.rs | 2 +- 8 files changed, 12 insertions(+), 20 deletions(-) diff --git a/substrate/Cargo.lock b/substrate/Cargo.lock index abeef391b2..87afd5dfb1 100644 --- a/substrate/Cargo.lock +++ b/substrate/Cargo.lock @@ -4832,7 +4832,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" -version = "1.0.2" +version = "1.0.3" dependencies = [ "build-helper 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "cargo_metadata 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/substrate/core/executor/runtime-test/build.rs b/substrate/core/executor/runtime-test/build.rs index 67fc90b044..7eaa5e53c3 100644 --- a/substrate/core/executor/runtime-test/build.rs +++ b/substrate/core/executor/runtime-test/build.rs @@ -21,7 +21,7 @@ fn main() { "wasm_binary.rs", WasmBuilderSource::CratesOrPath { path: "../../utils/wasm-builder", - version: "1.0.2", + version: "1.0.3", }, ); } diff --git a/substrate/core/test-runtime/build.rs b/substrate/core/test-runtime/build.rs index d755768ee8..1870f11f80 100644 --- a/substrate/core/test-runtime/build.rs +++ b/substrate/core/test-runtime/build.rs @@ -21,7 +21,7 @@ fn main() { "wasm_binary.rs", WasmBuilderSource::CratesOrPath { path: "../utils/wasm-builder", - version: "1.0.2", + version: "1.0.3", }, ); } diff --git a/substrate/core/utils/wasm-builder/Cargo.toml b/substrate/core/utils/wasm-builder/Cargo.toml index 7290e99279..eb010c2d54 100644 --- a/substrate/core/utils/wasm-builder/Cargo.toml +++ b/substrate/core/utils/wasm-builder/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "substrate-wasm-builder" -version = "1.0.2" +version = "1.0.3" authors = ["Parity Technologies "] description = "Utility for building WASM binaries" edition = "2018" diff --git a/substrate/core/utils/wasm-builder/src/lib.rs b/substrate/core/utils/wasm-builder/src/lib.rs index 31377b450f..ef999f1008 100644 --- a/substrate/core/utils/wasm-builder/src/lib.rs +++ b/substrate/core/utils/wasm-builder/src/lib.rs @@ -78,7 +78,7 @@ //! - wasm-gc //! -use std::{env, fs, path::PathBuf, process::{Command, Stdio}}; +use std::{env, fs, path::PathBuf, process::{Command, Stdio, self}}; mod prerequisites; mod wasm_project; @@ -107,24 +107,16 @@ pub fn build_project(file_name: &str, cargo_manifest: &str) { let cargo_manifest = PathBuf::from(cargo_manifest); if !cargo_manifest.exists() { - create_out_file( - file_name, - format!("compile_error!(\"'{}' does not exists!\")", cargo_manifest.display()) - ); - return + panic!("'{}' does not exist!", cargo_manifest.display()); } if !cargo_manifest.ends_with("Cargo.toml") { - create_out_file( - file_name, - format!("compile_error!(\"'{}' no valid path to a `Cargo.toml`!\")", cargo_manifest.display()) - ); - return + panic!("'{}' no valid path to a `Cargo.toml`!", cargo_manifest.display()); } if let Some(err_msg) = prerequisites::check() { - create_out_file(file_name, format!("compile_error!(\"{}\");", err_msg)); - return + eprintln!("{}", err_msg); + process::exit(1); } let (wasm_binary, bloaty) = wasm_project::create_and_compile(&cargo_manifest); diff --git a/substrate/core/utils/wasm-builder/src/prerequisites.rs b/substrate/core/utils/wasm-builder/src/prerequisites.rs index d4b781495d..5835d322b1 100644 --- a/substrate/core/utils/wasm-builder/src/prerequisites.rs +++ b/substrate/core/utils/wasm-builder/src/prerequisites.rs @@ -33,7 +33,7 @@ pub fn check() -> Option<&'static str> { .status() .map(|s| !s.success()).unwrap_or(true) { - return Some("wasm-gc not installed, please install it!") + return Some("`wasm-gc` not installed, please install it!") } if !check_wasm_toolchain_installed() { diff --git a/substrate/node-template/runtime/build.rs b/substrate/node-template/runtime/build.rs index 96f2158ca3..73490a6fd3 100644 --- a/substrate/node-template/runtime/build.rs +++ b/substrate/node-template/runtime/build.rs @@ -17,5 +17,5 @@ use wasm_builder_runner::{build_current_project, WasmBuilderSource}; fn main() { - build_current_project("wasm_binary.rs", WasmBuilderSource::Crates("1.0.2")); + build_current_project("wasm_binary.rs", WasmBuilderSource::Crates("1.0.3")); } diff --git a/substrate/node/runtime/build.rs b/substrate/node/runtime/build.rs index 611775cd6e..5252068e56 100644 --- a/substrate/node/runtime/build.rs +++ b/substrate/node/runtime/build.rs @@ -21,7 +21,7 @@ fn main() { "wasm_binary.rs", WasmBuilderSource::CratesOrPath { path: "../../core/utils/wasm-builder", - version: "1.0.2", + version: "1.0.3", }, ); }