0g-storage-node/common/contract-interface/build.rs

36 lines
1.1 KiB
Rust
Raw Normal View History

use std::process::Command;
2024-01-03 10:24:52 +00:00
const INSTALL_ERROR_MESSAGE: &str =
"Install dependencies for contract fail, try to run `yarn` in folder '0g-storage-contracts'";
const COMPILE_ERROR_MESSAGE: &str =
"Compile solidity contracts fail, try to run `yarn compile` in folder '0g-storage-contracts'";
2024-01-03 10:24:52 +00:00
#[allow(dead_code)]
fn compile_contracts() {
println!("cargo:rerun-if-changed=../../0g-storage-contracts/contracts/");
println!("cargo:rerun-if-changed=../../0g-storage-contracts/hardhat.config.ts");
let output = Command::new("yarn")
.arg("--cwd")
.arg("../../0g-storage-contracts")
.status()
.expect(INSTALL_ERROR_MESSAGE);
assert!(output.success(), "{}", INSTALL_ERROR_MESSAGE);
2024-01-03 10:24:52 +00:00
let output = Command::new("yarn")
.arg("--cwd")
.arg("../../0g-storage-contracts")
.arg("compile")
.status()
.expect(COMPILE_ERROR_MESSAGE);
assert!(output.success(), "{}", COMPILE_ERROR_MESSAGE);
}
2024-01-03 10:24:52 +00:00
fn main() {
if cfg!(feature = "compile-contracts") {
// compile_contracts();
// return;
}
println!("cargo:rerun-if-changed=../../0g-storage-contracts/artifacts/");
2024-01-03 10:24:52 +00:00
}