#/bin/sh # # Checks if there is an error flag active and if so, # shows an error message and terminates the script # # $1 : error message to show # check_error() { if [ $? -ne 0 ] then echo echo "ERROR: $1" echo exit 1 fi } # # Generate the release file # # $1 : Release version # $2 : Development version # $3 : Release Tag # create_release_file() { REL_VERSION=$1 DEV_VERSION=$2 TAG_VERSION=$3 cat > release.properties < Importing release configuration" . release.env echo "CURRENT_VERSION = $CURRENT_VERSION" echo "RELEASE_VERSION = $RELEASE_VERSION" echo "NEW_VERSION = $NEW_VERSION" echo "TAG_NAME = $TAG_NAME" echo echo "*************************************************************" echo "------> Updating release version in configuration files" $ANT -f update-version.xml -Dcurrent="$CURRENT_VERSION" -Dnew="$RELEASE_VERSION" updateVersion check_error "****** Error updating version numbers. Exiting. ******" echo echo "*************************************************************" echo "------> Commiting new version into trunk" $SVN commit -m "$JIRA_TICKET : preparing release. Updating files from version $CURRENT_VERSION to $RELEASE_VERSION" check_error "****** Error commiting update files to trunk. Exiting. ******" echo echo "*************************************************************" echo "------> Preparing the release" $MVN release:clean check_error "****** Error cleaning up for the release. Exiting. ******" create_release_file $RELEASE_VERSION $NEW_VERSION $TAG_NAME $MVN --batch-mode release:prepare check_error "****** Error preparing the release. Exiting. ******" echo echo "*************************************************************" echo "------> Generating artifacts" $MVN -Ddocumentation -Declipse -Dmaven.test.skip -Dydoc.home=$YDOC_HOME -DlocalEclipseDrop=/home/hudson/configs/jboss-rules/local-eclipse-drop-mirror package javadoc:javadoc assembly:assembly check_error "****** Error generating distribution artifacts. Exiting. ******" echo