release.sh in killbill-notification-test-1.9.3 vs release.sh in killbill-notification-test-2.0.0

- old
+ new

@@ -1,41 +1,61 @@ set -e -if [ "GNU" != "$(tar --help | grep GNU | head -1 | awk '{print $1}')" ]; then - echo "Unable to release: make sure to use GNU tar" +BUNDLE=${BUNDLE-"bundle exec"} +MVN=${MVN-"mvn"} + +if [ 'GNU' != "$(tar --help | grep GNU | head -1 | awk '{print $1}')" ]; then + echo 'Unable to release: make sure to use GNU tar' exit 1 fi if $(ruby -e'require "java"'); then # Good - echo "Detected JRuby" + echo 'Detected JRuby' else - echo "Unable to release: make sure to use JRuby" + echo 'Unable to release: make sure to use JRuby' exit 1 fi VERSION=`grep -E '<version>([0-9]+\.[0-9]+\.[0-9]+)</version>' pom.xml | sed 's/[\t \n]*<version>\(.*\)<\/version>[\t \n]*/\1/'` -if [ "$VERSION" != "$(cat $PWD/VERSION)" ]; then - echo "Unable to release: make sure the versions in pom.xml and VERSION match" +if [[ -z "$NO_RELEASE" && "$VERSION" != "$(cat $PWD/VERSION)" ]]; then + echo 'Unable to release: make sure the versions in pom.xml and VERSION match' exit 1 fi -echo "Cleaning up" -rake killbill:clean ; rake build +echo 'Cleaning up' +$BUNDLE rake killbill:clean -echo "Pushing the gem to Rubygems" -rake release +echo 'Building gem' +$BUNDLE rake build -echo "Building artifact" -rake killbill:package +if [[ -z "$NO_RELEASE" ]]; then + echo 'Pushing the gem to Rubygems' + $BUNDLE rake release +fi +echo 'Building artifact' +$BUNDLE rake killbill:package + ARTIFACT="$PWD/pkg/killbill-notification-test-$VERSION.tar.gz" echo "Pushing $ARTIFACT to Maven Central" -mvn gpg:sign-and-deploy-file \ - -DgroupId=org.kill-bill.billing.plugin.ruby \ - -DartifactId=notification-test-plugin \ - -Dversion=$VERSION \ - -Dpackaging=tar.gz \ - -DrepositoryId=ossrh-releases \ - -Durl=https://oss.sonatype.org/service/local/staging/deploy/maven2/ \ - -Dfile=$ARTIFACT \ - -DpomFile=pom.xml + +if [[ -z "$NO_RELEASE" ]]; then + GOAL=gpg:sign-and-deploy-file + REPOSITORY_ID=ossrh-releases + URL=https://oss.sonatype.org/service/local/staging/deploy/maven2/ +else + GOAL=deploy:deploy-file + REPOSITORY_ID=sonatype-nexus-snapshots + URL=https://oss.sonatype.org/content/repositories/snapshots/ + VERSION="$VERSION-SNAPSHOT" +fi + +$MVN $GOAL \ + -DgroupId=org.kill-bill.billing.plugin.ruby \ + -DartifactId=notification-test-plugin \ + -Dversion=$VERSION \ + -Dpackaging=tar.gz \ + -DrepositoryId=$REPOSITORY_ID \ + -Durl=$URL \ + -Dfile=$ARTIFACT \ + -DpomFile=pom.xml