DEFAULT_RECOVERY_NAME=$DEFAULT_APPLICATION_NAME-r
DEFAULT_SSB_NAME=$DEFAULT_APPLICATION_NAME-ssb
-# 各项目独立版本管理
-declare -A PROJECT_VERSIONS
-
-# 从配置文件加载版本信息
-load_versions_from_config() {
- local config_file="$HOMEDIR/project_versions.conf"
- if [ -f "$config_file" ]; then
- while IFS='=' read -r project version; do
- # 跳过注释行和空行
- if [[ ! "$project" =~ ^[[:space:]]*# ]] && [[ -n "$project" ]]; then
- PROJECT_VERSIONS["$project"]="$version"
- fi
- done < "$config_file"
- echo "Loaded versions from $config_file"
- else
- echo "Warning: Config file $config_file not found, using default versions"
- # 使用默认版本
- PROJECT_VERSIONS["fd230"]="1.3.106"
- PROJECT_VERSIONS["user"]="1.2.85"
- PROJECT_VERSIONS["fd230_user"]="1.2.90"
- PROJECT_VERSIONS["xts"]="1.1.50"
- PROJECT_VERSIONS["u8"]="1.3.20"
- PROJECT_VERSIONS["w9"]="1.2.75"
- PROJECT_VERSIONS["lt22"]="1.3.15"
- PROJECT_VERSIONS["n9"]="1.2.60"
- PROJECT_VERSIONS["ln"]="1.3.30"
- PROJECT_VERSIONS["u8m"]="1.2.40"
- PROJECT_VERSIONS["uoffline"]="1.2.45"
- PROJECT_VERSIONS["oob128"]="1.3.10"
- PROJECT_VERSIONS["z1"]="1.1.80"
- PROJECT_VERSIONS["4part"]="1.3.25"
- PROJECT_VERSIONS["leakcheck"]="1.2.70"
- PROJECT_VERSIONS["autoota"]="1.3.50"
- PROJECT_VERSIONS["autootacli"]="1.1.30"
- PROJECT_VERSIONS["obu"]="1.2.35"
- PROJECT_VERSIONS["cm"]="1.3.40"
- PROJECT_VERSIONS["ct"]="1.3.35"
- fi
-}
-
-# 保存版本到配置文件
-save_versions_to_config() {
- local config_file="$HOMEDIR/project_versions.conf"
- echo "# 项目版本配置文件" > "$config_file"
- echo "# 格式: PROJECT_NAME=VERSION" >> "$config_file"
- echo "# 示例: fd230=1.3.106" >> "$config_file"
- echo "" >> "$config_file"
- echo "# 默认项目版本" >> "$config_file"
- for project in "${!PROJECT_VERSIONS[@]}"; do
- echo "$project=${PROJECT_VERSIONS[$project]}" >> "$config_file"
- done
- echo "Versions saved to $config_file"
+# ============================================================================
+# 项目版本配置 - 在这里修改各项目的版本号
+# ============================================================================
+declare -A PROJECT_VERSIONS=(
+ # 基础项目版本
+ ["fd230"]="1.3.107"
+ ["user"]="1.3.107"
+ ["fd230_user"]="1.3.107"
+
+ # 测试项目版本
+ ["xts"]="1.3.107"
+ ["u8"]="1.3.107"
+ ["w9"]="1.3.107"
+ ["lt22"]="1.3.107"
+ ["n9"]="1.3.107"
+ ["ln"]="1.3.107"
+
+ # 特殊功能版本
+ ["u8m"]="1.3.107"
+ ["uoffline"]="1.3.107"
+ ["oob128"]="1.3.107"
+ ["z1"]="1.3.107"
+ ["4part"]="1.3.107"
+ ["leakcheck"]="1.3.107"
+
+ # OTA相关版本
+ ["autoota"]="1.3.107"
+ ["autootacli"]="1.3.107"
+
+ # 行业版本
+ ["obu"]="1.3.107"
+ ["cm"]="1.3.107"
+ ["ct"]="1.3.107"
+)
+
+# 显示所有项目版本
+show_all_versions() {
+ echo "=========================================="
+ echo " 项目版本配置表"
+ echo "=========================================="
+ printf "%-15s %-10s %-20s\n" "项目名称" "版本号" "说明"
+ echo "------------------------------------------"
+ printf "%-15s %-10s %-20s\n" "fd230" "${PROJECT_VERSIONS[fd230]}" "默认项目"
+ printf "%-15s %-10s %-20s\n" "user" "${PROJECT_VERSIONS[user]}" "用户版本"
+ printf "%-15s %-10s %-20s\n" "fd230_user" "${PROJECT_VERSIONS[fd230_user]}" "FD230用户版"
+ printf "%-15s %-10s %-20s\n" "xts" "${PROJECT_VERSIONS[xts]}" "XTS测试版"
+ printf "%-15s %-10s %-20s\n" "u8" "${PROJECT_VERSIONS[u8]}" "U8项目"
+ printf "%-15s %-10s %-20s\n" "w9" "${PROJECT_VERSIONS[w9]}" "W9项目"
+ printf "%-15s %-10s %-20s\n" "lt22" "${PROJECT_VERSIONS[lt22]}" "LT22项目"
+ printf "%-15s %-10s %-20s\n" "n9" "${PROJECT_VERSIONS[n9]}" "N9项目"
+ printf "%-15s %-10s %-20s\n" "ln" "${PROJECT_VERSIONS[ln]}" "雷鸟项目"
+ printf "%-15s %-10s %-20s\n" "u8m" "${PROJECT_VERSIONS[u8m]}" "U8M项目"
+ printf "%-15s %-10s %-20s\n" "uoffline" "${PROJECT_VERSIONS[uoffline]}" "离线版本"
+ printf "%-15s %-10s %-20s\n" "oob128" "${PROJECT_VERSIONS[oob128]}" "OOB128版本"
+ printf "%-15s %-10s %-20s\n" "z1" "${PROJECT_VERSIONS[z1]}" "Z1定制版"
+ printf "%-15s %-10s %-20s\n" "4part" "${PROJECT_VERSIONS[4part]}" "4分区版本"
+ printf "%-15s %-10s %-20s\n" "leakcheck" "${PROJECT_VERSIONS[leakcheck]}" "内存检测版"
+ printf "%-15s %-10s %-20s\n" "autoota" "${PROJECT_VERSIONS[autoota]}" "自动OTA版"
+ printf "%-15s %-10s %-20s\n" "autootacli" "${PROJECT_VERSIONS[autootacli]}" "OTA命令行版"
+ printf "%-15s %-10s %-20s\n" "obu" "${PROJECT_VERSIONS[obu]}" "OBU项目"
+ printf "%-15s %-10s %-20s\n" "cm" "${PROJECT_VERSIONS[cm]}" "中国移动版"
+ printf "%-15s %-10s %-20s\n" "ct" "${PROJECT_VERSIONS[ct]}" "中国电信版"
+ echo "=========================================="
+ echo ""
}
# 默认版本
RELEASE_BUILD=release
fi
-# 设置项目版本
+# 设置项目版本 - 直接从脚本内部配置获取
if [ -n "$1" ] && [ "$1" != "clean" ] && [ "$1" != "debug" ] && [ "$1" != "release" ]
then
if [ -n "${PROJECT_VERSIONS[$1]}" ]
then
CURRENT_PROJECT_VERSION=${PROJECT_VERSIONS[$1]}
- echo "Setting version for project $1: $CURRENT_PROJECT_VERSION"
+ echo "使用项目 $1 的版本: $CURRENT_PROJECT_VERSION"
else
- echo "Warning: No version defined for project $1, using default version: $DEFAULT_CUSTOM_FW_VERSION"
+ echo "警告: 项目 $1 未定义版本,使用默认版本: $DEFAULT_CUSTOM_FW_VERSION"
CURRENT_PROJECT_VERSION=$DEFAULT_CUSTOM_FW_VERSION
fi
fi
cd $HOMEDIR
}
-# 版本管理功能
-show_versions() {
- echo "=== 项目版本管理 ==="
- echo "当前项目: $TARGET_PACK_NAME"
- echo "当前版本: $CURRENT_PROJECT_VERSION"
- echo "版本数量: ${#PROJECT_VERSIONS[@]}"
- echo ""
- echo "所有项目版本:"
- for project in "${!PROJECT_VERSIONS[@]}"; do
- echo " $project: ${PROJECT_VERSIONS[$project]}"
- done
- echo ""
-}
-
-# 检查是否是版本管理命令
+# 检查是否是版本查看命令
if [ "$1" == "versions" ] || [ "$1" == "version" ] || [ "$1" == "v" ]
then
- load_versions_from_config
- show_versions
+ show_all_versions
exit 0
fi
-# 检查是否是更新版本命令
-if [ "$1" == "update-version" ] && [ -n "$2" ] && [ -n "$3" ]
-then
- # 先加载版本配置
- load_versions_from_config
- project_name=$2
- new_version=$3
- if [ -n "${PROJECT_VERSIONS[$project_name]}" ]
- then
- old_version=${PROJECT_VERSIONS[$project_name]}
- PROJECT_VERSIONS[$project_name]=$new_version
- echo "Updated $project_name version: $old_version -> $new_version"
- # 保存到配置文件
- save_versions_to_config
- else
- echo "Error: Project $project_name not found"
- echo "Available projects:"
- for project in "${!PROJECT_VERSIONS[@]}"; do
- echo " $project"
- done
- exit 1
- fi
- exit 0
-fi
-
-# 加载版本配置
-load_versions_from_config
-
checkarguments $1
checkarguments $2
checkarguments $3
checkarguments $4
# 显示当前编译信息
-echo "=== 编译信息 ==="
+echo "=========================================="
+echo " 编译信息"
+echo "=========================================="
echo "项目: $TARGET_PACK_NAME"
echo "版本: $CURRENT_PROJECT_VERSION"
echo "构建类型: $RELEASE_BUILD"
else
echo "清理模式: 否"
fi
-echo "=================="
+echo "构建时间: $(date '+%Y-%m-%d %H:%M:%S')"
+echo "=========================================="
# read -n 1 -p "Press any key to continue..."