aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2013-11-07 10:22:14 +0100
committerJason Zaugg <jzaugg@gmail.com>2013-11-07 10:31:32 +0100
commit829483d25a9b8ffa581d46728703959ffc1b02ec (patch)
treee5e101ea39b8397d8006bf3774207752ad64bd44
parent61efba27ee97be3b8332e9c7b3f1403813e70a97 (diff)
downloadscala-async-829483d25a9b8ffa581d46728703959ffc1b02ec.tar.gz
scala-async-829483d25a9b8ffa581d46728703959ffc1b02ec.tar.bz2
scala-async-829483d25a9b8ffa581d46728703959ffc1b02ec.zip
Release script
-rwxr-xr-xrelease.sh28
1 files changed, 28 insertions, 0 deletions
diff --git a/release.sh b/release.sh
new file mode 100755
index 0000000..29e2f24
--- /dev/null
+++ b/release.sh
@@ -0,0 +1,28 @@
+#! /bin/bash -e
+
+function sbt211() {
+ sbt 'set scalaVersion := "2.11.0-M6"' 'set scalaBinaryVersion := scalaVersion.value' $@
+ return $?
+}
+die () {
+ echo "$@"
+ exit 1
+}
+
+CHECK=";clean;test;publishLocal"
+RELEASE=";clean;test;publish"
+VERSION=`gsed -rn 's/version :=.*"(.+).*"/\1/p' build.sbt`
+[[ -n "$(git status --porcelain)" ]] && die "working directory is not clean!"
+
+sbt211 $CHECK
+sbt $CHECK
+sbt $RELEASE
+sbt211 $RELEASE
+
+cat <<EOM
+Released! For non-snapshot releases:
+ - tag: git tag -s -a v$VERSION -m "scala-async $VERSION"; println()
+ - push tag: git push origin v$VERSION
+ - close the staging repository: https://oss.sonatype.org
+ - change the version number in build.sbt to a suitable -SNAPSHOT version
+EOM \ No newline at end of file