[jboss-svn-commits] JBL Code SVN: r36726 - labs/jbossrules/tags/5.2.0.M1.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Feb 24 13:02:22 EST 2011


Author: ge0ffrey
Date: 2011-02-24 13:02:22 -0500 (Thu, 24 Feb 2011)
New Revision: 36726

Added:
   labs/jbossrules/tags/5.2.0.M1/release.sh
Log:
All monolothic build versions (<= 5.2.0.M1) stay in subversion

Added: labs/jbossrules/tags/5.2.0.M1/release.sh
===================================================================
--- labs/jbossrules/tags/5.2.0.M1/release.sh	                        (rev 0)
+++ labs/jbossrules/tags/5.2.0.M1/release.sh	2011-02-24 18:02:22 UTC (rev 36726)
@@ -0,0 +1,150 @@
+#/bin/sh
+
+# ...........................................................
+#
+# Drools Release script
+#
+# This script tries to automate as much as possible of the
+# release process for Drools trunk. 
+#
+# To use it, make sure you update the file release.env 
+# appropriately and then run 
+#
+# ./release.sh 
+# 
+# Optionally you may pass a parameter to this script in order
+# to run it locally (non-hudson environment):
+#
+# ./release.sh local
+#
+# @author: etirelli at redhat.com
+#
+
+#
+#  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 <<EOF 
+#release configuration
+#Fri Jun 20 12:51:50 BRT 2008
+scm.tag=$TAG_VERSION
+project.rel.org.drools\:drools-ant=$REL_VERSION
+project.dev.org.drools\:drools-templates=$DEV_VERSION
+project.dev.org.drools\:drools-clips=$DEV_VERSION
+project.dev.org.drools.planner\:drools-planner=$DEV_VERSION
+project.dev.org.drools\:drools-repository=$DEV_VERSION
+project.rel.org.drools\:drools-repository=$REL_VERSION
+project.rel.org.drools.planner\:drools-planner-core=$REL_VERSION
+project.rel.org.drools\:drools-clips=$REL_VERSION
+project.rel.org.drools.planner\:drools-planner=$REL_VERSION
+project.dev.org.drools\:drools-decisiontables=$DEV_VERSION
+project.dev.org.drools.planner\:drools-planner-examples=$DEV_VERSION
+project.dev.org.drools\:drools-compiler=$DEV_VERSION
+project.rel.org.drools\:drools-core=$REL_VERSION
+project.dev.org.drools\:drools-verifier=$DEV_VERSION
+project.dev.org.drools\:drools-guvnor=$DEV_VERSION
+project.rel.org.drools\:drools-compiler=$REL_VERSION
+project.dev.org.drools\:drools-ant=$DEV_VERSION
+project.rel.org.drools\:drools-verifier=$REL_VERSION
+project.rel.org.drools\:drools-decisiontables=$REL_VERSION
+project.rel.org.drools\:drools-templates=$REL_VERSION
+project.dev.org.drools\:drools-jsr94=$DEV_VERSION
+project.rel.org.drools\:drools-guvnor=$REL_VERSION
+project.dev.org.drools.planner\:drools-planner-core=$DEV_VERSION
+project.rel.org.drools\:drools=$REL_VERSION
+project.rel.org.drools\:drools-jsr94=$REL_VERSION
+project.dev.org.drools\:drools=$DEV_VERSION
+project.dev.org.drools\:drools-core=$DEV_VERSION
+project.rel.org.drools.planner\:drools-planner-examples=$REL_VERSION
+EOF
+}
+
+#
+#  Main script
+#
+if [ "local" == "$1" ]
+then
+    LOCAL_BUILD=true
+fi
+
+echo "*************************************************************"
+echo "------> 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"
+if [ -z "$LOCAL_BUILD" ] 
+then
+   $MVN -Dfull -DskipTests -Drules.site.deploy.dir=file://$WORKSPACE/rules-ouput package site:site site:deploy javadoc:javadoc assembly:assembly
+else
+   $MVN -Dfull -DskipTests package javadoc:javadoc assembly:assembly
+fi
+check_error "****** Error generating distribution artifacts. Exiting. ******"
+echo
+
+if [ -z "$LOCAL_BUILD" ]
+then 
+    echo "*************************************************************"
+    echo "------> Uploading artifacts"
+    mkdir target/$RELEASE_VERSION
+    mv target/drools*.zip target/$RELEASE_VERSION
+    check_error "****** Error preparing artifacts for upload. Exiting. ******"
+    scp -Br -i ~/.ssh/id_rsa target/$RELEASE_VERSION jbossqa at downloads.jboss.com:htdocs/drools/release/$RELEASE_VERSION
+    check_error "****** Error uploading artifacts. Exiting. ******"
+    scp -Br -i ~/.ssh/id_rsa target/site jbossqa at downloads.jboss.com:htdocs/drools/docs/$RELEASE_VERSION
+    check_error "****** Error uploading documentation. Exiting. ******"
+    echo
+fi
+
+
+


Property changes on: labs/jbossrules/tags/5.2.0.M1/release.sh
___________________________________________________________________
Added: svn:executable
   + *



More information about the jboss-svn-commits mailing list