1 | #!/bin/bash
|
---|
2 |
|
---|
3 | function show_title() {
|
---|
4 | echo "RK_HOME: $RK_HOME"
|
---|
5 | echo "O---------------------------------------------O"
|
---|
6 | echo
|
---|
7 | echo " $rk_name ";
|
---|
8 | echo " $rk_fullname ";
|
---|
9 | echo
|
---|
10 | echo "O---------------------------------------------O"
|
---|
11 |
|
---|
12 | }
|
---|
13 |
|
---|
14 | function show_help {
|
---|
15 | echo "usage: {rk2|rk3|sork2|sork2|cdrk2|derk|clientrk} [-help|-cmd] [ANT_ARGS]"
|
---|
16 | echo " -help show this help screen"
|
---|
17 | echo " -cmd show the ant command being used by the releas kit"
|
---|
18 | echo " ANT_ARGS additional arguments to be passed to ant"
|
---|
19 | }
|
---|
20 |
|
---|
21 | #determine requested release kit
|
---|
22 | rk_name=$(basename "$0")
|
---|
23 | rk_dirname=$(dirname "$0")
|
---|
24 | export RK_HOME=$(cd "$rk_dirname/.." && pwd)
|
---|
25 |
|
---|
26 |
|
---|
27 | if [ "$rk_name" == "rk2" ]; then
|
---|
28 | rk_fullname="Release Kit for Greenstone2"
|
---|
29 | elif [ "$rk_name" == "rk3" ]; then
|
---|
30 | rk_fullname="Release Kit for Greenstone3"
|
---|
31 | elif [ "$rk_name" == "sork2" ]; then
|
---|
32 | rk_fullname="Source Code Release Kit for Greenstone2"
|
---|
33 | elif [ "$rk_name" == "sork3" ]; then
|
---|
34 | rk_fullname="Source Code Release Kit for Greenstone3"
|
---|
35 | elif [ "$rk_name" == "cdrk2" ]; then
|
---|
36 | rk_fullname="CD-ROM Release Kit for Greenstone2"
|
---|
37 | elif [ "$rk_name" == "derk" ]; then
|
---|
38 | rk_fullname="Documented Examples Release Kit"
|
---|
39 | elif [ "$rk_name" == "clientrk" ]; then
|
---|
40 | rk_fullname="Standalone Client-GLI Release Kit"
|
---|
41 | else
|
---|
42 | show_help
|
---|
43 | exit
|
---|
44 | fi
|
---|
45 |
|
---|
46 | #make sure ant has enough memory
|
---|
47 | export ANT_OPTS=-Xmx1024M
|
---|
48 |
|
---|
49 | # set JAVACFLAGS (used in the relevant javac lines in our Makefiles) so that any compiled Java code
|
---|
50 | # is backwards compatible with Java v1.6
|
---|
51 |
|
---|
52 | # Note: Given the way autoconf uses 'eval' to test javac, then the usual technique of double-quoting
|
---|
53 | # (e.g.) the bootclasspath directory to project against spaces *won't* *work* as it is not passed
|
---|
54 | # to a shell environment to be interpretted first.
|
---|
55 | # Instead, we result to backlash escaping any spaces
|
---|
56 | export RK_HOME_BACKSLASH_ESCAPED=`echo $RK_HOME | sed 's/ /\\\\ /g'`
|
---|
57 |
|
---|
58 | export JAVACFLAGS="-source 1.8 -target 1.8 -bootclasspath $RK_HOME_BACKSLASH_ESCAPED/shared/core/java-rt/rt-openjdk8.jar -extdirs ''"
|
---|
59 |
|
---|
60 | #create the command
|
---|
61 | toexec="ant -lib \"`pwd`/installer/classes\" -f \"$RK_HOME/kits/$rk_name/ant-scripts/build.xml\" \"-Dbasedir=`pwd`\" \"-Drk.home=$RK_HOME\" \"-Drk.name=$rk_name\""
|
---|
62 |
|
---|
63 | # Generally, an ant property can be true|on|yes vs false|off|no (or left unset)
|
---|
64 | # see https://ant.apache.org/manual/properties.html#if+unless
|
---|
65 | # However, the release-kit code requires envvar KEEP_SRC to be "true" in order to stop it deleting source code
|
---|
66 | # set KEEP_SRC env var here or in envi/etc/tasks/snapshot/environment.pl
|
---|
67 | #KEEP_SRC=true
|
---|
68 | #echo "KEEP_SRC: $KEEP_SRC"
|
---|
69 | if test -n $KEEP_SRC ; then
|
---|
70 | toexec="$toexec \"-Dkeep.src=$KEEP_SRC\""
|
---|
71 | fi
|
---|
72 |
|
---|
73 | show_cmd=false
|
---|
74 |
|
---|
75 | #pass on the arguments
|
---|
76 | while [ "$1" != "" ]; do
|
---|
77 |
|
---|
78 | if [ "$1" == "-help" ]; then
|
---|
79 | show_help
|
---|
80 | exit
|
---|
81 | elif [ "$1" == "-cmd" ]; then
|
---|
82 | show_cmd=true
|
---|
83 | else
|
---|
84 | toexec="$toexec \"$1\""
|
---|
85 | fi
|
---|
86 | shift
|
---|
87 |
|
---|
88 | done
|
---|
89 |
|
---|
90 | #show the command to be executed
|
---|
91 | if [ "$show_cmd" == "true" ]; then
|
---|
92 | echo $toexec
|
---|
93 | #execute
|
---|
94 | else
|
---|
95 | show_title | tee ${rk_name}.out
|
---|
96 | $toexec 2>&1 | tee -a ${rk_name}.out
|
---|
97 | fi
|
---|
98 |
|
---|