Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F116132
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Award Token
Flag For Later
Size
2 KB
Referenced Files
None
Subscribers
None
View Options
diff --git a/bin/increment-version b/bin/increment-version
new file mode 100755
index 0000000..4cfdc47
--- /dev/null
+++ b/bin/increment-version
@@ -0,0 +1,89 @@
+#!/bin/bash
+
+# Based on https://github.com/fmahnke/shell-semver
+# The MIT License (MIT)
+# Copyright (c) 2014 Fritz Mahnke
+# Increment a version string using Semantic Versioning (SemVer) terminology.
+# Parse command line options.
+
+
+while getopts ":Mmp" Option
+do
+ case $Option in
+ M ) major=true;;
+ m ) minor=true;;
+ p ) patch=true;;
+ esac
+done
+
+shift $(($OPTIND - 1))
+
+STAGED_COUNT=$(git diff --cached --numstat | wc -l)
+UNSTAGED_COUNT=$(git diff --numstat | wc -l)
+
+## TODO check we are on master
+if [ $STAGED_COUNT -ne "0" ]; then
+ echo "you have staged changes. Aborting".
+ exit 1
+fi
+
+if [ $UNSTAGED_COUNT -ne "0" ]; then
+ echo "you have unstaged changes. Aborting".
+ exit 1
+fi
+
+version="$(mix run --no-compile --no-start -e ":io.format('~s', [PrometheusEx.Mixfile.project()[:version]])")"
+
+echo "Old version: ${version}"
+
+# Build array from version string.
+oa=( ${version//./ } )
+a=( ${version//./ } )
+
+# If version string is missing or has the wrong number of members, show usage message.
+
+if [ ${#a[@]} -ne 3 ]
+then
+ echo "usage: $(basename $0) [-Mmp] TAG_MESSAGE(optional)"
+ exit 1
+fi
+
+# Increment version numbers as requested.
+
+if [ ! -z $major ]
+then
+ ((a[0]++))
+ a[1]=0
+ a[2]=0
+fi
+
+if [ ! -z $minor ]
+then
+ ((a[1]++))
+ a[2]=0
+fi
+
+if [ ! -z $patch ]
+then
+ ((a[2]++))
+fi
+
+new_version="${a[0]}.${a[1]}.${a[2]}"
+
+echo "New version: ${new_version}"
+
+sed -i s/\"${oa[0]}\.${oa[1]}\.${oa[2]}\"/\"${a[0]}\.${a[1]}\.${a[2]}\"/g mix.exs
+sed -i s/\~\>\ ${oa[0]}\.${oa[1]}/\~\>\ ${a[0]}\.${a[1]}/g README.md
+
+git add mix.exs
+git add README.md
+git add doc
+git commit -m "Bump to v${new_version}"
+
+TAG_MESSAGE=${1:-"New version: v${new_version}"}
+
+git tag -a "v${new_version}" -m "${TAG_MESSAGE}"
+git push origin master
+git push origin "v${new_version}"
+
+mix hex.publish
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Sat, Nov 30, 1:37 PM (1 d, 15 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
41435
Default Alt Text
(2 KB)
Attached To
Mode
R26 prometheus.ex
Attached
Detach File
Event Timeline
Log In to Comment