Mercurial > dive4elements > river
view contrib/make_flys_release/make_release.sh @ 5136:ec3430d12d2e
merged.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Thu, 28 Feb 2013 12:48:27 +0100 |
parents | 15ff9ddc765e |
children | 613d2f494728 |
line wrap: on
line source
#!/bin/bash echo "INFO: define required variables" ARTIFACTS_HG_REPO="http://wald.intevation.org/hg/dive4elements/artifacts" HTTPCLIIENT_HG_REPO="http://wald.intevation.org/hg/dive4elements/http-client" FLYS_HG_REPO="http://wald.intevation.org/hg/dive4elements/flys" ARTIFACTS_HG="hg.artifacts" HTTPCLIENT_HG="hg.http-client" FLYS_HG="hg.flys" PREFIX="flys-" RELEASE=${RELEASE:-default} RELEASE_DATE=`date +'%Y-%m-%d'` DIRECTORY=$PREFIX$RELEASE-$RELEASE_DATE ARTIFACT_PORT=${ARTIFACT_PORT:-9002} TOMCAT_PORT=${TOMCAT_PORT:-8005} MAPSERVER_URL=${MAPSERVER_URL:-czech-republic.atlas.intevation.de} WIKI_URL=${WIKI_URL:-https://flys-intern.intevation.de/Flys-3.0} echo "INFO: create server directories" mkdir -p $DIRECTORY/server/bin/lib/own mkdir $DIRECTORY/server/shapefiles mkdir $DIRECTORY/client echo "INFO: checkout sources" echo " ... checkout $ARTIFACTS_HG_REPO" rm -rf $ARTIFACTS_HG hg clone $ARTIFACTS_HG_REPO $ARTIFACTS_HG (cd $ARTIFACTS_HG && hg co $RELEASE) echo " ... checkout $HTTPCLIIENT_HG_REPO" rm -rf $HTTPCLIENT_HG hg clone $HTTPCLIIENT_HG_REPO $HTTPCLIENT_HG (cd $HTTPCLIENT_HG && hg co $RELEASE) echo " ... checkout $FLYS_HG_REPO" rm -rf $FLYS_HG hg clone $FLYS_HG_REPO $FLYS_HG (cd $FLYS_HG && hg co $RELEASE) # adapt client configuration echo "INFO: prepare configuration of web client" sed -i -e "s@http://localhost:8181@http://localhost:$ARTIFACT_PORT@g" \ -e "s@http://localhost:8888@http://localhost:$TOMCAT_PORT@g" \ $FLYS_HG/flys-client/src/main/webapp/WEB-INF/web.xml sed -i -e "s@/tmp/flys-client.log@/var/log/flys/client-${RELEASE}.log@g" \ $FLYS_HG/flys-client/src/main/webapp/WEB-INF/log4j.properties # Fix the Wiki URLs find $FLYS_HG/flys-artifacts/src/main/resources/ -name messages_\*.properties \ -exec sed -i "s@https://flys-intern.intevation.de/Flys-3.0@${WIKI_URL}@g" {} \; echo "INFO: download OpenLayers-2.11 for client" curl -O http://openlayers.org/download/OpenLayers-2.11.tar.gz tar xvfz OpenLayers-2.11.tar.gz # TODO: Remove more superfluous OpenLayers stuff. rm -rf OpenLayers-2.11/doc rm -rf OpenLayers-2.11/tests rm -rf OpenLayers-2.11/examples mv OpenLayers-2.11 $FLYS_HG/flys-client/src/main/webapp/ # compile and build our code stuff echo "INFO: compile and build sources" mvn -f $ARTIFACTS_HG/pom.xml clean compile package install mvn -f $FLYS_HG/flys-backend/pom.xml clean compile package install mvn -f $FLYS_HG/flys-artifacts/pom.xml clean compile package dependency:copy-dependencies install mvn -f $HTTPCLIENT_HG/pom.xml clean compile package install mvn -f $FLYS_HG/flys-client/pom.xml clean compile package ## fetch the java stuff echo "INFO: copy dependencies and libs" cp $ARTIFACTS_HG/artifact-database/target/artifact-database-1.0-SNAPSHOT.jar $DIRECTORY/server/bin/lib/own/ cp $ARTIFACTS_HG/artifacts/target/artifacts-1.0-SNAPSHOT.jar $DIRECTORY/server/bin/lib/own/ cp $ARTIFACTS_HG/artifacts-common/target/artifacts-common-1.0-SNAPSHOT.jar $DIRECTORY/server/bin/lib/own/ cp $FLYS_HG/flys-backend/target/flys-backend-1.0-SNAPSHOT.jar $DIRECTORY/server/bin/lib/own/ cp $FLYS_HG/flys-artifacts/target/flys-artifacts-1.0-SNAPSHOT.jar $DIRECTORY/server/bin/lib/own/ cp $FLYS_HG/flys-client/target/FLYS-1.0-SNAPSHOT.war $DIRECTORY/client/flys-${RELEASE}.war cp $FLYS_HG/flys-artifacts/target/dependency/* $DIRECTORY/server/bin/lib/ echo "INFO: copy scripts and libraries to target destination" cp bin/run.sh $DIRECTORY/server/bin/ cp bin/wsplgen.exe $DIRECTORY/server/bin/ cp libs/* $DIRECTORY/server/bin/lib/ #echo "INFO: remove PostgreSQL and PostGIS libraries" #rm $DIRECTORY/server/bin/lib/postg* #rm $DIRECTORY/server/bin/lib/hibernate-spatial-postgis* echo "INFO: remove Oralce libraries" rm -f $DIRECTORY/server/bin/lib/hibernate-spatial-oracle-1.1.jar rm -f $DIRECTORY/server/bin/lib/ojdbc* # fetch the configuration stuff echo "INFO: copy default configuration to target destination" cp -R $FLYS_HG/flys-artifacts/doc/conf $DIRECTORY/server/ #cp confs/* $DIRECTORY/server/conf/ mkdir -p $DIRECTORY/server/conf sed "s/8999/$ARTIFACT_PORT/g" \ confs/rest-server.xml \ > $DIRECTORY/server/conf/rest-server.xml sed -e "s@http://example.com/@http://${MAPSERVER_URL}/@g" \ confs/floodmap.xml \ > $DIRECTORY/server/conf/floodmap.xml sed -e "s@http://example.com/@http://${MAPSERVER_URL}/@g" \ confs/rivermap.xml \ > $DIRECTORY/server/conf/rivermap.xml sed "s@/tmp/flys-server-default.log@/var/log/flys/server-${RELEASE}.log@" \ confs/log4j.properties \ > $DIRECTORY/server/conf/log4j.properties # TODO: Use templating here cp confs/seddb-db.xml $DIRECTORY/server/conf/seddb-db.xml cp confs/backend-db.xml $DIRECTORY/server/conf/backend-db.xml cp confs/artifact-db.xml $DIRECTORY/server/conf/artifact-db.xml cp confs/datacage-db.xml $DIRECTORY/server/conf/datacage-db.xml cp confs/mapserver/fontset.txt $DIRECTORY/server/conf/mapserver/fontset.txt cp $ARTIFACTS_HG/artifact-database/doc/schema-h2.sql h2/artifacts-h2.sql cp $FLYS_HG/flys-artifacts/doc/conf/datacage.sql h2/datacage.sql echo "INFO: create h2 database for artifacts and datacage" h2/createArtifacts.sh h2/createDatacage.sh mv artifactsdb $DIRECTORY/server/ mv datacagedb $DIRECTORY/server/ echo "INFO: create tarball" tar cvfz $DIRECTORY.tar.gz $DIRECTORY echo "INFO: remove temporary files and directories" rm -rf $ARTIFACTS_HG rm -rf $HTTPCLIENT_HG rm -rf $FLYS_HG rm -rf $DIRECTORY rm -rf OpenLayers.2.11.tar.gz