Wire project infrastructure
This commit is contained in:
15
tools/verify-shared-pure.sh
Executable file
15
tools/verify-shared-pure.sh
Executable file
@@ -0,0 +1,15 @@
|
||||
#!/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."
|
||||
Reference in New Issue
Block a user