diff --git a/release.sh b/release.sh new file mode 100644 index 0000000..9897e55 --- /dev/null +++ b/release.sh @@ -0,0 +1,52 @@ +#!/bin/bash +#Arguments: +# -v version eg 6.0.3 +# -m 6.0.3 +set -e + +while getopts v:m: OPTION; +do +case $OPTION + in + v) VERSION=$OPTARG;; + m) MESSAGE=$OPTARG;; +esac +done + +# Show error message if no version was provided +if [ -z $VERSION ]; +then + echo "UsbSerial: Error!! No version was provided" + exit 0 +fi + +# Show error message if no message was provided +if [ -z $MESSAGE ]; +then + echo "UsbSerial: Error!! No message was provided" + exit 0 +fi + +echo "UsbSerial: Starting Release $VERSION with commit message $MESSAGE" + +VERSION_NAME="VERSION_NAME=$VERSION" + +# Updating gradle.properties with version +ex -sc '1d|x' gradle.properties +ex -sc "1i|$VERSION_NAME" -cx gradle.properties + +# Updating README file +GRADLE_LINE="implementation 'com.github.felHR85:UsbSerial:${VERSION}'" +LINE=$(cat README.md | grep -nr implementation\ \'com.github.felHR85:UsbSerial: | awk -F ":" '{print $2}') +ex -sc "${LINE}d|x" README.md +ex -sc "${LINE}i|$GRADLE_LINE" -cx README.md + +# Gradle clean and build +./gradlew clean build + +# Git stuff +git commit -am $MESSAGE +git tag -a $VERSION +git push && git push --tags + +echo "UsbSerial: Release Finished!!!" \ No newline at end of file