annotate contrib/make_flys_release/make_release.sh @ 9731:1dfcbb09c231 3.2.x

Improve server deployment in Docker container _ Compile during build instead of with CMD _ No longer run service as root user
author Tom Gottfried <tom@intevation.de>
date Fri, 15 Jul 2022 16:24:56 +0200
parents ca1319d5816d
children b1b48fa7bd80
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>
9673
e04851177bb7 Remove default user name for pushing tags
Tom Gottfried <tom@intevation.de>
parents: 8866
diff changeset
6 # Tom Gottfried <tom@intevation.de>
5251
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
7 #
9673
e04851177bb7 Remove default user name for pushing tags
Tom Gottfried <tom@intevation.de>
parents: 8866
diff changeset
8 # Copyright (C) 2011 - 2014, 2020 by Bundesanstalt für Gewässerkunde
8493
07a369e6e277 Correct header for release script.
Tom Gottfried <tom@intevation.de>
parents: 8485
diff changeset
9 # 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
10 #
8493
07a369e6e277 Correct header for release script.
Tom Gottfried <tom@intevation.de>
parents: 8485
diff changeset
11 # 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
12 # and comes with ABSOLUTELY NO WARRANTY! Check out the
07a369e6e277 Correct header for release script.
Tom Gottfried <tom@intevation.de>
parents: 8485
diff changeset
13 # documentation coming with Dive4Elements River for details.
4065
9d404069f361 Added build script for FLYS release.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
14
5220
613d2f494728 Handle return codes in the make_flys_release script
Andre Heinecke <aheinecke@intevation.de>
parents: 5119
diff changeset
15 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
16 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
17 DEFAULT_WD=/tmp/flys-release
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"
4065
9d404069f361 Added build script for FLYS release.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
24
5251
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
25 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
26 usage(){
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
27 cat << EOF
4065
9d404069f361 Added build script for FLYS release.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
28
9681
8e5a8430b89c Allow tagging a branch
Tom Gottfried <tom@intevation.de>
parents: 9679
diff changeset
29 usage: $0 [options] TARGET
4484
7e82d51c5a27 Improved build script
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4151
diff changeset
30
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
31 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
32
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
33 OPTIONS:
8494
76994a0187fa Do not give Oracle-JARs with hardcoded personal path in release script.
Tom Gottfried <tom@intevation.de>
parents: 8493
diff changeset
34 -?, --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
35 -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
36 Default: $DEFAULT_WD
9681
8e5a8430b89c Allow tagging a branch
Tom Gottfried <tom@intevation.de>
parents: 9679
diff changeset
37 -t Tag the selected branch with given name.
9673
e04851177bb7 Remove default user name for pushing tags
Tom Gottfried <tom@intevation.de>
parents: 8866
diff changeset
38 Note that \$USER is used as the repository user name
e04851177bb7 Remove default user name for pushing tags
Tom Gottfried <tom@intevation.de>
parents: 8866
diff changeset
39 for pushing the tags.
8494
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.
9681
8e5a8430b89c Allow tagging a branch
Tom Gottfried <tom@intevation.de>
parents: 9679
diff changeset
41 TARGET must specify a tag (usually MAYOR.MINOR.PATCH) or a branch name.
5251
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
42 EOF
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
43 exit 0
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
44 }
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
45 # --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
46 # --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
47 # --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
48 # --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
49 # --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
50 # --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
51 # --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
52 # --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
53 # --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
54 # --seddb-back Sediment db backend. Default: $SEDDBBACK
4494
334c68344eb5 Fix hard coded mapserver url
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4493
diff changeset
55
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
56 # customizable variables
7813
56870a7d9811 Replace model uuid of 'Beispielfluss' with model_uuid of 'Elbe'.
Raimund Renkert <rrenkert@intevation.de>
parents: 7804
diff changeset
57 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
58
9681
8e5a8430b89c Allow tagging a branch
Tom Gottfried <tom@intevation.de>
parents: 9679
diff changeset
59 OPTS=`getopt -o ?w:,?t:,o \
5251
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
60 -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
61 -n $0 -- "$@"`
4065
9d404069f361 Added build script for FLYS release.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
62
5251
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
63 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
64 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
65 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
66 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
67 "-?"|"--help")
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
68 usage;;
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
69 "--")
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
70 shift
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
71 break;;
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
72 "-w")
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
73 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
74 shift 2;;
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
75 "-o"|"--oracle")
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
76 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
77 shift;;
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
78 "-t")
9681
8e5a8430b89c Allow tagging a branch
Tom Gottfried <tom@intevation.de>
parents: 9679
diff changeset
79 DO_TAG=$2
8e5a8430b89c Allow tagging a branch
Tom Gottfried <tom@intevation.de>
parents: 9679
diff changeset
80 shift 2;;
5251
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
81 *)
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
82 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
83 usage;;
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
84 esac
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
85 done
4484
7e82d51c5a27 Improved build script
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4151
diff changeset
86
5251
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
87 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
88 usage
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
89 fi
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
90
9681
8e5a8430b89c Allow tagging a branch
Tom Gottfried <tom@intevation.de>
parents: 9679
diff changeset
91 TARGET=$1
5251
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 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
94 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
95 fi
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
96
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
97 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
98
8753
340111f40f2d (issue1824) Install smartgwt from file base on SMARTGWT environment variable
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8751
diff changeset
99 if [ -z "$SMARTGWT" ]; then
340111f40f2d (issue1824) Install smartgwt from file base on SMARTGWT environment variable
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8751
diff changeset
100 echo "ERROR: Variable SMARTGWT not set."
340111f40f2d (issue1824) Install smartgwt from file base on SMARTGWT environment variable
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8751
diff changeset
101 echo "Please set this variable to point to the smartgwt .jar archive to be used."
340111f40f2d (issue1824) Install smartgwt from file base on SMARTGWT environment variable
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8751
diff changeset
102 exit 1
340111f40f2d (issue1824) Install smartgwt from file base on SMARTGWT environment variable
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8751
diff changeset
103 fi
340111f40f2d (issue1824) Install smartgwt from file base on SMARTGWT environment variable
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8751
diff changeset
104
340111f40f2d (issue1824) Install smartgwt from file base on SMARTGWT environment variable
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8751
diff changeset
105 if [ ! -f "$SMARTGWT" ]; then
340111f40f2d (issue1824) Install smartgwt from file base on SMARTGWT environment variable
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8751
diff changeset
106 echo "ERROR: Failed to find smartgwt archive at: '$SMARTGWT'"
340111f40f2d (issue1824) Install smartgwt from file base on SMARTGWT environment variable
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8751
diff changeset
107 exit 1
340111f40f2d (issue1824) Install smartgwt from file base on SMARTGWT environment variable
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8751
diff changeset
108 fi
340111f40f2d (issue1824) Install smartgwt from file base on SMARTGWT environment variable
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8751
diff changeset
109
340111f40f2d (issue1824) Install smartgwt from file base on SMARTGWT environment variable
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8751
diff changeset
110 if [ ! -d "$FLYS_SOURCE_DIR" ]; then
9675
59ad66feb8f8 Get rid of hard coded default checkout directory
Tom Gottfried <tom@intevation.de>
parents: 9673
diff changeset
111 mkdir -p ${FLYS_SOURCE_DIR:=$(mktemp -d)}
59ad66feb8f8 Get rid of hard coded default checkout directory
Tom Gottfried <tom@intevation.de>
parents: 9673
diff changeset
112 echo "Will use source code checkouts in $FLYS_SOURCE_DIR"
5251
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
113 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
114 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
115 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
116 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
117 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
118 else
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
119 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
120 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
121 for repo in $REPOS; do
9679
21c89e39ca72 Avoid using Mercurial extension
Tom Gottfried <tom@intevation.de>
parents: 9675
diff changeset
122 cd $repo && 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
123 done;
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
124 fi
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
125
9681
8e5a8430b89c Allow tagging a branch
Tom Gottfried <tom@intevation.de>
parents: 9679
diff changeset
126 # Update to current version
8e5a8430b89c Allow tagging a branch
Tom Gottfried <tom@intevation.de>
parents: 9679
diff changeset
127 for repo in $REPOS; do
8e5a8430b89c Allow tagging a branch
Tom Gottfried <tom@intevation.de>
parents: 9679
diff changeset
128 cd $repo
8e5a8430b89c Allow tagging a branch
Tom Gottfried <tom@intevation.de>
parents: 9679
diff changeset
129 if [ -z "`hg tags | sed -n "/$TARGET/p"`" -a -z "`hg branches | sed -n "/$TARGET/p"`" ]
8e5a8430b89c Allow tagging a branch
Tom Gottfried <tom@intevation.de>
parents: 9679
diff changeset
130 then
8e5a8430b89c Allow tagging a branch
Tom Gottfried <tom@intevation.de>
parents: 9679
diff changeset
131 echo "WARNING: No tag or branch $TARGET found in repository of $repo!"
8e5a8430b89c Allow tagging a branch
Tom Gottfried <tom@intevation.de>
parents: 9679
diff changeset
132 echo " Will fallback to 'default'!"
8e5a8430b89c Allow tagging a branch
Tom Gottfried <tom@intevation.de>
parents: 9679
diff changeset
133 hg up default
8e5a8430b89c Allow tagging a branch
Tom Gottfried <tom@intevation.de>
parents: 9679
diff changeset
134 else
8e5a8430b89c Allow tagging a branch
Tom Gottfried <tom@intevation.de>
parents: 9679
diff changeset
135 hg up "$TARGET"
8e5a8430b89c Allow tagging a branch
Tom Gottfried <tom@intevation.de>
parents: 9679
diff changeset
136 fi
8e5a8430b89c Allow tagging a branch
Tom Gottfried <tom@intevation.de>
parents: 9679
diff changeset
137 cd $FLYS_SOURCE_DIR
8e5a8430b89c Allow tagging a branch
Tom Gottfried <tom@intevation.de>
parents: 9679
diff changeset
138 done
8e5a8430b89c Allow tagging a branch
Tom Gottfried <tom@intevation.de>
parents: 9679
diff changeset
139
8e5a8430b89c Allow tagging a branch
Tom Gottfried <tom@intevation.de>
parents: 9679
diff changeset
140 if [ -n "$DO_TAG" ]; then
8e5a8430b89c Allow tagging a branch
Tom Gottfried <tom@intevation.de>
parents: 9679
diff changeset
141 VERSION=$DO_TAG
8e5a8430b89c Allow tagging a branch
Tom Gottfried <tom@intevation.de>
parents: 9679
diff changeset
142 echo "INFO: Tagging current branch as $VERSION"
5251
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
143 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
144 cd $repo
9681
8e5a8430b89c Allow tagging a branch
Tom Gottfried <tom@intevation.de>
parents: 9679
diff changeset
145 CHANGESET=$(hg parent |head -1 | awk -F: '{print $3}')
5251
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
146 echo ""
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
147 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
148 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
149 echo ""
9681
8e5a8430b89c Allow tagging a branch
Tom Gottfried <tom@intevation.de>
parents: 9679
diff changeset
150 hg log -r $CHANGESET -l1
5251
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
151 read
5320
a7778435a4af Improve oracle integration and generate changelog when tagging
Andre Heinecke <aheinecke@intevation.de>
parents: 5268
diff changeset
152 OLD_REV=$(cat .hgtags | tail -1 | awk '{print $2}')
9681
8e5a8430b89c Allow tagging a branch
Tom Gottfried <tom@intevation.de>
parents: 9679
diff changeset
153 hg tag -r $CHANGESET -m "Added tag $VERSION for changeset $CHANGESET" \
8e5a8430b89c Allow tagging a branch
Tom Gottfried <tom@intevation.de>
parents: 9679
diff changeset
154 "$VERSION"
9673
e04851177bb7 Remove default user name for pushing tags
Tom Gottfried <tom@intevation.de>
parents: 8866
diff changeset
155 hg push ssh://$USER@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
156 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
157 echo "#############################################################################" \
a7778435a4af Improve oracle integration and generate changelog when tagging
Andre Heinecke <aheinecke@intevation.de>
parents: 5268
diff changeset
158 >> $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
159 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
160 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
161 done;
9681
8e5a8430b89c Allow tagging a branch
Tom Gottfried <tom@intevation.de>
parents: 9679
diff changeset
162 else
8e5a8430b89c Allow tagging a branch
Tom Gottfried <tom@intevation.de>
parents: 9679
diff changeset
163 VERSION=$TARGET
5251
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
164 fi
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
165
8754
574f8b80799f Add quotes in Path tests to avoid wrong results if variables are unset
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8753
diff changeset
166 if [ ! -f "$FLYS_SOURCE_DIR/OpenLayers-2.11.tar.gz" ]; 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
167 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
168 cd $FLYS_SOURCE_DIR
8822
cd8fce40f151 OpenLayers download moved.
Tom Gottfried <tom@intevation.de>
parents: 8754
diff changeset
169 curl -LO "https://github.com/openlayers/ol2/releases/download/release-2.11/OpenLayers-2.11.tar.gz"
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
170 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
171 # 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
172 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
173 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
174 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
175 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
176 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
177 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
178 $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
179
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
8753
340111f40f2d (issue1824) Install smartgwt from file base on SMARTGWT environment variable
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8751
diff changeset
181 echo "INFO: Installing smartGWT"
340111f40f2d (issue1824) Install smartgwt from file base on SMARTGWT environment variable
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8751
diff changeset
182
340111f40f2d (issue1824) Install smartgwt from file base on SMARTGWT environment variable
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8751
diff changeset
183 mvn install:install-file -Dfile="$SMARTGWT" -Dversion=4.1-p20141119 \
340111f40f2d (issue1824) Install smartgwt from file base on SMARTGWT environment variable
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8751
diff changeset
184 -DartifactId=smartgwt-lgpl -DgroupId=com.isomorphic.smartgwt.lgpl \
340111f40f2d (issue1824) Install smartgwt from file base on SMARTGWT environment variable
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8751
diff changeset
185 -Dpackaging=jar
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
186
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 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
188 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
189 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
190 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
191 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
192 # 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
193
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 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
195 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
196 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
197 $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
198 $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
199 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
200
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 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
202 cd $WORK_DIR
8751
5b4bd0680160 Do not die if work dir is clean.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8740
diff changeset
203 rm -f wsplgen-linux-*bit-static
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
204 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
205 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
206 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
207 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
208 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
209 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
210 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
211
9681
8e5a8430b89c Allow tagging a branch
Tom Gottfried <tom@intevation.de>
parents: 9679
diff changeset
212 if [ -n "$DO_TAG" ]; 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
213 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
214 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
215 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
216 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
217 $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
218 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
219 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
220 $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
221 fi
5251
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
222
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
223
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
224 echo "INFO: Preparing configuration of web client"
5692
d2c6d4ca6841 Add print url to relase script
Andre Heinecke <aheinecke@intevation.de>
parents: 5678
diff changeset
225
d2c6d4ca6841 Add print url to relase script
Andre Heinecke <aheinecke@intevation.de>
parents: 5678
diff changeset
226 #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
227 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
228 $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
229
8754
574f8b80799f Add quotes in Path tests to avoid wrong results if variables are unset
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8753
diff changeset
230 if [ -d "$WEBINF" ]; 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
231 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
232 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
233 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
234 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
235 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
236 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
237 fi
1431d1af84d7 Remove not publicly available WMS services and enable custom configuration through release script.
Tom Gottfried <tom@intevation.de>
parents: 7797
diff changeset
238
9728
ca1319d5816d Amend release script to include custom client resources
Tom Gottfried <tom@intevation.de>
parents: 9719
diff changeset
239 if [ -d "$CLIENT_RESOURCES" ]; then
ca1319d5816d Amend release script to include custom client resources
Tom Gottfried <tom@intevation.de>
parents: 9719
diff changeset
240 echo "INFO: copy custom client resources to target destination"
ca1319d5816d Amend release script to include custom client resources
Tom Gottfried <tom@intevation.de>
parents: 9719
diff changeset
241 CLIENT_RESOURCES_DIR=$FLYS_SOURCE_DIR/river/gwt-client/src/main/resources/
ca1319d5816d Amend release script to include custom client resources
Tom Gottfried <tom@intevation.de>
parents: 9719
diff changeset
242 cp -R $CLIENT_RESOURCES/* $CLIENT_RESOURCES_DIR
ca1319d5816d Amend release script to include custom client resources
Tom Gottfried <tom@intevation.de>
parents: 9719
diff changeset
243 for file in `find $CLIENT_RESOURCES_DIR/ -type f`; do
ca1319d5816d Amend release script to include custom client resources
Tom Gottfried <tom@intevation.de>
parents: 9719
diff changeset
244 sed -i -e "s@D4E_VERSION@${VERSION}@g" $file
ca1319d5816d Amend release script to include custom client resources
Tom Gottfried <tom@intevation.de>
parents: 9719
diff changeset
245 done
ca1319d5816d Amend release script to include custom client resources
Tom Gottfried <tom@intevation.de>
parents: 9719
diff changeset
246 fi
ca1319d5816d Amend release script to include custom client resources
Tom Gottfried <tom@intevation.de>
parents: 9719
diff changeset
247
8754
574f8b80799f Add quotes in Path tests to avoid wrong results if variables are unset
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8753
diff changeset
248 if [ -f "$CLIENT_CONF" ]; then
8506
da9365fc2f42 (issue1777) Evaluate CLIENT_CONF environment variable
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8501
diff changeset
249 echo "INFO: copy custom java script client configuration to target destination"
8754
574f8b80799f Add quotes in Path tests to avoid wrong results if variables are unset
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8753
diff changeset
250 cp "$CLIENT_CONF" \
8506
da9365fc2f42 (issue1777) Evaluate CLIENT_CONF environment variable
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8501
diff changeset
251 $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
252 fi
8384
d4a2c7b83087 Add possibility to give custom config for server log.
Tom Gottfried <tom@intevation.de>
parents: 8245
diff changeset
253
8754
574f8b80799f Add quotes in Path tests to avoid wrong results if variables are unset
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8753
diff changeset
254 if [ -n "$DGM_PATH" ]; 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
255 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
256 $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
257 fi
4065
9d404069f361 Added build script for FLYS release.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
258
8754
574f8b80799f Add quotes in Path tests to avoid wrong results if variables are unset
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8753
diff changeset
259 if [ -n "$WIKI_URL" ]; 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
260 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
261 $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
262 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
263
8754
574f8b80799f Add quotes in Path tests to avoid wrong results if variables are unset
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8753
diff changeset
264 if [ -d "$SERVER_CONF" ]; 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
265 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
266 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
267 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
268 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
269 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
270 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
271
7939
6e852a6c72f2 Use SmartGWT version 4.1p. Updated release script to download SmartGWT.
Raimund Renkert <rrenkert@intevation.de>
parents: 7837
diff changeset
272
4065
9d404069f361 Added build script for FLYS release.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
273 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
274 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
275 $FLYS_SOURCE_DIR/river/artifacts/bin/wsplgen
4065
9d404069f361 Added build script for FLYS release.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
276
5251
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
277 if [ "$BUILD_ORACLE" = "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
278 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
279 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
280 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
281 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
282 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
283 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
284 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
285
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
286
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
287 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
288 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
289 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
290 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
291 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
292 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
293 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
294
8754
574f8b80799f Add quotes in Path tests to avoid wrong results if variables are unset
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8753
diff changeset
295 if [ -f "$INSTALL" ]; then
8464
5dd6cc9fec1e Add possibility to pack install-script in release tarball.
Tom Gottfried <tom@intevation.de>
parents: 8450
diff changeset
296 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
297 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
298 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
299 tar -rf flys-$VERSION.tar `basename $INSTALL`
6612
e5d8cbce3040 Add cleanup to the release script
Andre Heinecke <aheinecke@intevation.de>
parents: 6440
diff changeset
300 fi
e5d8cbce3040 Add cleanup to the release script
Andre Heinecke <aheinecke@intevation.de>
parents: 6440
diff changeset
301
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
302 ## 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
303 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
304 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
305 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
306 ##
e3f032870e7a Release script: build binaries for publication when tagging and slightly mavenize the whole process.
Tom Gottfried <tom@intevation.de>
parents: 8512
diff changeset
307
9681
8e5a8430b89c Allow tagging a branch
Tom Gottfried <tom@intevation.de>
parents: 9679
diff changeset
308 if [ -n "$DO_TAG" ]; 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
309 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
310 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
311 echo "_ $WORK_DIR/d4e-river-$VERSION.war"
9681
8e5a8430b89c Allow tagging a branch
Tom Gottfried <tom@intevation.de>
parents: 9679
diff changeset
312 echo "Changelog: $WORK_DIR/changes_$OLD_REV-$VERSION.txt"
8464
5dd6cc9fec1e Add possibility to pack install-script in release tarball.
Tom Gottfried <tom@intevation.de>
parents: 8450
diff changeset
313 fi
5251
8fa0c522bef3 Improve make_release script to optinally handle tagging and be more generic.
Andre Heinecke <aheinecke@intevation.de>
parents: 5220
diff changeset
314 echo "DONE: $WORK_DIR/flys-$VERSION.tar.gz"

http://dive4elements.wald.intevation.org