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
|
#!/bin/bash
set -euo pipefail
tmpdir=$(mktemp -d)
cd "$tmpdir"
cargo new hello
cd hello
cat <<EOF > src/main.rs
use anyhow::Result;
fn main() -> Result<()> {
println!("Hello, World!");
Ok(())
}
#[test]
fn test() {
assert_eq!(1 + 1, 2);
}
EOF
cargo add 'anyhow@^1'
cargo vendor
mkdir -p .cargo
cat <<EOF > .cargo/config.toml
[source.crates-io]
replace-with = "vendored-sources"
[source.vendored-sources]
directory = "vendor"
EOF
cargo check
cargo build
cargo test
cargo run
|