#!/bin/sh # HowToRelease.txt # # Usage: # ./HowToRelease.txt # Handle with care! # WHOAMI=`whoami` DATE=`date '+%F'` RELEASE=scheduler-${DATE} SCHEDULER_PATH=${1:-/path/to/server} FTP_PATH=${2:-/home/ftp/pub/FIXME} # 1. Snapshot erstellen: hg clone ssh://${WHOAMI}@thoe.intevation.de/${SCHEDULER_PATH} scheduler-release-${DATE} cd scheduler-release-${DATE} # 2. Tag auf dem Hauptrepository erstellen sed "1i\\${DATE}\t${WHOAMI} <${WHOAMI}@intevation.de>:\n\n\t* ChangeLog.txt: Tagged as '${DATE}'\n" -i ChangeLog.txt hg tag ${DATE} hg ci -m "Tagged as ${DATE}" hg push # 3. Binary-Paket erstellen: mkdir -p ${RELEASE}/libs use_maven2 (cd scheduler && mvn package) cp scheduler/target/webflys-scheduler.jar ${RELEASE} cp -R scheduler/target/libs/*.jar ${RELEASE}/libs cp contrib/scheduler.sh ${RELEASE} cp doc/INSTALL.txt ${RELEASE} tar cvfz ../${RELEASE}.tar.gz ${RELEASE} (cd scheduler && mvn clean) # 4. Source-Paket erstellen: cd .. tar cvfz scheduler-${DATE}-src.tar.gz \ scheduler-release-${DATE}/scheduler \ scheduler-release-${DATE}/ChangeLog.txt \ scheduler-release-${DATE}/doc \ scheduler-release-${DATE}/licenses # 5. Pakete hochladen: scp scheduler-${DATE}-src.tar.gz ${RELEASE}.tar.gz \ intevation@doto.intevation.de:${FTP_PATH} # 4. Fertig!