snapshot-java.sh 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #!/usr/bin/env bash
  2. # 按需拷贝原 CRM Java 到 docs/crm-migration/reference/java/{module}/
  3. # 用法: ./docs/crm-migration/scripts/snapshot-java.sh quote service/impl/CrmQuoteServiceImpl.java
  4. # ./docs/crm-migration/scripts/snapshot-java.sh supplier-info controller/CrmSupplierInfoController.java
  5. set -euo pipefail
  6. ROOT="$(cd "$(dirname "$0")/../../.." && pwd)"
  7. SRC="${CRM_JAVA_SRC:-$ROOT/../shanxia/crm/backend/ruoyi-modules/ruoyi-crm/src/main}"
  8. MODULE="${1:?module name (e.g. quote, supplier-info)}"
  9. shift
  10. FILES=("$@")
  11. if [ ${#FILES[@]} -eq 0 ]; then
  12. echo "Usage: $0 <module> <relative-path>..." >&2
  13. echo "Example: $0 quote service/impl/CrmQuoteServiceImpl.java" >&2
  14. exit 1
  15. fi
  16. DEST="$ROOT/docs/crm-migration/reference/java/$MODULE"
  17. mkdir -p "$DEST"
  18. for rel in "${FILES[@]}"; do
  19. # 支持 controller/xxx.java 或 java/org/dromara/crm/... 两种写法
  20. if [[ "$rel" == java/* ]]; then
  21. src_file="$SRC/$rel"
  22. out="$DEST/${rel#java/org/dromara/crm/}"
  23. elif [[ "$rel" == resources/* ]]; then
  24. src_file="$SRC/../$rel"
  25. out="$DEST/$rel"
  26. else
  27. src_file="$SRC/java/org/dromara/crm/$rel"
  28. out="$DEST/$rel"
  29. fi
  30. mkdir -p "$(dirname "$DEST/$rel")"
  31. if [ ! -f "$src_file" ]; then
  32. echo "MISSING: $src_file" >&2
  33. exit 1
  34. fi
  35. cp "$src_file" "$out"
  36. echo "snapshotted: $rel -> reference/java/$MODULE/$rel"
  37. done
  38. echo "done: $(date -u +%Y-%m-%dT%H:%MZ)" >> "$DEST/.snapshot-log"