1 | #!/bin/bash
|
---|
2 |
|
---|
3 | if [ "x$PREPARE_SDCARD_GSDL3HOME" = "x" ] ; then
|
---|
4 | echo "Environment variable PREPARE_SDCARD_GSDL3HOME undefined" 1>&2
|
---|
5 | exit -1
|
---|
6 | fi
|
---|
7 |
|
---|
8 |
|
---|
9 | JARS="axis.jar commons-lang3-3.0-beta.jar cp.jar \
|
---|
10 | gsdl3.jar gutil.jar \
|
---|
11 | LuceneWrapper3.jar \
|
---|
12 | jdbm.jar js.jar serializer.jar \
|
---|
13 | xercesImpl.jar xml-apis.jar"
|
---|
14 |
|
---|
15 | # LuceneWrapper.jar and xalan.jar used to be in the list,
|
---|
16 | # but are now in modified-jars. See README.txt in that
|
---|
17 | # directory for details
|
---|
18 |
|
---|
19 | #---
|
---|
20 | # Copy GS3 classes files to I-Jetty classes
|
---|
21 | #---
|
---|
22 |
|
---|
23 | if [ -d classes ] ; then
|
---|
24 | echo "#---"
|
---|
25 | echo "# Regenerating directory: classes"
|
---|
26 | echo "#---"
|
---|
27 | /bin/rm -rf classes
|
---|
28 | fi
|
---|
29 |
|
---|
30 | echo "#---"
|
---|
31 | echo "# Copying Greenstone-3 classes to the I-Jetty extension"
|
---|
32 | /bin/cp -rf "$GSDL3HOME/WEB-INF/classes" classes
|
---|
33 | /bin/rm -rf classes/.svn
|
---|
34 |
|
---|
35 | echo "# Setting GSDL3HOME to match SD-Card on Android device"
|
---|
36 | echo "#---"
|
---|
37 |
|
---|
38 | if [ "x$IJOS" = "xcygwin" -o "x$IJOS" = "xmingw" ] ; then
|
---|
39 | SDCARD_GSDL3HOME_ONDEVICE=`echo $PREPARE_SDCARD_GSDL3HOME | sed 's@^/.\+/webapps/@/sdcard/jetty/webapps/@'`
|
---|
40 | else
|
---|
41 | echo "Need to change mapped location of Android device on host machine"
|
---|
42 | echo "But no support currently implemented for: $IJOS"
|
---|
43 | SDCARD_GSDL3HOME_ONDEVICE=$PREPARE_SDCARD_GSDL3HOME
|
---|
44 | fi
|
---|
45 |
|
---|
46 | cat classes/global.properties \
|
---|
47 | | sed "s@^gsdl3\.home=.*@gsdl3.home=$SDCARD_GSDL3HOME_ONDEVICE@" \
|
---|
48 | | sed "s@^tomcat\.port=.*@tomcat.port=$IJETTY_PORT@" \
|
---|
49 | > classes/global.properties.android
|
---|
50 |
|
---|
51 | /bin/mv classes/global.properties.android classes/global.properties
|
---|
52 |
|
---|
53 | cat classes/log4j.properties \
|
---|
54 | | sed "s@^gsdl3\.home=.*@gsdl3.home=$SDCARD_GSDL3HOME_ONDEVICE@" \
|
---|
55 | > classes/log4j.properties.android
|
---|
56 |
|
---|
57 | /bin/mv classes/log4j.properties.android classes/log4j.properties
|
---|
58 |
|
---|
59 |
|
---|
60 | #---
|
---|
61 | # Copy selected GS3 Jar files to I-Jetty jars
|
---|
62 | #---
|
---|
63 |
|
---|
64 | echo "#---"
|
---|
65 | if [ -d jars ] ; then
|
---|
66 | echo "# Regenerating jars"
|
---|
67 | /bin/rm -rf jars
|
---|
68 | else
|
---|
69 | echo "# Generating jars"
|
---|
70 | fi
|
---|
71 | echo "#---"
|
---|
72 | mkdir jars
|
---|
73 |
|
---|
74 | for f in $JARS ; do
|
---|
75 | echo " Copying from Greenstone-3 to I-Jetty: $f"
|
---|
76 | /bin/cp "$GSDL3HOME/WEB-INF/lib/$f" jars/.
|
---|
77 | done
|
---|
78 |
|
---|
79 | echo "Overriding existings Greenstone jars with ones that needed tweaking for Android"
|
---|
80 | /bin/cp -v modified-jars/* jars/.
|
---|
81 |
|
---|
82 |
|
---|
83 | echo "Topping up 'jars' with Android specific jars"
|
---|
84 | /bin/cp -v extra-jars/* jars/.
|
---|
85 |
|
---|
86 |
|
---|
87 | #---
|
---|
88 | # Generate dex file in I-Jetty 'classes' directory
|
---|
89 | #---
|
---|
90 |
|
---|
91 |
|
---|
92 | # If need more memory, add
|
---|
93 | # -JXmx1024M
|
---|
94 |
|
---|
95 | OUTPUT_DEX=$IJETTY_HOME/classes/classes.dex
|
---|
96 | INPUT_DIR=$IJETTY_HOME/jars
|
---|
97 |
|
---|
98 | dxcmd="dx"
|
---|
99 |
|
---|
100 | if [ "x$IJOS" = "xcygwin" ] ; then
|
---|
101 | OUTPUT_DEX=`cygpath -w $OUTPUT_DEX`
|
---|
102 | INPUT_DIR=`cygpath -w $INPUT_DIR`
|
---|
103 | dxcmd="dx.bat"
|
---|
104 | elif [ "x$IJOS" = "xmingw" ] ; then
|
---|
105 | OUTPUT_DEX=`echo $OUTPUT_DEX | sed 's/^\/\(.\)/\1:/' | sed 's@/@\\\\@g'`
|
---|
106 | INPUT_DIR=`echo $INPUT_DIR | sed 's/^\/\(.\)/\1:/' | sed 's@/@\\\\@g'`
|
---|
107 | dxcmd="cmd /c dx.bat"
|
---|
108 | fi
|
---|
109 |
|
---|
110 | # add --verbose for more information
|
---|
111 | $dxcmd --verbose --dex --core-library --positions=lines --output=$OUTPUT_DEX $INPUT_DIR
|
---|
112 |
|
---|
113 | ##dx.bat --dex --core-library --positions=lines --output=$OUTPUT_DEX $INPUT_DIR
|
---|
114 |
|
---|
115 | if [ $? != 0 ] ; then
|
---|
116 | echo "Error(s) encountered when running 'dx'"
|
---|
117 | exit
|
---|
118 | fi
|
---|
119 |
|
---|
120 | #---
|
---|
121 | # Zip up I-Jetty classes directory and put it in lib
|
---|
122 | #---
|
---|
123 |
|
---|
124 | echo "#---"
|
---|
125 | if [ -d lib ] ; then
|
---|
126 | echo "# Regenerating directory: lib"
|
---|
127 | /bin/rm -rf lib
|
---|
128 | else
|
---|
129 | echo "# Generating directory: lib"
|
---|
130 | fi
|
---|
131 | echo "#---"
|
---|
132 | mkdir lib
|
---|
133 |
|
---|
134 | echo "#---"
|
---|
135 | echo "Zipping up I-Jetty 'classes' and storing in 'lib'"
|
---|
136 | echo "#---"
|
---|
137 | (cd classes && zip -r ../lib/classes.zip . && cd ..)
|
---|
138 |
|
---|
139 | if [ $? != 0 ] ; then
|
---|
140 | echo "Error(s) encountered zipping up dexified 'lib' files"
|
---|
141 | exit
|
---|
142 | fi
|
---|
143 |
|
---|
144 |
|
---|
145 |
|
---|
146 | echo "#---"
|
---|
147 | echo "# Copying dexified 'lib' servlet code to "
|
---|
148 | echo "# $PREPARE_SDCARD_GSDL3HOME/WEB-INF/lib"
|
---|
149 | echo "#---"
|
---|
150 | echo ""
|
---|
151 |
|
---|
152 | if [ -d $PREPARE_SDCARD_GSDL3HOME/WEB-INF/lib ] ; then
|
---|
153 | /bin/rm -rf $PREPARE_SDCARD_GSDL3HOME/WEB-INF/lib
|
---|
154 | fi
|
---|
155 |
|
---|
156 | /bin/cp -r lib $PREPARE_SDCARD_GSDL3HOME/WEB-INF/.
|
---|
157 |
|
---|
158 |
|
---|
159 |
|
---|
160 | echo ""
|
---|
161 | echo "####"
|
---|
162 | echo "# Run ./IJETTY-PUSH.sh \"webapps/greenstone3\" to install all the files needed on the Andorid device"
|
---|
163 | echo "# Or ./IJETTY-PUSH.sh \"webapps/WEB-INF/lib\" to install the latest DEX files on the device"
|
---|
164 | echo "####"
|
---|
165 | echo "" |
---|