Tales-Cunha
feat: smart patch, dep stubs, progress log, docker fix
c01b9cd
Raw
History Blame Contribute Delete
1.31 kB
#!/bin/bash
set -e
SANDBOX="${SANDBOX_DIR:-/tmp/poc-sandbox}"
# Source Foundry environment (sets PATH in non-interactive shells like Docker)
if [ -f "$HOME/.foundry/env" ]; then
source "$HOME/.foundry/env"
fi
# Resolve forge binary: env var > PATH > common install locations
if [ -z "$FORGE_BIN" ] || [ ! -f "$FORGE_BIN" ]; then
if command -v forge &>/dev/null; then
FORGE_BIN=$(command -v forge)
elif [ -f "$HOME/.foundry/bin/forge" ]; then
FORGE_BIN="$HOME/.foundry/bin/forge"
else
echo "ERROR: forge not found. Install Foundry: curl -L https://foundry.paradigm.xyz | bash"
exit 1
fi
fi
echo "Inicializando sandbox Foundry em $SANDBOX usando $FORGE_BIN..."
rm -rf "$SANDBOX"
mkdir -p "$SANDBOX"
cd "$SANDBOX"
# Iniciar projeto forge mínimo sem git
"$FORGE_BIN" init --no-git --quiet
# Limpar arquivos padrão que causam erros de importação se deletados parcialmente
rm -rf src/*
rm -rf test/*
rm -rf script/*
# Criar foundry.toml configurado
cat > foundry.toml << 'EOF'
[profile.default]
src = "src"
test = "test"
script = "script"
out = "out"
libs = ["lib"]
solc_version = "0.8.20"
optimizer = true
optimizer_runs = 200
EOF
echo "Sandbox pronto. Testando com forge build..."
"$FORGE_BIN" build
echo "OK — sandbox funcionando em $SANDBOX"