#!/bin/bash

MVN_ARG=$1
replace () {
INPUT=$1
OLD=$2
NEW=$3
OUTPUT=$(echo $INPUT | sed "s/$OLD/$NEW/")
echo "$OUTPUT"
}
replaceInFile() {
INPUT=$1
OLD=$2
NEW=$3
echo INPUT=$INPUT
echo OLD=$OLD
echo NEW=$NEW
sed -i 's/$OLD/$NEW/g' $INPUT
cat $INPUT
}

echo ... 1. Building
mvn clean install $MVN_ARG
#Use mvn clean install -o to build offline

if [ $? -eq 0 ]
then
    echo "Build was finished"
else
    echo "Build failed. Exiting"
    exit
fi

echo ... 2. Deleting dist directory
rm ./dist/*.jar

echo ... 3. Detecting version
cd modules/time-calc-app/target
VERSION=`ls time-calc-app-*-jar-with-all-dependencies.jar`
VERSION=`replace $VERSION "-jar-with-all-dependencies.jar" ""`
VERSION=`replace $VERSION "time-calc-app-" ""`
ORIG_VERSION=$VERSION
BUILD_TIMESTAMP=`date +'%Y%m%d_%H%M%S'`
if [[ `ls time-calc-app-*-jar-with-all-dependencies.jar` == *"SNAPSHOT"* ]];
then
    VERSION=`echo $VERSION-$BUILD_TIMESTAMP`
else
    echo "Release is in progress."
fi
echo version=$VERSION
cd ../../..
mkdir dist
echo $VERSION>./dist/VERSION

echo ... 4. Moving new jar file to dist directory
mv ./modules/time-calc-app/target/time-calc-app-$ORIG_VERSION-jar-with-all-dependencies.jar ./dist/time-calc-$VERSION.jar
rm ./modules/time-calc-app/target/time-calc-app-$ORIG_VERSION.jar

cp ./dist/time-calc-$VERSION.jar C:/Users/user/Desktop/rv