Skip to content

Instantly share code, notes, and snippets.

@kasunbg
Created June 1, 2016 11:38
Show Gist options
  • Save kasunbg/6533c13088c77d1af99da464d0c1bf39 to your computer and use it in GitHub Desktop.
Save kasunbg/6533c13088c77d1af99da464d0c1bf39 to your computer and use it in GitHub Desktop.
automated-maven-release-process
#!/bin/sh
REPO_NAME=$1
#possible values: 1.7 1.8
JDK_TO_USE=$2
HOME=/build/release-builds/kasung/
JDK_18=/build/software/java/jdk1.8.0_20
JDK_17=/build/software/java/jdk1.7.0_51
MAVEN_LOCAL_REPO=${HOME}/m2/${REPO_NAME}$(( ( RANDOM % 1000 ) + 1 ))
if [ -z "$1" ]; then
echo "Enter repo name as an argument."
echo "Sample Usage: ./release-script.sh carbon-deployment 1.8"
exit 1;
fi
if [ -z "$2" ]; then
echo "No JDK info provided. Defaults to JDK 1.7"
JDK_TO_USE=1.8
fi
if [ -d "${HOME}/${REPO_NAME}" ]; then
echo "A clone already exists at ${HOME}/${REPO_NAME}.. Exiting."
exit 1;
fi
if [ -d "${MAVEN_LOCAL_REPO}" ]; then
echo "Deleting local maven repo " ${MAVEN_LOCAL_REPO}
rm -r ${MAVEN_LOCAL_REPO};
fi
if [ ! -d "$HOME" ]; then
mkdir $HOME
fi
cd $HOME
echo "Current working directory : " $HOME
git clone https://github.com/wso2/${REPO_NAME}.git
cd ${REPO_NAME}
git config user.email "kasunbg@gmail.com"
git config user.name "Kasun Gajasinghe"
ACTUAL_JDK=$(mvn -version | grep "Java version" | sed -e 's/Java version: \(.*\),.*/\1/' | sed -e 's/\(.*\).._.*/\1/')
if [ "$JDK_TO_USE" != "$ACTUAL_JDK" ]; then
echo "JDK version mismatch."
if [ "$JDK_TO_USE" = "1.8" ]
then
echo "Setting JAVA_HOME to " $JDK_18
JAVA_HOME=$JDK_18
else
echo "Setting JAVA_HOME to " $JDK_17
JAVA_HOME=$JDK_17
fi
fi
mvn -version
echo "Starting release prepare and perform. Don't press Enter unless absolutely necessary!"
echo ""
mvn release:clean release:prepare release:perform -s ${HOME}/release/settings.xml -Dmaven.repo.local=${MAVEN_LOCAL_REPO}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment