#!/bin/bash
# 云效制品仓库批量上传脚本
JAR_PATH="/Users/geordie/Downloads/artifact-migration-jar-with-dependencies.jar"
SOURCE_DIR="/Users/geordie/.m2/repository1"
REPO_URL="https://packages.aliyun.com/****/maven/geordie"
REPO_USERNAME="****"
REPO_PASSWORD="****"
# 动态获取所有 groupId
echo "正在扫描本地仓库,提取所有 groupId..."
GROUP_IDS=$(find "$SOURCE_DIR" -name "*.pom" | while read pom; do
rel="${pom#$SOURCE_DIR/}"
dir="$(dirname "$rel")"
dir="$(dirname "$dir")"
dir="$(dirname "$dir")"
echo "$dir" | tr '/' '.'
done | sort -u)
# 将所有 groupId 用逗号拼接
INCLUDE=$(echo "$GROUP_IDS" | paste -sd ',' -)
echo "发现以下 groupId:"
echo "$GROUP_IDS"
echo ""
echo "共计 $(echo "$GROUP_IDS" | wc -l | tr -d ' ') 个 groupId"
echo ""
echo "开始上传..."
java -jar "$JAR_PATH" migrate \
--source-dir="$SOURCE_DIR" \
--target-repo-url="$REPO_URL" \
--target-repo-username="$REPO_USERNAME" \
--target-repo-password="$REPO_PASSWORD" \
--include="$INCLUDE"
echo ""
echo "上传完成。"
3 个赞