#!/bin/bash
#
# script to create a jgit release

# uncomment to switch on trace
#set -x

# abort if a command hits an error
set -e

export basePath=$(cd "$(dirname "$0")"; pwd)
echo basePath $basePath

if [ -z $1 ]; then
    echo "
    Usage:
    $ release.sh <release version tag>

    e.g. release.sh v3.4.0.201405051725-m7
"
    exit
fi

# trimmed git status
export status=$(git status --porcelain)

if [ ! -z "$status" ];
then
    echo "
    working tree is dirty -> can't create release
"
    exit
fi

MSG="JGit $1"

# tag release
git tag -s -m "$MSG" $1

# update version numbers
./tools/version.sh --release

# commit changed version numbers
git commit -a -s -m "$MSG"

# move the tag to the version we release
git tag -sf -m "$MSG" $1

# run the build
mvn clean install -T 1C
mvn clean install -f org.eclipse.jgit.packaging/pom.xml
