source: gs3-extensions/i-jetty/trunk/src/JAVA-TO-DEX.sh@ 25663

Last change on this file since 25663 was 25663, checked in by davidb, 12 years ago

Tidy up scripts and config files

  • Property svn:executable set to *
File size: 3.9 KB
Line 
1#!/bin/bash
2
3if [ "x$PREPARE_SDCARD_GSDL3HOME" = "x" ] ; then
4 echo "Environment variable PREPARE_SDCARD_GSDL3HOME undefined" 1>&2
5 exit -1
6fi
7
8
9JARS="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
23if [ -d classes ] ; then
24 echo "#---"
25 echo "# Regenerating directory: classes"
26 echo "#---"
27 /bin/rm -rf classes
28fi
29
30echo "#---"
31echo "# 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
35echo "# Setting GSDL3HOME to match SD-Card on Android device"
36echo "#---"
37
38if [ "x$IJOS" = "xcygwin" -o "x$IJOS" = "xmingw" ] ; then
39 SDCARD_GSDL3HOME_ONDEVICE=`echo $PREPARE_SDCARD_GSDL3HOME | sed 's@^/.\+/webapps/@/sdcard/jetty/webapps/@'`
40else
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
44fi
45
46cat 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
53cat 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
64echo "#---"
65if [ -d jars ] ; then
66 echo "# Regenerating jars"
67 /bin/rm -rf jars
68else
69 echo "# Generating jars"
70fi
71echo "#---"
72mkdir jars
73
74for f in $JARS ; do
75 echo " Copying from Greenstone-3 to I-Jetty: $f"
76 /bin/cp "$GSDL3HOME/WEB-INF/lib/$f" jars/.
77done
78
79echo "Overriding existings Greenstone jars with ones that needed tweaking for Android"
80/bin/cp -v modified-jars/* jars/.
81
82
83echo "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
95OUTPUT_DEX=$IJETTY_HOME/classes/classes.dex
96INPUT_DIR=$IJETTY_HOME/jars
97
98dxcmd="dx"
99
100if [ "x$IJOS" = "xcygwin" ] ; then
101 OUTPUT_DEX=`cygpath -w $OUTPUT_DEX`
102 INPUT_DIR=`cygpath -w $INPUT_DIR`
103 dxcmd="dx.bat"
104elif [ "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"
108fi
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
115if [ $? != 0 ] ; then
116 echo "Error(s) encountered when running 'dx'"
117 exit
118fi
119
120#---
121# Zip up I-Jetty classes directory and put it in lib
122#---
123
124echo "#---"
125if [ -d lib ] ; then
126 echo "# Regenerating directory: lib"
127 /bin/rm -rf lib
128else
129 echo "# Generating directory: lib"
130fi
131echo "#---"
132mkdir lib
133
134echo "#---"
135echo "Zipping up I-Jetty 'classes' and storing in 'lib'"
136echo "#---"
137(cd classes && zip -r ../lib/classes.zip . && cd ..)
138
139if [ $? != 0 ] ; then
140 echo "Error(s) encountered zipping up dexified 'lib' files"
141 exit
142fi
143
144
145
146echo "#---"
147echo "# Copying dexified 'lib' servlet code to "
148echo "# $PREPARE_SDCARD_GSDL3HOME/WEB-INF/lib"
149echo "#---"
150echo ""
151
152if [ -d $PREPARE_SDCARD_GSDL3HOME/WEB-INF/lib ] ; then
153 /bin/rm -rf $PREPARE_SDCARD_GSDL3HOME/WEB-INF/lib
154fi
155
156/bin/cp -r lib $PREPARE_SDCARD_GSDL3HOME/WEB-INF/.
157
158
159
160echo ""
161echo "####"
162echo "# Run ./IJETTY-PUSH.sh \"webapps/greenstone3\" to install all the files needed on the Andorid device"
163echo "# Or ./IJETTY-PUSH.sh \"webapps/WEB-INF/lib\" to install the latest DEX files on the device"
164echo "####"
165echo ""
Note: See TracBrowser for help on using the repository browser.