Current section

Files

Jump to
devtools scripts patch
Raw

scripts/patch

#!/usr/bin/env bash
set -e
echo "making release"
if [[ "$OSTYPE" == "linux-gnu" ]];
then
major=$(cat mix.exs | grep "version: " | sed -re 's/version: "([0-9]*)\.([0-9]*)\.([0-9]*)",/\1/g' | sed -r 's/ //g')
minor=$(cat mix.exs | grep "version: " | sed -re 's/version: "([0-9]*)\.([0-9]*)\.([0-9]*)",/\2/g'| sed -r 's/ //g')
patch=$(cat mix.exs | grep "version: " | sed -re 's/version: "([0-9]*)\.([0-9]*)\.([0-9]*)",/\3/g'| sed -r 's/ //g')
if [ "$patch" == "" ]
then
next_patch="0"
else
next_patch=$((patch+1))
fi
prev_version="$major.$minor.$patch"
version="$major.$minor.$next_patch"
echo "Updating version in mix file from ${prev_version} to ${version}"
if [ "$major.$minor.$patch" == ".." ]
then
echo "no prev version.. skipping"
else
sed -i "/version/s/$prev_version/$version/g" mix.exs
fi
elif [[ "$OSTYPE" == "darwin"* ]];
then
prev_version=$(cat mix.exs| grep "version: " | sed -e 's/.*version: "\(.*\)",/\1/')
if [ "$prev_version" == "" ]
then
patch="0"
else
prev_patch=$(echo "$prev_version" | cut -d . -f 3)
patch=$((prev_patch+1))
fi
minor=$(echo $prev_version| awk '{ print substr($1, 0, index($1, ".")+1) }')
version="$minor.$patch"
echo "updating version in mix file from ${prev_version} to ${version}"
if [ "$prev_version" == "" ]
then
echo "no prev version.. skipping"
else
sed -i '' -e "/version/s/${prev_version/v/}/${version/v/}/g" mix.exs
fi
elif [[ "$OSTYPE" == "msys" ]];
then
prev_version=$(cat mix.exs| grep "version: " | sed -e 's/.*version: "\(.*\)",/\1/')
if [ "$prev_version" == "" ]
then
patch="0"
else
prev_patch=$(echo "$prev_version" | cut -d . -f 3)
patch=$((prev_patch+1))
fi
minor=$(echo $prev_version| awk '{ print substr($1, 0, index($1, ".")+1) }')
version="$minor.$patch"
echo "updating version in mix file from ${prev_version} to ${version}"
if [ "$prev_version" == "" ]
then
echo "no prev version.. skipping"
else
sed -i "/version/s/${prev_version/v/}/${version/v/}/g" mix.exs
fi
else
echo "We are on dishwasher. Can't start"
exit 1
fi
echo "Pushing git tag:"
git add mix.exs
git commit -m "Update version in mix.exs to $version"
git push origin master
git tag "v$version"
git push --tags