source: gs2-extensions/tdb/trunk/src/CASCADE-MAKE/TDBJAVA.sh@ 30249

Last change on this file since 30249 was 30249, checked in by jmt12, 6 years ago

Cascade-make file for the Java/JNI/TDB bridge and the Greenstone3 database wrapper

  • Property svn:executable set to *
File size: 3.1 KB
Line 
1#!/bin/bash
2
3package=TDBJava
4version=
5
6progname=$0
7
8source ../cascade-make/lib/cascade-lib.bash GEXTTDBEDIT ../.. $*
9
10STARTTS=`date +"%s.%3N"`
11echo
12echo "========= Compiling TDBJava ========="
13# Check for existing JAR... skip if it's already there!
14JARPATH="${GEXTTDBEDIT_INSTALLED}/lib/TDBJava.jar"
15if [ -e "${JARPATH}" ]; then
16 echo " * TDBJava library already compiled. To recompile, remove: ${JARPATH}"
17else
18 # Ensure Greenstone3 home is set
19 if [ -z "${GSDL3HOME}" ]; then
20 echo "Error! GSDL3HOME environment variable not set... have you run gs3-setup.sh in installed GSDL3 directory."
21 exit 1
22 fi
23 echo " Found GSDL3HOME: ${GSDL3HOME}"
24 WEBLIB="${GSDL3HOME}/WEB-INF/lib"
25 echo " Found GSDL3 web library: ${WEBLIB}"
26 # Ensure we have access to JAVAC
27 if [ -z "${JAVA_HOME}" ]; then
28 echo "Error! JAVA_HOME environment variable not set. Verify Java is installed and export JAVA_HOME to point to location."
29 exit 1
30 fi
31 echo " Found JAVA_HOME: ${JAVA_HOME}"
32 # And also that the path to the installed files for TDBEdit has been set
33 if [ -z "${GEXTTDBEDIT}" ]; then
34 echo "Error! GEXTTDBEDIT not set"
35 exit 1
36 fi
37 echo " Found GEXTTDBEDIT: ${GEXTTDBEDIT}"
38 echo " Found GEXTTDBEDIT_INSTALLED: ${GEXTTDBEDIT_INSTALLED}"
39 # Ensure the we have a class version of FlatDatabaseWrapper
40 if [ ! -f "${WEBLIB}/gsdl3.jar" ]; then
41 echo "Error! Greenstone3 JAR not available. Change to '${GSDL3HOME}' and run 'ant'"
42 exit 1
43 fi
44 echo " Found GSDL3 library: ${WEBLIB}/gsdl3.jar"
45 # And that we have a log4j jar
46 pushd "${WEBLIB}"
47 log4jjar=`find * -name "log4j-?.?.?.jar" 2>&1`
48 popd
49 if [ "${log4jjar}x" == "x" ]; then
50 echo "Error! No Log4J JAR available in: ${WEBLIB}'"
51 exit 1
52 fi
53 echo " Found Log4J library: ${WEBLIB}/${log4jjar}"
54 CLASSPATH=`mktemp -d 2>/dev/null || mktemp -d -t 'tdbjava'`
55 echo " * Created temporary directory for classes: ${CLASSPATH}"
56 # Compiling the TDBJava code itself is straightforward
57 # The TDBWrapper, unfortunately, needs a bit more work as it needs a class path
58 # to Apache and GSDL3 class files
59 SOURCEPATH="${GEXTTDBEDIT}/src/java/org/greenstone/tdbjava"
60 CWD=`pwd`
61 cd "${SOURCEPATH}"
62 `javac -cp "${WEBLIB}/${log4jjar}:${WEBLIB}/gsdl3.jar" -d ${CLASSPATH} *.java`
63 cd "${CWD}"
64 echo " * Compiled source files to classes"
65 `jar -cvf "${JARPATH}" -C ${CLASSPATH}/ . 2>&1 > /dev/null`
66 echo " * Gathered class files into JAR archive: ${JARPATH}"
67 `rm ${CLASSPATH}/org/greenstone/tdbjava/*.class`
68 `rmdir ${CLASSPATH}/org/greenstone/tdbjava`
69 `rm ${CLASSPATH}/org/greenstone/gsdl3/util/*.class`
70 `rmdir ${CLASSPATH}/org/greenstone/gsdl3/util`
71 `rmdir ${CLASSPATH}/org/greenstone/gsdl3`
72 `rmdir ${CLASSPATH}/org/greenstone`
73 `rmdir ${CLASSPATH}/org`
74 `rmdir ${CLASSPATH}`
75 echo " * Removed temporary directory"
76fi
77# Print out a nice duration message
78ENDTS=`date +"%s.%3N"`
79# HACK - ensure that BC prints the answer with a leading 0 before the point
80ELAPSED=`echo "scale=3;x=${ENDTS}-${STARTTS};if (x<1) print 0;x" | bc`
81echo "===== Complete in ${ELAPSED} seconds! ====="
82echo
83exit 0
Note: See TracBrowser for help on using the repository browser.