1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
#!/bin/bash -e
# Copyright 2009 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS-IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
bin/java-version.sh
if [ -z "$JAR" ]; then
if [ ! -z $(which fastjar 2>/dev/null) ]; then
# http://lists.gnu.org/archive/html/fastjar-dev/2009-12/msg00000.html
version=`fastjar --version | grep fastjar | sed 's/.* //g'`
if [[ "$version" = "0.97" || "$version" = "0.98" ]]; then
echo "fastjar version $version can't build etherpad. Falling back to standard jar."
JAR=jar
else
JAR=fastjar
fi
else
JAR=jar
fi
fi
function depscheck {
if [ ! -d "$JAVA_HOME" ]; then
echo "\$JAVA_HOME does not point to an existing dir; should be e.g. /usr/java/latest"
exit 1
fi
if [ ! -d "$SCALA_HOME" ]; then
echo "\$SCALA_HOME does not point to an existing dir; should be e.g. /usr/share/scala"
exit 1
fi
if [ ! -e "$SCALA" ]; then
echo "\$SCALA does not point to an existing file; should be e.g. /usr/bin/scala"
exit 1
fi
if [ ! -e "$JAVA" ]; then
echo "\$JAVA does not point to an existing file; should be e.g. /usr/bin/java"
exit 1
fi
if [ ! -e "$MYSQL_CONNECTOR_JAR" ]; then
echo "\$MYSQL_CONNECTOR_JAR does not point to an existing file; should be e.g. /usr/share/java/mysql-connector-java.jar"
exit 1
fi
# Check for javac version. Unfortunately, javac doesn't tell you whether
# it's Sun Java or OpenJDK, but the "java" binary that's in the same
# directory will.
if [ -e "$JAVA_HOME/bin/java" ]; then
($JAVA_HOME/bin/java -version 2>&1) | {
while read file; do
javaver=$file
done
for word in $javaver; do
if [ $word != "Java" ]; then
echo "$JAVA_HOME/bin/java is from a non-Sun compiler, and may not be able to compile etherpad. If you get syntax errors, you should point \$JAVA_HOME at a Sun Java JDK installation instead."
fi
break
done
}
fi
}
depscheck
function notify {
if [ ! -z $(which growlnotify 2>/dev/null) ]; then
echo $0 finished | growlnotify
fi
}
trap notify EXIT
source ../infrastructure/bin/compilecache.sh
if [ "$1" == "dev" ]; then
suffix="-dev";
shift
fi
OWD=`pwd`
cd ../infrastructure
JAR=$JAR bin/makejar.sh $@
rm -rf build/etherpad-jars
mkdir -p build/etherpad-jars
echo "including etherpad JARs..."
JARFILES="echo ../etherpad/lib/*.jar"
function genjar {
echo "unzipping JARs..."
pushd $1 >> /dev/null
for a in ../../../etherpad/lib/*.jar; do
$JAR xf $a
rm -rf META-INF/{MANIFEST.MF,NOTICE{,.txt},LICENSE{,.txt},INDEX.LIST,SUN_MICR.{RSA,SF},maven}
done
popd >> /dev/null
}
cacheonfiles JAR-etherpad "$JARFILES" genjar 1
echo "updating..."
pushd buildcache/JAR-etherpad >> /dev/null
$JAR uf ../../build/appjet.jar `ls . | grep -v "^t$"`
echo "done."
popd >> /dev/null
dst="$OWD/appjet-eth$suffix.jar"
cp -f build/appjet.jar $dst
cd $OWD
echo "wrote $dst"
|