xref: /JGit/tools/release.sh (revision e3b45f79b68252bf574c29aca4e21c39c53e1e19)
194953ac9SMatthias Sohn#!/bin/bash
294953ac9SMatthias Sohn#
394953ac9SMatthias Sohn# script to create a jgit release
494953ac9SMatthias Sohn
594953ac9SMatthias Sohn# uncomment to switch on trace
694953ac9SMatthias Sohn#set -x
794953ac9SMatthias Sohn
894953ac9SMatthias Sohn# abort if a command hits an error
994953ac9SMatthias Sohnset -e
1094953ac9SMatthias Sohn
1194953ac9SMatthias Sohnexport basePath=$(cd "$(dirname "$0")"; pwd)
1294953ac9SMatthias Sohnecho basePath $basePath
1394953ac9SMatthias Sohn
1494953ac9SMatthias Sohnif [ -z $1 ]; then
1594953ac9SMatthias Sohn    echo "
1694953ac9SMatthias Sohn    Usage:
1794953ac9SMatthias Sohn    $ release.sh <release version tag>
1894953ac9SMatthias Sohn
1994953ac9SMatthias Sohn    e.g. release.sh v3.4.0.201405051725-m7
2094953ac9SMatthias Sohn"
2194953ac9SMatthias Sohn    exit
2294953ac9SMatthias Sohnfi
2394953ac9SMatthias Sohn
2494953ac9SMatthias Sohn# trimmed git status
2594953ac9SMatthias Sohnexport status=$(git status --porcelain)
2694953ac9SMatthias Sohn
2794953ac9SMatthias Sohnif [ ! -z "$status" ];
2894953ac9SMatthias Sohnthen
2994953ac9SMatthias Sohn    echo "
3094953ac9SMatthias Sohn    working tree is dirty -> can't create release
3194953ac9SMatthias Sohn"
3294953ac9SMatthias Sohn    exit
3394953ac9SMatthias Sohnfi
3494953ac9SMatthias Sohn
3594953ac9SMatthias SohnMSG="JGit $1"
3694953ac9SMatthias Sohn
3794953ac9SMatthias Sohn# tag release
3894953ac9SMatthias Sohngit tag -s -m "$MSG" $1
3994953ac9SMatthias Sohn
4094953ac9SMatthias Sohn# update version numbers
4194953ac9SMatthias Sohn./tools/version.sh --release
4294953ac9SMatthias Sohn
4394953ac9SMatthias Sohn# commit changed version numbers
4494953ac9SMatthias Sohngit commit -a -s -m "$MSG"
4594953ac9SMatthias Sohn
4694953ac9SMatthias Sohn# move the tag to the version we release
4794953ac9SMatthias Sohngit tag -sf -m "$MSG" $1
4894953ac9SMatthias Sohn
4994953ac9SMatthias Sohn# run the build
50*e3b45f79SMatthias Sohnmvn clean install -T 1C
5194953ac9SMatthias Sohnmvn clean install -f org.eclipse.jgit.packaging/pom.xml
52