#!/bin/bash set -e # echo "Clearing cached plugins..." # cargo clean --manifest-path plugins/Cargo.toml echo "Building Wasm plugins..." # cargo build --release --target wasm32-unknown-unknown --manifest-path plugins/Cargo.toml cargo build --release --target wasm32-wasi --manifest-path plugins/Cargo.toml echo echo "Extracting binaries..." rm -rf plugins/bin mkdir plugins/bin for f in plugins/target/wasm32-wasi/release/*.wasm do name=$(basename $f) cp $f plugins/bin/$name echo "- Extracted plugin $name" done echo echo "Creating .wat versions (for human inspection)..." for f in plugins/bin/*.wasm do name=$(basename $f) base=$(echo $name | sed "s/\..*//") wasm2wat $f --output plugins/bin/$base.wat echo "- Converted $base.wasm -> $base.wat" done echo echo "Optimizing plugins using wasm-opt..." for f in plugins/bin/*.wasm do name=$(basename $f) wasm-opt -Oz $f --output $f echo "- Optimized $name" done echo echo "Done!"