Author: psteitz Date: Mon Jul 3 20:10:10 2006 New Revision: 418903 URL: http://svn.apache.org/viewvc?rev=418903&view=rev Log: Initial commit.
Added: jakarta/commons/proper/commons-build/trunk/commons_nightly.sh (with props) Added: jakarta/commons/proper/commons-build/trunk/commons_nightly.sh URL: http://svn.apache.org/viewvc/jakarta/commons/proper/commons-build/trunk/commons_nightly.sh?rev=418903&view=auto ============================================================================== --- jakarta/commons/proper/commons-build/trunk/commons_nightly.sh (added) +++ jakarta/commons/proper/commons-build/trunk/commons_nightly.sh Mon Jul 3 20:10:10 2006 @@ -0,0 +1,171 @@ +#!/bin/sh +#============================================================================== +# Jakarta Commons Nightly Build +# +# Executes "svn up" and then "ant clean dist" for all of the +# components in $nightly_list_location/nightly_proper_ant_list.txt +# and "maven clean dist" for those in +# $nightly_list_location/nightly_proper_maven_list.txt. +# Similarly for sandbox components from the *_sandbox_* lists. +# +# Uses scp to upload resulting .zip and .tar.gz files to +# [EMAIL PROTECTED]:$deploy_location/commons-$component +# +# Names are munged to take the form +# commons-$component-src-$time_stamp (source) +# commons-$component-$time_stamp (binaries) +# +# (Over-)writes a log for each component build to $log_location/$component.log +# +# Assumes $proper_root points to a checkout of commons proper trunks +# and similarly for $sandbox_root +#============================================================================== +# Configuration +#============================================================================== +# Notes: 1) Path specifications are absolute +# 2) $deploy_user must have an ssh key on the build host that is +# authorized on the $deploy_host +#============================================================================== +proper_root="/home/psteitz/trunks-proper" # local commons proper checkout +sandbox_root="/home/psteitz/trunks-sandbox" # local sandbox checkout +deploy_host="people.apache.org" # deployment host +deploy_user="psteitz" # user on the deployment host +# path to component lists +nightly_list_location="${proper_root}/commons-build" +# deployment path on $deploy_host +deploy_location="/x1/www/people.apache.org/builds/jakarta-commons/nightly" +log_location="/home/psteitz/log" # where to put logs +time_stamp=`date +%Y%m%d` # time stamp in file names +ant_build="/home/psteitz/build" # Ant build directory +#============================================================================== +# Process maven components in $components list. +# Assumes $components are checked out with common root, $current_root +#============================================================================== +process_maven_components() { + for component in $components + do + if [ ! -e "${current_root}/${component}" ] # Check if checkout exists. + then + echo "$component checkout is missing."; echo + continue # Go ahead anyway + fi + cd ${current_root}/${component} + echo + echo "Using Maven to build $component...." + svn up + maven clean dist > $log_location/$component.log 2>&1 + rename "s/m-target/target/" * # validator funniness + rename "s/SNAPSHOT/$time_stamp/" target/distributions/* + rename "s/RC1/$time_stamp/" target/distributions/* # scxml - branch? + scp target/distributions/commons-$component*.gz \ + [EMAIL PROTECTED]:$deploy_location/commons-$component + scp target/distributions/commons-$component*.zip \ + [EMAIL PROTECTED]:$deploy_location/commons-$component + rm -rf target # cleanup validator + done +} +#============================================================================== +# Process ant components in $components list. +# Assumes $components are checked out with common root, $current_root +#============================================================================== +process_ant_components() { + for component in $components + do + if [ ! -e "${current_root}/${component}" ] # Check if checkout exists. + then + echo "$component checkout is missing."; echo + continue # Go ahead anyway + fi + cd ${current_root}/${component} + echo + echo "Using Ant to build $component...." + svn up + ant clean + + # Create source distro + rm -rf ${ant_build}/commons-$component-src + mkdir ${ant_build}/commons-$component-src + cp -R . ${ant_build}/commons-$component-src + cd ${ant_build}/commons-$component-src + find ${ant_build}/commons-$component-src/ \ + -name .svn -exec echo rm -rf {} \; > clean.sh + sh clean.sh + rm clean.sh + cd ${ant_build} + tar -czf commons-$component-src-$time_stamp.tar.gz commons-$component-src + # FIXME (or vmbuild) Ubuntu does not seem to have zip?? Next line fails... + zip -q -r commons-$component-src-$time_stamp.zip commons-$component-src + mv commons-$component-src-$time_stamp.* ${ant_build}/commons-$component-src + + # Create binary distro + cd ${ant_build}/commons-$component-src + ant dist > $log_location/$component.log 2>&1 + mv dist commons-$component + tar -czf commons-${component}-$time_stamp.tar.gz commons-$component + # FIXME (or vmbuild) Ubuntu does not seem to have zip?? Next line fails... + zip -q -r commons-${component}-$time_stamp.zip commons-$component + + # Upload files + scp commons-$component*.gz \ + [EMAIL PROTECTED]:$deploy_location/commons-$component + scp commons-$component*.zip \ + [EMAIL PROTECTED]:$deploy_location/commons-$component + + # Cleanup + rm -f commons-$component*.gz + rm -f commons-$component*.zip + rm -rf ${ant_build}/commons-$component-src + done +} + +echo "Commons nightly build starting: `date`" + +# Update commons-build +cd $proper_root/commons-build +svn up + +# Set umask +umask 002 + +# Proper Ant components +list_file="$nightly_list_location/nightly_proper_ant_list.txt" +components=`<$list_file` +current_root=$proper_root +echo "==========================================" +echo " Building Commons Proper Ant Components " +echo "==========================================" +process_ant_components + +# Proper Maven components +list_file="$nightly_list_location/nightly_proper_maven_list.txt" +components=`<$list_file` +current_root=$proper_root +echo +echo "==========================================" +echo " Building Commons Proper Maven Components " +echo "==========================================" +process_maven_components + +# Sandbox Ant components +list_file="$nightly_list_location/nightly_sandbox_ant_list.txt" +components=`<$list_file` +current_root=$sandbox_root +echo +echo "==========================================" +echo " Building Sandbox Ant Components " +echo "==========================================" +process_ant_components + +# Sandbox Maven components +list_file="$nightly_list_location/nightly_sandbox_maven_list.txt" +components=`<$list_file` +current_root=$sandbox_root +echo +echo "==========================================" +echo " Building Sandbox Maven Components " +echo "==========================================" +process_maven_components + +exit 0 + + Propchange: jakarta/commons/proper/commons-build/trunk/commons_nightly.sh ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jakarta/commons/proper/commons-build/trunk/commons_nightly.sh ------------------------------------------------------------------------------ svn:executable = * --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]