annotate contrib/make_flys_release/make_release.sh @ 8523:e3f032870e7a

Release script: build binaries for publication when tagging and slightly mavenize the whole process.
author Tom Gottfried <tom@intevation.de>
date Fri, 19 Dec 2014 20:50:29 +0100
parents de8be181fa87
children 25f9ab25affd
rev   line source
4484
7e82d51c5a27 Improved build script
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4151
diff changeset
1 #!/bin/bash
8493
07a369e6e277 Correct header for release script.
Tom Gottfried <tom@intevation.de>
parents: 8485
diff changeset
2 # Release script for Dive4Elements River
5251
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
3 #
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
4 # Authors:
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
5 # Andre Heinecke <aheinecke@intevation.de>
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
6 #
8493
07a369e6e277 Correct header for release script.
Tom Gottfried <tom@intevation.de>
parents: 8485
diff changeset
7 # Copyright (C) 2011 - 2014 by Bundesanstalt für Gewässerkunde
07a369e6e277 Correct header for release script.
Tom Gottfried <tom@intevation.de>
parents: 8485
diff changeset
8 # Software engineering by Intevation GmbH
5251
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
9 #
8493
07a369e6e277 Correct header for release script.
Tom Gottfried <tom@intevation.de>
parents: 8485
diff changeset
10 # This file is Free Software under the GNU AGPL (>=v3)
07a369e6e277 Correct header for release script.
Tom Gottfried <tom@intevation.de>
parents: 8485
diff changeset
11 # and comes with ABSOLUTELY NO WARRANTY! Check out the
07a369e6e277 Correct header for release script.
Tom Gottfried <tom@intevation.de>
parents: 8485
diff changeset
12 # documentation coming with Dive4Elements River for details.
4065
9d404069f361 Added build script for FLYS release.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
13
5220
613d2f494728 Handle return codes in the make_flys_release script
Andre Heinecke <aheinecke@intevation.de>
parents: 5119
diff changeset
14 set -e
8080
13c3d861db1d Build is locale sensitive. Force a UTF-8 locale for building.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7996
diff changeset
15 LC_ALL=en_US.UTF-8
5251
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
16 DEFAULT_WD=/tmp/flys-release
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
17 DEVELOPER=aheinecke
5220
613d2f494728 Handle return codes in the make_flys_release script
Andre Heinecke <aheinecke@intevation.de>
parents: 5119
diff changeset
18
8499
5096b4ed230d Release script: use trusted connections to repositories.
Tom Gottfried <tom@intevation.de>
parents: 8495
diff changeset
19 ARTIFACTS_HG_REPO="https://wald.intevation.org/hg/dive4elements/framework"
5096b4ed230d Release script: use trusted connections to repositories.
Tom Gottfried <tom@intevation.de>
parents: 8495
diff changeset
20 HTTPCLIIENT_HG_REPO="https://wald.intevation.org/hg/dive4elements/http-client"
5096b4ed230d Release script: use trusted connections to repositories.
Tom Gottfried <tom@intevation.de>
parents: 8495
diff changeset
21 FLYS_HG_REPO="https://wald.intevation.org/hg/dive4elements/river"
4065
9d404069f361 Added build script for FLYS release.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
22
5900
8698e3284b7a Update after renaming and remove the binary artifact-database and common
Andre Heinecke <aheinecke@intevation.de>
parents: 5723
diff changeset
23 REPOS="river http-client framework"
5251
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
24 # Do not use spaces in path
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
25 FLYS_SOURCE_DIR=/local-vol1/aheinecke/flys-release
4065
9d404069f361 Added build script for FLYS release.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
26
5251
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
27 SCRIPT_DIR=$(readlink -f `dirname $0`)
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
28 usage(){
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
29 cat << EOF
4065
9d404069f361 Added build script for FLYS release.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
30
5251
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
31 usage: $0 [options] VERSION
4484
7e82d51c5a27 Improved build script
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4151
diff changeset
32
8501
c8d633c0971b Release script: remove installation specific defaults and give the possibility to overwrite any config-file in WEB-INF.
Tom Gottfried <tom@intevation.de>
parents: 8500
diff changeset
33 Create a D4E River package
5251
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
34
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
35 OPTIONS:
8494
76994a0187fa Do not give Oracle-JARs with hardcoded personal path in release script.
Tom Gottfried <tom@intevation.de>
parents: 8493
diff changeset
36 -?, --help Show this message
76994a0187fa Do not give Oracle-JARs with hardcoded personal path in release script.
Tom Gottfried <tom@intevation.de>
parents: 8493
diff changeset
37 -w The working directory to use (do not use spaces in path)
76994a0187fa Do not give Oracle-JARs with hardcoded personal path in release script.
Tom Gottfried <tom@intevation.de>
parents: 8493
diff changeset
38 Default: $DEFAULT_WD
76994a0187fa Do not give Oracle-JARs with hardcoded personal path in release script.
Tom Gottfried <tom@intevation.de>
parents: 8493
diff changeset
39 -t Tag the current default branch as "VERSION"
76994a0187fa Do not give Oracle-JARs with hardcoded personal path in release script.
Tom Gottfried <tom@intevation.de>
parents: 8493
diff changeset
40 -o, --oracle Release is for oracle.
8523
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
41 Suitable jar-file for JDBC driver has to be given with
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
42 the environment variable ORACLE_JDBC
5493
2be02d6ad9dc Allow default version in packaging script
Andre Heinecke <aheinecke@intevation.de>
parents: 5418
diff changeset
43 VERSION must be in the format MAYOR.MINOR.PATCH or default
5251
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
44 EOF
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
45 exit 0
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
46 }
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
47 # --backend-db-url Url of database backend. Default: $BACKENDURL
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
48 # --backend-db-pass Backend db password. Default: $BACKENDPASS
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
49 # --backend-db-port Backend db port. Default: $BACKENDPORT
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
50 # --backend-db-user Backend db user. Default: $BACKENDUSER
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
51 # --backend-db-backend Backend db backend name. Default: $BACKENDBACK
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
52 # --seddb-url Sediment db url. Default: $SEDDBURL
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
53 # --seddb-port Sediment db port. Default: $SEDDBPORT
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
54 # --seddb-user Sediment db user. Default: $SEDDBUSER
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
55 # --seddb-pass Sediment db password. Default: $SEDDBPASS
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
56 # --seddb-back Sediment db backend. Default: $SEDDBBACK
4494
334c68344eb5 Fix hard coded mapserver url
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4493
diff changeset
57
8501
c8d633c0971b Release script: remove installation specific defaults and give the possibility to overwrite any config-file in WEB-INF.
Tom Gottfried <tom@intevation.de>
parents: 8500
diff changeset
58 # customizable variables
7813
56870a7d9811 Replace model uuid of 'Beispielfluss' with model_uuid of 'Elbe'.
Raimund Renkert <rrenkert@intevation.de>
parents: 7804
diff changeset
59 ELBE_MODEL_UUID=${ELBE_MODEL_UUID:-1a4825f6-925f-11e3-8165-001f29e71d12}
7775
84889738d029 Defaulting to GGinA authentication in release script instead of client sources.
Tom Gottfried <tom@intevation.de>
parents: 7771
diff changeset
60
5251
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
61 OPTS=`getopt -o ?w:,t,o \
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
62 -l help,oracle \
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
63 -n $0 -- "$@"`
4065
9d404069f361 Added build script for FLYS release.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
64
5251
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
65 if [ $? != 0 ] ; then usage; fi
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
66 eval set -- "$OPTS"
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
67 while true ; do
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
68 case "$1" in
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
69 "-?"|"--help")
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
70 usage;;
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
71 "--")
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
72 shift
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
73 break;;
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
74 "-w")
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
75 WORK_DIR=$2
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
76 shift 2;;
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
77 "-o"|"--oracle")
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
78 BUILD_ORACLE="TRUE"
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
79 shift;;
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
80 "-t")
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
81 DO_TAG="TRUE"
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
82 shift;;
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
83 *)
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
84 echo "Unknown Option $1"
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
85 usage;;
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
86 esac
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
87 done
4484
7e82d51c5a27 Improved build script
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4151
diff changeset
88
5251
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
89 if [ $# != 1 ]; then
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
90 usage
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
91 fi
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
92
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
93 VERSION=$1
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
94
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
95 if [ -z $WORK_DIR ]; then
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
96 WORK_DIR=$DEFAULT_WD
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
97 fi
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
98
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
99 mkdir -p $WORK_DIR
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
100
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
101 if [ ! -d $FLYS_SOURCE_DIR ]; then
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
102 mkdir -p $FLYS_SOURCE_DIR
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
103 echo "Cloning sources"
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
104 cd $FLYS_SOURCE_DIR
5900
8698e3284b7a Update after renaming and remove the binary artifact-database and common
Andre Heinecke <aheinecke@intevation.de>
parents: 5723
diff changeset
105 hg clone $ARTIFACTS_HG_REPO framework
5251
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
106 hg clone $HTTPCLIIENT_HG_REPO http-client
5900
8698e3284b7a Update after renaming and remove the binary artifact-database and common
Andre Heinecke <aheinecke@intevation.de>
parents: 5723
diff changeset
107 hg clone $FLYS_HG_REPO river
5251
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
108 else
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
109 echo "Updating sources / Reverting changes"
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
110 cd $FLYS_SOURCE_DIR
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
111 for repo in $REPOS; do
8523
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
112 cd $repo && hg purge && hg revert -a && hg pull -u && cd -
5251
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
113 done;
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
114 fi
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
115
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
116 if [ "$DO_TAG" = "TRUE" ]; then
8523
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
117 echo "INFO: Tagging version $VERSION"
5251
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
118 for repo in $REPOS; do
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
119 cd $repo
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
120 CHANGESET=$(hg log -l1 |head -1 | awk -F: '{print $3}')
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
121 echo ""
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
122 echo "Do you really want to tag $repo rev: $CHANGESET as Version $VERSION?"
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
123 echo "press enter to continue or CTRL+C to abort."
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
124 echo ""
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
125 hg log -l1
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
126 read
5320
a7778435a4af Improve oracle integration and generate changelog when tagging
Andre Heinecke <aheinecke@intevation.de>
parents: 5268
diff changeset
127 OLD_REV=$(cat .hgtags | tail -1 | awk '{print $2}')
5251
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
128 hg tag $VERSION -m "Added tag $VERSION for changeset $CHANGESET"
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
129 hg push ssh://$DEVELOPER@scm.wald.intevation.org/hg/dive4elements/$repo
5320
a7778435a4af Improve oracle integration and generate changelog when tagging
Andre Heinecke <aheinecke@intevation.de>
parents: 5268
diff changeset
130 echo "Changelog for $repo" >> $WORK_DIR/changes_$OLD_REV-$VERSION.txt
a7778435a4af Improve oracle integration and generate changelog when tagging
Andre Heinecke <aheinecke@intevation.de>
parents: 5268
diff changeset
131 echo "#############################################################################" \
a7778435a4af Improve oracle integration and generate changelog when tagging
Andre Heinecke <aheinecke@intevation.de>
parents: 5268
diff changeset
132 >> $WORK_DIR/changes_$OLD_REV-$VERSION.txt
a7778435a4af Improve oracle integration and generate changelog when tagging
Andre Heinecke <aheinecke@intevation.de>
parents: 5268
diff changeset
133 hg log -r $VERSION:$OLD_REV --style changelog >> $WORK_DIR/changes_$OLD_REV-$VERSION.txt
5251
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
134 cd $FLYS_SOURCE_DIR
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
135 done;
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
136 fi
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
137
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
138 # Update to current version
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
139 for repo in $REPOS; do
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
140 cd $repo
7996
c4bf75f82ffc Allow building Release from specific branch. Beware that branches to not get different ports automatically.
Tom Gottfried <tom@intevation.de>
parents: 7951
diff changeset
141 if [ -z "`hg tags | sed -n "/$VERSION/p"`" -a -z "`hg branches | sed -n "/$VERSION/p"`" ]
c4bf75f82ffc Allow building Release from specific branch. Beware that branches to not get different ports automatically.
Tom Gottfried <tom@intevation.de>
parents: 7951
diff changeset
142 then
8501
c8d633c0971b Release script: remove installation specific defaults and give the possibility to overwrite any config-file in WEB-INF.
Tom Gottfried <tom@intevation.de>
parents: 8500
diff changeset
143 echo "WARNING: $VERSION not found in $repo! Updating to default."
7996
c4bf75f82ffc Allow building Release from specific branch. Beware that branches to not get different ports automatically.
Tom Gottfried <tom@intevation.de>
parents: 7951
diff changeset
144 hg up default
c4bf75f82ffc Allow building Release from specific branch. Beware that branches to not get different ports automatically.
Tom Gottfried <tom@intevation.de>
parents: 7951
diff changeset
145 else
c4bf75f82ffc Allow building Release from specific branch. Beware that branches to not get different ports automatically.
Tom Gottfried <tom@intevation.de>
parents: 7951
diff changeset
146 hg up "$VERSION"
c4bf75f82ffc Allow building Release from specific branch. Beware that branches to not get different ports automatically.
Tom Gottfried <tom@intevation.de>
parents: 7951
diff changeset
147 fi
5251
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
148 cd $FLYS_SOURCE_DIR
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
149 done
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
150
8523
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
151
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
152 if [ ! -f $FLYS_SOURCE_DIR/OpenLayers-2.11.tar.gz ]; then
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
153 echo "INFO: download OpenLayers-2.11 for client"
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
154 cd $FLYS_SOURCE_DIR
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
155 wget "https://github.com/openlayers/openlayers/releases/download/release-2.11/OpenLayers-2.11.tar.gz"
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
156 tar xvfz OpenLayers-2.11.tar.gz
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
157 # TODO: Remove more superfluous OpenLayers stuff.
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
158 rm -rf OpenLayers-2.11/doc
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
159 rm -rf OpenLayers-2.11/tests
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
160 rm -rf OpenLayers-2.11/examples
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
161 cd $WORK_DIR
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
162 fi
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
163 cp -r $FLYS_SOURCE_DIR/OpenLayers-2.11 \
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
164 $FLYS_SOURCE_DIR/river/gwt-client/src/main/webapp/
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
165
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
166
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
167 echo "INFO: Downloading smartGWT"
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
168 mvn com.isomorphic:isc-maven-plugin:install -Dproduct=SMARTGWT -Dlicense=LGPL \
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
169 -DbuildNumber=4.1p -DbuildDate=2014-12-13 -Dworkdir=$WORK_DIR
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
170
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
171 echo "INFO: compile sources"
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
172 mvn -f $FLYS_SOURCE_DIR/framework/pom.xml clean compile install
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
173 mvn -f $FLYS_SOURCE_DIR/river/backend/pom.xml clean compile install
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
174 mvn -f $FLYS_SOURCE_DIR/river/artifacts/pom.xml clean compile
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
175 mvn -f $FLYS_SOURCE_DIR/http-client/pom.xml clean compile install
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
176 # gwt-client has to be compiled later to allow custom CLIENT_CONF
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
177
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
178 echo "INFO: create h2 database for artifacts and datacage"
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
179 cd $FLYS_SOURCE_DIR/river/artifacts
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
180 rm -rf artifactsdb datacagedb
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
181 $FLYS_SOURCE_DIR/framework/artifact-database/bin/createArtifacts.sh
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
182 $FLYS_SOURCE_DIR/river/artifacts/bin/createDatacage.sh
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
183 cd -
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
184
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
185 echo "INFO: download WSPLGEN"
5251
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
186 cd $WORK_DIR
8523
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
187 wget \
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
188 https://wald.intevation.org/frs/download.php/1496/wsplgen-linux-64bit-static.gz \
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
189 https://wald.intevation.org/frs/download.php/1498/wsplgen-linux-32bit-static.gz
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
190 gunzip wsplgen-linux-64bit-static.gz wsplgen-linux-32bit-static.gz
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
191 chmod +x wsplgen-linux-*
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
192 cp wsplgen-linux-32bit-static $FLYS_SOURCE_DIR/river/artifacts/bin/wsplgen
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
193 cd -
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
194
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
195 if [ "$DO_TAG" = "TRUE" ]; then
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
196 echo "INFO: Building packages for publication"
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
197 cd $FLYS_SOURCE_DIR/river/artifacts
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
198 mvn package assembly:single
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
199 mv target/river-artifacts-1.0-SNAPSHOT-bin.tar.bz2 \
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
200 $WORK_DIR/d4e-river-$VERSION.tar.bz2 && cd ..
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
201 cd gwt-client && mvn clean compile package
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
202 mv target/gwt-client-1.0-SNAPSHOT.war \
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
203 $WORK_DIR/d4e-river-$VERSION.war && cd ..
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
204 fi
5251
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
205
8501
c8d633c0971b Release script: remove installation specific defaults and give the possibility to overwrite any config-file in WEB-INF.
Tom Gottfried <tom@intevation.de>
parents: 8500
diff changeset
206
c8d633c0971b Release script: remove installation specific defaults and give the possibility to overwrite any config-file in WEB-INF.
Tom Gottfried <tom@intevation.de>
parents: 8500
diff changeset
207 echo "INFO: Preparing configuration of web client"
5692
d2c6d4ca6841 Add print url to relase script
Andre Heinecke <aheinecke@intevation.de>
parents: 5678
diff changeset
208
d2c6d4ca6841 Add print url to relase script
Andre Heinecke <aheinecke@intevation.de>
parents: 5678
diff changeset
209 #Needs to be done before the tomcat replacement below
7813
56870a7d9811 Replace model uuid of 'Beispielfluss' with model_uuid of 'Elbe'.
Raimund Renkert <rrenkert@intevation.de>
parents: 7804
diff changeset
210 sed -i -e "s@1a4825f6-925f-11e3-8165-001f29e71d12@${ELBE_MODEL_UUID}@g" \
56870a7d9811 Replace model uuid of 'Beispielfluss' with model_uuid of 'Elbe'.
Raimund Renkert <rrenkert@intevation.de>
parents: 7804
diff changeset
211 $FLYS_SOURCE_DIR/river/gwt-client/src/main/webapp/images/FLYS_Karte_interactive.html
56870a7d9811 Replace model uuid of 'Beispielfluss' with model_uuid of 'Elbe'.
Raimund Renkert <rrenkert@intevation.de>
parents: 7804
diff changeset
212
8501
c8d633c0971b Release script: remove installation specific defaults and give the possibility to overwrite any config-file in WEB-INF.
Tom Gottfried <tom@intevation.de>
parents: 8500
diff changeset
213 if [ -d $WEBINF ]; then
c8d633c0971b Release script: remove installation specific defaults and give the possibility to overwrite any config-file in WEB-INF.
Tom Gottfried <tom@intevation.de>
parents: 8500
diff changeset
214 echo "INFO: copy custom client configuration to target destination"
c8d633c0971b Release script: remove installation specific defaults and give the possibility to overwrite any config-file in WEB-INF.
Tom Gottfried <tom@intevation.de>
parents: 8500
diff changeset
215 WEBINF_DIR=$FLYS_SOURCE_DIR/river/gwt-client/src/main/webapp/WEB-INF/
c8d633c0971b Release script: remove installation specific defaults and give the possibility to overwrite any config-file in WEB-INF.
Tom Gottfried <tom@intevation.de>
parents: 8500
diff changeset
216 cp -R $WEBINF/* $WEBINF_DIR
c8d633c0971b Release script: remove installation specific defaults and give the possibility to overwrite any config-file in WEB-INF.
Tom Gottfried <tom@intevation.de>
parents: 8500
diff changeset
217 for file in `find $WEBINF_DIR/ -type f`; do
c8d633c0971b Release script: remove installation specific defaults and give the possibility to overwrite any config-file in WEB-INF.
Tom Gottfried <tom@intevation.de>
parents: 8500
diff changeset
218 sed -i -e "s@D4E_VERSION@${VERSION}@g" $file
c8d633c0971b Release script: remove installation specific defaults and give the possibility to overwrite any config-file in WEB-INF.
Tom Gottfried <tom@intevation.de>
parents: 8500
diff changeset
219 done
7801
1431d1af84d7 Remove not publicly available WMS services and enable custom configuration through release script.
Tom Gottfried <tom@intevation.de>
parents: 7797
diff changeset
220 fi
1431d1af84d7 Remove not publicly available WMS services and enable custom configuration through release script.
Tom Gottfried <tom@intevation.de>
parents: 7797
diff changeset
221
8506
da9365fc2f42 (issue1777) Evaluate CLIENT_CONF environment variable
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8501
diff changeset
222 if [ -f $CLIENT_CONF ]; then
da9365fc2f42 (issue1777) Evaluate CLIENT_CONF environment variable
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8501
diff changeset
223 echo "INFO: copy custom java script client configuration to target destination"
da9365fc2f42 (issue1777) Evaluate CLIENT_CONF environment variable
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8501
diff changeset
224 cp $CLIENT_CONF \
da9365fc2f42 (issue1777) Evaluate CLIENT_CONF environment variable
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8501
diff changeset
225 $FLYS_SOURCE_DIR/river/gwt-client/src/main/java/org/dive4elements/river/client/client/config.xml
da9365fc2f42 (issue1777) Evaluate CLIENT_CONF environment variable
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8501
diff changeset
226 fi
8384
d4a2c7b83087 Add possibility to give custom config for server log.
Tom Gottfried <tom@intevation.de>
parents: 8245
diff changeset
227
8523
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
228 if [ -n $DGM_PATH ]; then
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
229 sed -i -e "s@<dgm-path>.*</dgm-path>@<dgm-path>${DGM_PATH}</dgm-path>@g" \
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
230 $FLYS_SOURCE_DIR/river/artifacts/doc/conf/conf.xml
5251
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
231 fi
4065
9d404069f361 Added build script for FLYS release.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
232
8523
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
233 if [ -n $WIKI_URL ]; then
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
234 sed -i -e "s@<help-url>http://example.com</help-url>@<help-url>${WIKI_URL}</help-url>@g" \
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
235 $FLYS_SOURCE_DIR/river/artifacts/doc/conf/conf.xml
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
236 fi
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
237
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
238 if [ -d $SERVER_CONF ]; then
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
239 echo "INFO: copy custom server configuration to target destination"
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
240 cp -R $SERVER_CONF/* $FLYS_SOURCE_DIR/river/artifacts/doc/conf/
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
241 for file in `find $FLYS_SOURCE_DIR/river/artifacts/doc/conf -type f`; do
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
242 sed -i -e "s@D4E_VERSION@${VERSION}@g" $file
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
243 done
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
244 fi
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
245
7939
6e852a6c72f2 Use SmartGWT version 4.1p. Updated release script to download SmartGWT.
Raimund Renkert <rrenkert@intevation.de>
parents: 7837
diff changeset
246
4065
9d404069f361 Added build script for FLYS release.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
247 echo "INFO: compile and build sources"
8523
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
248 cp $WORK_DIR/wsplgen-linux-64bit-static \
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
249 $FLYS_SOURCE_DIR/river/artifacts/bin/wsplgen
4065
9d404069f361 Added build script for FLYS release.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
250
5251
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
251 if [ "$BUILD_ORACLE" = "TRUE" ]; then
5320
a7778435a4af Improve oracle integration and generate changelog when tagging
Andre Heinecke <aheinecke@intevation.de>
parents: 5268
diff changeset
252 if [ ! -f $ORACLE_JDBC ]; then
a7778435a4af Improve oracle integration and generate changelog when tagging
Andre Heinecke <aheinecke@intevation.de>
parents: 5268
diff changeset
253 echo "Could not find oracle jdbc in $ORACLE_JDBC"
a7778435a4af Improve oracle integration and generate changelog when tagging
Andre Heinecke <aheinecke@intevation.de>
parents: 5268
diff changeset
254 echo "Please make sure that the ORACLE_JDBC variable is set correctly"
a7778435a4af Improve oracle integration and generate changelog when tagging
Andre Heinecke <aheinecke@intevation.de>
parents: 5268
diff changeset
255 exit 1
a7778435a4af Improve oracle integration and generate changelog when tagging
Andre Heinecke <aheinecke@intevation.de>
parents: 5268
diff changeset
256 fi
8523
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
257 mvn install:install-file -DgroupId=ojdbc -DartifactId=ojdbc \
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
258 -Dversion=0 -Dpackaging=jar -Dfile=$ORACLE_JDBC -DgeneratePom=true
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
259 mvn -f $FLYS_SOURCE_DIR/river/backend/pom-oracle.xml clean compile install
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
260 mvn -f $FLYS_SOURCE_DIR/river/artifacts/pom-oracle.xml \
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
261 package assembly:single
5251
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
262 else
8523
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
263 mvn -f $FLYS_SOURCE_DIR/river/artifacts/pom.xml package assembly:single
5251
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
264 fi
8523
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
265 mvn -f $FLYS_SOURCE_DIR/river/gwt-client/pom.xml clean compile package
4065
9d404069f361 Added build script for FLYS release.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
266
8495
dc0351c5d098 Artifact-server config in release script: remove installation specific defaults and give the possibility to overwrite any config-file.
Tom Gottfried <tom@intevation.de>
parents: 8494
diff changeset
267
8523
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
268 echo "INFO: create tarball"
7771
e2102c4b7b07 Change to work dir bevor creating artifacts and datacage db
Andre Heinecke <aheinecke@intevation.de>
parents: 7008
diff changeset
269 cd $WORK_DIR
8523
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
270 mv $FLYS_SOURCE_DIR/river/artifacts/target/river-artifacts-1.0-SNAPSHOT-bin.tar \
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
271 flys-$VERSION.tar
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
272 mv $FLYS_SOURCE_DIR/river/gwt-client/target/gwt-client-1.0-SNAPSHOT.war \
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
273 flys-${VERSION}.war
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
274 tar -rf flys-$VERSION.tar flys-${VERSION}.war
4065
9d404069f361 Added build script for FLYS release.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
275
8495
dc0351c5d098 Artifact-server config in release script: remove installation specific defaults and give the possibility to overwrite any config-file.
Tom Gottfried <tom@intevation.de>
parents: 8494
diff changeset
276 if [ -f $INSTALL ]; then
8464
5dd6cc9fec1e Add possibility to pack install-script in release tarball.
Tom Gottfried <tom@intevation.de>
parents: 8450
diff changeset
277 echo "INFO: prepare custom installation script"
8523
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
278 cp $INSTALL .
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
279 sed -i "s/D4E_VERSION/$VERSION/g" ./`basename $INSTALL`
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
280 tar -rf flys-$VERSION.tar `basename $INSTALL`
6612
e5d8cbce3040 Add cleanup to the release script
Andre Heinecke <aheinecke@intevation.de>
parents: 6440
diff changeset
281 fi
e5d8cbce3040 Add cleanup to the release script
Andre Heinecke <aheinecke@intevation.de>
parents: 6440
diff changeset
282
8523
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
283 ## TODO: tag with maven and include basedir with correct name in assembly ##
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
284 rm -rf flys-$VERSION && mkdir flys-$VERSION
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
285 tar -xf flys-$VERSION.tar -C flys-$VERSION
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
286 tar cfz flys-$VERSION.tar.gz flys-$VERSION
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
287 ##
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
288
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
289 if [ "$DO_TAG" = "TRUE" ]; then
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
290 echo "Binary-packages for publication:"
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
291 echo "_ $WORK_DIR/d4e-river-$VERSION.tar.bz2"
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
292 echo "_ $WORK_DIR/d4e-river-$VERSION.war"
8464
5dd6cc9fec1e Add possibility to pack install-script in release tarball.
Tom Gottfried <tom@intevation.de>
parents: 8450
diff changeset
293 fi
5251
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
294 echo "DONE: $WORK_DIR/flys-$VERSION.tar.gz"
5320
a7778435a4af Improve oracle integration and generate changelog when tagging
Andre Heinecke <aheinecke@intevation.de>
parents: 5268
diff changeset
295 echo "Changelog: $WORK_DIR/changes_$OLD_REV-$VERSION.txt"

http://dive4elements.wald.intevation.org