|
| 1 | +#!/bin/bash |
| 2 | +set -euo pipefail |
| 3 | + |
| 4 | +# ────────────────────────────── |
| 5 | +# 1) CONFIGURATION |
| 6 | +# ────────────────────────────── |
| 7 | +TARGET_DIRS=("test/driver_asyncpg") |
| 8 | +SQLC_CONFIG_NAMES=("sqlc.yaml") |
| 9 | + |
| 10 | +# ────────────────────────────── |
| 11 | +# 2) BUILD THE WASM PLUGIN |
| 12 | +# ────────────────────────────── |
| 13 | +echo "=== Building the Go WASM plugin =================================" |
| 14 | +export GOOS=wasip1 |
| 15 | +export GOARCH=wasm |
| 16 | +go build -o sqlc-gen-better-python.wasm plugin/main.go |
| 17 | + |
| 18 | +# ────────────────────────────── |
| 19 | +# 3) CALCULATE SHA‑256 |
| 20 | +# ────────────────────────────── |
| 21 | +SHA256_HASH=$(sha256sum sqlc-gen-better-python.wasm | awk '{print $1}') |
| 22 | +echo "SHA-256: $SHA256_HASH" |
| 23 | + |
| 24 | +# ────────────────────────────── |
| 25 | +# 4) UPDATE ROOT yaml |
| 26 | +# ────────────────────────────── |
| 27 | +echo "Patching root sqlc.yaml..." |
| 28 | +sed -i -E "s/(sha256: )\S+/\1$SHA256_HASH/" sqlc.yaml |
| 29 | + |
| 30 | +# ────────────────────────────── |
| 31 | +# 5) PROPAGATE TO TARGET FOLDERS |
| 32 | +# ────────────────────────────── |
| 33 | +for dir in "${TARGET_DIRS[@]}"; do |
| 34 | + echo "--------------------------------------------------------------" |
| 35 | + echo " Processing $dir" |
| 36 | + mkdir -p "$dir" |
| 37 | + |
| 38 | + cp -f sqlc-gen-better-python.wasm "$dir/" |
| 39 | + |
| 40 | + for file in "${SQLC_CONFIG_NAMES[@]}"; do |
| 41 | + if [[ -f "$dir/$file" ]]; then |
| 42 | + echo " Patching $dir/$file" |
| 43 | + sed -i -E "s/(sha256: )\S+/\1$SHA256_HASH/" "$dir/$file" |
| 44 | + else |
| 45 | + echo " Warning: $dir/$file not found" |
| 46 | + fi |
| 47 | + done |
| 48 | +done |
| 49 | + |
| 50 | +echo "=== All done - every sqlc.yaml now has SHA-256 $SHA256_HASH ======" |
0 commit comments