此脚本仅适用于pod私有库更新版本;
不适用于第一次发布版本;
(脚本逻辑要依赖于以前发布过的信息)
使用方式
1.下方脚本保存为update_tag.sh文件
2.和pod模块 .podspec 文件放同级目录
3.终端执行 "bash update_tag.sh";
4.根据提示 输入版本tag号 即可完成发布
#对啊pod私有库,版本迭代处理脚本;
#脚本新处理, 直接用, 不必更改任何东西; 有问题联系我, by鸿伟;
#自动查找目录, 避免了指定名称的错误;
#查找pod模块名称
curPath=$(pwd)
sdkName=$(find . -name "*.podspec")
sdkName="${sdkName#./}"
sdkName="${sdkName%.podspec}"
echo "识别:sdkName=${sdkName}"
#查找spec库名称
cd ~/.cocoapods/repos
specPath="$(pwd)"
for doc in `ls "${specPath}"`
do
#因为是私有pod, 不处理master库
if [ "${doc}" == "master" ]
then
continue
else
for doc1 in `ls "${specPath}/${doc}"`
do
if [ "${doc1}" == "${sdkName}" ]; then
specName="${doc}"
echo "识别:specName=${specName}"
break
fi
done
fi
done
#开始打标签
cd "${curPath}"
echo "请输入此次tag :"
read versionTag
# echo "请输入此次提交备注 :"
# read gitcm
echo "打标签:{$sdkName}:开始"
sed -i "" "s/s.version =.*/s.version = '$versionTag'/g" $sdkName.podspec
git add $sdkName.podspec
#git add .
git commit -m "打标签:${versionTag}"
git push #origin
git tag $versionTag
git push --tags #origin
echo "打标签{$sdkName}:完成"
#开始处理spec库
echo "处理spec库:开始"
cd ~/.cocoapods/repos/$specName
git pull --rebase=true
mkdir ~/.cocoapods/repos/$specName/$sdkName/$versionTag
cp $curPath/$sdkName.podspec ~/.cocoapods/repos/$specName/$sdkName/$versionTag/
git add $sdkName/$versionTag/$sdkName.podspec
git commit -m "[更新]$sdkName,tag:$versionTag,"
git push
echo "处理spec库:完成"
网友评论