#!/usr/bin/env bash
#
# 校验 sip-common 模块协议纯净性：禁止出现 GB28181 专用关键词。
# CI 在 mvn verify 阶段调用；任意命中即让构建失败。
#
# 边界规则参考：doc/plans/1.3.0/PROTOCOL-DECOUPLING-PLAN.md §五

set -euo pipefail

PATTERN='gb28181|GB28181|gbproxy|Catalog|MobilePosition|GbSession|GbSip|GbUtil'

# 排除注释行（grep -rEn 输出格式为 file:line:content，匹配 content 部分以可选空白开头 + // 或 *）
hits=$(grep -rEn "$PATTERN" sip-common/src/main/java --include="*.java" \
       | grep -vE ':\s*(//|\*)' || true)

if [ -n "$hits" ]; then
  echo "❌ sip-common 存在 GB28181 耦合："
  echo "$hits"
  exit 1
fi
echo "✅ sip-common 协议纯净"
