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

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

Prepare version of script is now the main version of the script to run

  • 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@^/.\+/war/@/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\" to install all the files needed on the Andorid device"
163echo "# Run ./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.