44 lines
1.4 KiB
Bash
Executable File
44 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# 按需拷贝原 CRM Java 到 docs/crm-migration/reference/java/{module}/
|
|
# 用法: ./docs/crm-migration/scripts/snapshot-java.sh quote service/impl/CrmQuoteServiceImpl.java
|
|
# ./docs/crm-migration/scripts/snapshot-java.sh supplier-info controller/CrmSupplierInfoController.java
|
|
set -euo pipefail
|
|
|
|
ROOT="$(cd "$(dirname "$0")/../../.." && pwd)"
|
|
SRC="${CRM_JAVA_SRC:-$ROOT/../shanxia/crm/backend/ruoyi-modules/ruoyi-crm/src/main}"
|
|
MODULE="${1:?module name (e.g. quote, supplier-info)}"
|
|
shift
|
|
FILES=("$@")
|
|
|
|
if [ ${#FILES[@]} -eq 0 ]; then
|
|
echo "Usage: $0 <module> <relative-path>..." >&2
|
|
echo "Example: $0 quote service/impl/CrmQuoteServiceImpl.java" >&2
|
|
exit 1
|
|
fi
|
|
|
|
DEST="$ROOT/docs/crm-migration/reference/java/$MODULE"
|
|
mkdir -p "$DEST"
|
|
|
|
for rel in "${FILES[@]}"; do
|
|
# 支持 controller/xxx.java 或 java/org/dromara/crm/... 两种写法
|
|
if [[ "$rel" == java/* ]]; then
|
|
src_file="$SRC/$rel"
|
|
out="$DEST/${rel#java/org/dromara/crm/}"
|
|
elif [[ "$rel" == resources/* ]]; then
|
|
src_file="$SRC/../$rel"
|
|
out="$DEST/$rel"
|
|
else
|
|
src_file="$SRC/java/org/dromara/crm/$rel"
|
|
out="$DEST/$rel"
|
|
fi
|
|
mkdir -p "$(dirname "$DEST/$rel")"
|
|
if [ ! -f "$src_file" ]; then
|
|
echo "MISSING: $src_file" >&2
|
|
exit 1
|
|
fi
|
|
cp "$src_file" "$out"
|
|
echo "snapshotted: $rel -> reference/java/$MODULE/$rel"
|
|
done
|
|
|
|
echo "done: $(date -u +%Y-%m-%dT%H:%MZ)" >> "$DEST/.snapshot-log"
|