♻️ refactor(runner): simplify shell helpers and workflow scripts
This commit is contained in:
@@ -433,20 +433,20 @@ jobs:
|
||||
echo ""
|
||||
|
||||
# 构建排除参数
|
||||
EXCLUDE_PARAMS=""
|
||||
EXCLUDE_FIND_ARGS=()
|
||||
IFS=',' read -ra EXCLUDES <<< "${{ env.EXCLUDE_DIRS }}"
|
||||
for dir in "${EXCLUDES[@]}"; do
|
||||
EXCLUDE_PARAMS="$EXCLUDE_PARAMS -not -path '*/$dir/*'"
|
||||
EXCLUDE_FIND_ARGS+=(-not -path "*/$dir/*")
|
||||
done
|
||||
|
||||
# 获取所有文件
|
||||
echo "🔍 扫描文件..."
|
||||
|
||||
# 统计总文件数
|
||||
TOTAL_FILES=$(eval "find . -type f $EXCLUDE_PARAMS" | wc -l)
|
||||
TOTAL_FILES=$(find . -type f "${EXCLUDE_FIND_ARGS[@]}" | wc -l)
|
||||
|
||||
# 统计总代码行数(排除空行)
|
||||
TOTAL_CODE=$(eval "find . -type f $EXCLUDE_PARAMS -exec grep -cHv '^[[:space:]]*$' {} + 2>/dev/null" | awk -F: '{sum+=$2} END {print sum+0}')
|
||||
TOTAL_CODE=$(find . -type f "${EXCLUDE_FIND_ARGS[@]}" -exec grep -cHv '^[[:space:]]*$' {} + 2>/dev/null | awk -F: '{sum+=$2} END {print sum+0}')
|
||||
|
||||
echo "📊 统计结果:"
|
||||
echo " - 总文件数: $TOTAL_FILES"
|
||||
@@ -489,10 +489,10 @@ jobs:
|
||||
mkdir -p /tmp/lang_stats
|
||||
|
||||
# 构建排除参数
|
||||
EXCLUDE_PARAMS=""
|
||||
EXCLUDE_FIND_ARGS=()
|
||||
IFS=',' read -ra EXCLUDES <<< "${{ env.EXCLUDE_DIRS }}"
|
||||
for dir in "${EXCLUDES[@]}"; do
|
||||
EXCLUDE_PARAMS="$EXCLUDE_PARAMS -not -path '*/$dir/*'"
|
||||
EXCLUDE_FIND_ARGS+=(-not -path "*/$dir/*")
|
||||
done
|
||||
|
||||
LANGUAGE_COUNT=0
|
||||
@@ -507,22 +507,22 @@ jobs:
|
||||
echo "🔍 统计 $display_name..."
|
||||
|
||||
# 构建扩展名查找条件
|
||||
FIND_CONDITIONS=""
|
||||
LANG_FIND_ARGS=()
|
||||
IFS=',' read -ra EXTS <<< "$extensions"
|
||||
for ext in "${EXTS[@]}"; do
|
||||
if [ -z "$FIND_CONDITIONS" ]; then
|
||||
FIND_CONDITIONS="-name '*.$ext'"
|
||||
if [ "${#LANG_FIND_ARGS[@]}" -eq 0 ]; then
|
||||
LANG_FIND_ARGS+=(-name "*.$ext")
|
||||
else
|
||||
FIND_CONDITIONS="$FIND_CONDITIONS -o -name '*.$ext'"
|
||||
LANG_FIND_ARGS+=(-o -name "*.$ext")
|
||||
fi
|
||||
done
|
||||
|
||||
# 统计文件数
|
||||
FILE_COUNT=$(eval "find . -type f \( $FIND_CONDITIONS \) $EXCLUDE_PARAMS" | wc -l)
|
||||
FILE_COUNT=$(find . -type f \( "${LANG_FIND_ARGS[@]}" \) "${EXCLUDE_FIND_ARGS[@]}" | wc -l)
|
||||
|
||||
if [ "$FILE_COUNT" -gt 0 ]; then
|
||||
# 统计代码行数
|
||||
CODE_LINES=$(eval "find . -type f \( $FIND_CONDITIONS \) $EXCLUDE_PARAMS -exec grep -cHv '^[[:space:]]*$' {} + 2>/dev/null" | awk -F: '{sum+=$2} END {print sum+0}')
|
||||
CODE_LINES=$(find . -type f \( "${LANG_FIND_ARGS[@]}" \) "${EXCLUDE_FIND_ARGS[@]}" -exec grep -cHv '^[[:space:]]*$' {} + 2>/dev/null | awk -F: '{sum+=$2} END {print sum+0}')
|
||||
|
||||
# 只保存超过阈值的语言
|
||||
if [ "$CODE_LINES" -ge "${{ env.MIN_LINES_THRESHOLD }}" ]; then
|
||||
|
||||
Reference in New Issue
Block a user