#!/bin/bash

source "$(dirname $_)/shared.sh"

require-grep-P

ORMLITE_FETCHURL="http://ormlite.com/releases"
PACKAGES="ormlite-core ormlite-android"

[[ $# -lt 1 ]] && die "usage: upgrade-ormlite [new version]"

if svn stat | grep -q -v -P '^\?' && [[ $# -lt 2 || $2 != "nocommit" ]]; then
	die "Local modifications found, refusing to update. Commit pending changes first!"
fi

oldversion=`grep -o -m1 -P 'ormlite-android-(\d+\.\d+)' .classpath | awk 'BEGIN { FS="-" }; { print $3 }'` || die

if [[ "$1" == "$oldversion" ]]; then
	die "Already at version $1"
fi

echo "Old version is $oldversion"

mkdir -p doc

for P in $PACKAGES; do
	base="$P-$1"
	library="$base.jar"
	javadoc="$base-javadoc.jar"

	run wget -nv "$ORMLITE_FETCHURL/$1/$library" -O libs/$library
	run svn add libs/$library

	run wget -nv "$ORMLITE_FETCHURL/$1/$javadoc" -O doc/$javadoc

	run sed -i -e "s/$P-$oldversion/$base/" .classpath

done
svn rm --force libs/ormlite-*$oldversion*.jar

if [[ $# -lt 2 || "$2" != "nocommit" ]]; then
	svn ci -m "ORMLite upgrade: $oldversion -> $1"
fi
