Update dependencies script

This commit is contained in:
Michael Krasnyk 2018-04-19 12:41:33 +03:00
parent b2aeb47630
commit c7d22c2b92
No known key found for this signature in database
GPG Key ID: 49C12AD0F43D2108

View File

@ -9,79 +9,50 @@ set -o nounset
# structure will be lost. # structure will be lost.
# http://git.661346.n2.nabble.com/subtree-merges-lose-prefix-after-rebase-td7332850.html # http://git.661346.n2.nabble.com/subtree-merges-lose-prefix-after-rebase-td7332850.html
OSMIUM_REPO="https://github.com/osmcode/libosmium.git" OSMIUM_PATH="osmcode/libosmium"
OSMIUM_TAG=v2.13.1 OSMIUM_TAG=v2.14.0
VARIANT_REPO="https://github.com/mapbox/variant.git" VARIANT_PATH="mapbox/variant"
VARIANT_TAG=v1.1.3 VARIANT_TAG=v1.1.3
SOL_REPO="https://github.com/ThePhD/sol2.git" SOL_PATH="ThePhD/sol2"
SOL_TAG=v2.17.5 SOL_TAG=v2.17.5
RAPIDJSON_REPO="https://github.com/miloyip/rapidjson.git" RAPIDJSON_PATH="Tencent/rapidjson"
RAPIDJSON_TAG=v1.1.0 RAPIDJSON_TAG=v1.1.0
MICROTAR_REPO="https://github.com/rxi/microtar" MICROTAR_PATH="rxi/microtar"
MICROTAR_TAG=v0.1.0 MICROTAR_TAG=v0.1.0
VARIANT_LATEST=$(curl "https://api.github.com/repos/mapbox/variant/releases/latest" | jq ".tag_name") PROTOZERO_PATH="mapbox/protozero"
OSMIUM_LATEST=$(curl "https://api.github.com/repos/osmcode/libosmium/releases/latest" | jq ".tag_name") PROTOZERO_TAG=v1.6.2
SOL_LATEST=$(curl "https://api.github.com/repos/ThePhD/sol2/releases/latest" | jq ".tag_name")
RAPIDJSON_LATEST=$(curl "https://api.github.com/repos/miloyip/rapidjson/releases/latest" | jq ".tag_name")
MICROTAR_LATEST=$(curl "https://api.github.com/repos/rxi/microtar/releases/latest" | jq ".tag_name")
echo "Latest osmium release is $OSMIUM_LATEST, pulling in \"$OSMIUM_TAG\"" VTZERO_PATH="mapbox/vtzero"
echo "Latest variant release is $VARIANT_LATEST, pulling in \"$VARIANT_TAG\"" VTZERO_TAG=v1.0.1
echo "Latest sol2 release is $SOL_LATEST, pulling in \"$SOL_TAG\""
echo "Latest rapidjson release is $RAPIDJSON_LATEST, pulling in \"$RAPIDJSON_TAG\"" function update_subtree () {
echo "Latest microtar release is $MICROTAR_LATEST, pulling in \"$MICROTAR_TAG\"" name=${1^^}
path=$(tmpvar=${name}_PATH && echo ${!tmpvar})
tag=$(tmpvar=${name}_TAG && echo ${!tmpvar})
dir=$(basename $path)
repo="https://github.com/${path}.git"
latest=$(curl -s "https://api.github.com/repos/${path}/releases/latest" | jq ".tag_name")
echo "Latest $1 release is ${latest}, pulling in \"${tag}\""
read -p "Update ${1} (y/n) " ok
read -p "Update osmium (y/n) " ok
if [[ $ok =~ [yY] ]] if [[ $ok =~ [yY] ]]
then then
if [ -d "third_party/libosmium" ]; then if [ -d "third_party/$dir" ]; then
git subtree pull -P third_party/libosmium/ $OSMIUM_REPO $OSMIUM_TAG --squash git subtree pull -P third_party/$dir ${repo} ${tag} --squash
else else
git subtree add -P third_party/libosmium/ $OSMIUM_REPO $OSMIUM_TAG --squash git subtree add -P third_party/$dir ${repo} ${tag} --squash
fi fi
fi fi
}
read -p "Update variant (y/n) " ok ## Update dependencies
if [[ $ok =~ [yY] ]] for dep in osmium variant sol rapidjson microtar protozero vtzero ; do
then update_subtree $dep
if [ -d "third_party/variant" ]; then done
git subtree pull -P third_party/variant/ $VARIANT_REPO $VARIANT_TAG --squash
else
git subtree add -P third_party/variant/ $VARIANT_REPO $VARIANT_TAG --squash
fi
fi
read -p "Update sol2 (y/n) " ok
if [[ $ok =~ [yY] ]]
then
if [ -d "third_party/sol2" ]; then
git subtree pull -P third_party/sol2/sol2/ $SOL_REPO $SOL_TAG --squash
else
git subtree add -P third_party/sol2/sol2/ $SOL_REPO $SOL_TAG --squash
fi
fi
read -p "Update rapidjson (y/n) " ok
if [[ $ok =~ [yY] ]]
then
if [ -d "third_party/rapidjson" ]; then
git subtree pull -P third_party/rapidjson/ $RAPIDJSON_REPO $RAPIDJSON_TAG --squash
else
git subtree add -P third_party/rapidjson/ $RAPIDJSON_REPO $RAPIDJSON_TAG --squash
fi
fi
read -p "Update microtar (y/n) " ok
if [[ $ok =~ [yY] ]]
then
if [ -d "third_party/microtar" ]; then
git subtree pull -P third_party/microtar/ $MICROTAR_REPO $MICROTAR_TAG --squash
else
git subtree add -P third_party/microtar/ $MICROTAR_REPO $MICROTAR_TAG --squash
fi
fi