#!/bin/bash #set -x export PATH=/home/gvsig/applications/maven/bin:$PATH export HOME=/home/gvsig export WORKSPACE=$HOME/workspace export M2=$HOME/.m2 export LOGSDIR=$HOME/temp # # Requiere tener instalado y en el path: # - mvn (maven 3) # - svn # - launch4j / launch4jc # - installjammer # # Ademas se precisara configurar : # - un usuario con con permiso de escritura en el repositorio de gvsig # de maven (settings.xml). # - en la jvm que use maven el certificado de https://devel.gvsig.org # - el svn para que acepte el cerfificado de https://devel.gvsig.org # - en el svn un usuario/clave con permiso para escritura en el svn de # org.gvsig.desktop. # function message() { echo " ### ============================= ### $(date) $(pwd) ### $1 ### ============================= " } function maven() { message "mvn $*" mvn -s $M2/settings.xml -Dsettings.security=$M2/settings-security.xml -Dmaven.repo.local=$M2/repository $* } function svn-update() { cd $WORKSPACE if [ -d org.gvsig.desktop/.svn ] ; then cd org.gvsig.desktop message "svn update" svn update else message "rm -rf org.gvsig.desktop" rm -rf org.gvsig.desktop message "svn co https://devel.gvsig.org/svn/gvsig-desktop/trunk/org.gvsig.desktop" svn co https://devel.gvsig.org/svn/gvsig-desktop/trunk/org.gvsig.desktop fi } function svn-checkout() { cd $WORKSPACE message "rm -rf org.gvsig.desktop" rm -rf org.gvsig.desktop message "svn co https://devel.gvsig.org/svn/gvsig-desktop/trunk/org.gvsig.desktop" svn co https://devel.gvsig.org/svn/gvsig-desktop/trunk/org.gvsig.desktop } function make-installers() { # # Checkout the latest version of sources svn-update # # Compile and install the resources need in the project. cd $WORKSPACE/org.gvsig.desktop/org.gvsig.desktop.buildtools maven clean install # # Do a clean install to compile all cd $WORKSPACE/org.gvsig.desktop maven clean install # # Generarte installables cd $WORKSPACE/org.gvsig.desktop/org.gvsig.desktop.installer maven install # message "Finish" } function make-release() { # # Checkout the latest version of sources svn-update # # Compile and install the resources need in the project. cd $WORKSPACE/org.gvsig.desktop/org.gvsig.desktop.buildtools maven clean install # # Do a clean install to compile all cd $WORKSPACE/org.gvsig.desktop maven clean install maven release:prepare maven release:perform # # Generarte installables cd $WORKSPACE/org.gvsig.desktop/org.gvsig.desktop.installer maven install # message "Finish" } case "$1" in "" | "installers" ) make-installers >$LOGSDIR/make-gvsig.log 2>&1 & ;; "release") make-release >$LOGSDIR/make-gvsig.log 2>&1 & ;; "up"|"update") svn-update >$LOGSDIR/make-gvsig.log 2>&1 & ;; "co"|"checkout") svn-checkout >$LOGSDIR/make-gvsig.log 2>&1 & ;; "mvn") shift maven $@ >$LOGSDIR/make-gvsig.log 2>&1 & ;; "svn") shift svn $@ >$LOGSDIR/make-gvsig.log 2>&1 & ;; "log") shift tail $* $LOGSDIR/make-gvsig.log ;; "help") echo "Usage: make-gvsig make-gvsig installers Download, compile and create installers for gvSIG. make-gvsig release Download, compile, make a new release and create installers for gvSIG. make-gvsig log Show the log of the last execution. make-gvsig mvn MAVEN-ARGS Execute maven command make-gvsig svn SVN-ARGS Execute svn command make-gvsig update make-gvsig up Execute an update from the svn make-gvsig checkout make-gvsig co Execute a checkout from the svn " esac