| #!/bin/bash | |
| function user_continue() { | |
| read -p "Do you want to continue? [y/n]" -n 1 -r | |
| echo | |
| if [[ ! $REPLY =~ ^[Yy]$ ]]; then | |
| exit 1 | |
| fi | |
| } | |
| if [ "$#" -ne 1 ]; then | |
| echo "USAGE: `basename $0` <repo-path>" | |
| exit | |
| fi | |
| REPO_PATH="${1}" | |
| SHA=`git rev-parse --verify HEAD` | |
| echo "=================================================================" | |
| echo "BEGIN PUBLISH SNAPSHOT for revision ${SHA} at ${REPO_PATH}" | |
| echo "=================================================================" | |
| user_continue | |
| # update pom to release version | |
| if ! mvn clean; then | |
| echo "maven clean command failed, check your environment" | |
| exit | |
| fi | |
| mvn package -Dmaven.javadoc.skip=true -B -V | |
| # Clone the maven repo | |
| pushd ${REPO_PATH} | |
| git pull | |
| popd | |
| # Deploy the artifact to the maven repo | |
| mvn deploy -DskipTests -DaltDeploymentRepository=snapshot::file://${REPO_PATH} | |
| # Push changes to the maven repo | |
| pushd ${REPO_PATH} | |
| git add . | |
| git commit -a -m "Publish snapshot: ${SHA}" | |
| git push origin master | |
| popd | |
| echo "Successfully published SNAPSHOT artifacts for ${SHA}" |