#!/usr/bin/env bash # Enforces INFRA-06 / D-19: shared/commonMain must not import Ktor, Compose, SQLDelight. # Runs grep against shared/src/commonMain/ only. Allowed imports: kotlin.*, kotlinx.serialization, kotlinx.datetime. set -euo pipefail if [ ! -d shared/src/commonMain ]; then echo "OK: shared/src/commonMain does not exist yet (pre-scaffold)." exit 0 fi VIOLATIONS=$(grep -rn -E '^import[[:space:]]+(io\.ktor|androidx\.compose|org\.jetbrains\.compose|app\.cash\.sqldelight)' shared/src/commonMain/ 2>/dev/null || true) if [ -n "$VIOLATIONS" ]; then echo "ERROR: shared/commonMain has forbidden imports:" >&2 echo "$VIOLATIONS" >&2 exit 1 fi echo "OK: shared/commonMain is pure."