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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
|
#!/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
[ -z "$JAVA_HOME" ] && read -p "\$JAVA_HOME is not set, please enter the path to your Java installation: " JAVA_HOME
if [ ! -e "$JAVA_HOME" ]; then
echo "The path to \$JAVA_HOME ($JAVA_HOME) does not exist, please check and try again."
exit 1
else
export JAVA_HOME
fi
[ -z "$SCALA_HOME" ] && read -p "\$SCALA_HOME is not set, please enter the path to your Scala installation: " SCALA_HOME
if [ ! -e "$SCALA_HOME" ]; then
echo "The path to \$SCALA_HOME ($SCALA_HOME) does not exist, please check and try again."
exit 1
else
export SCALA_HOME
fi
if [ -z "$SCALA" ]; then
if [ `which scala 2>/dev/null 1>/dev/null` ]; then
SCALA=`which scala`
echo "Using 'scala' binary found at $SCALA. Set \$SCALA to use another one."
elif [ -x "$SCALA_HOME/bin/scala" ]; then
SCALA="$SCALA_HOME/bin/scala"
echo "Using 'scala' binary found at $SCALA. Set \$SCALA to use another one."
else
read -p "\$SCALA is not set and the 'scala' binary could not be found, please enter the path to the file: " SCALA
fi
fi
if [ ! -x "$SCALA" ]; then
echo "The path to \$SCALA ($SCALA) is not an executable file, please check and try again."
exit 1
else
export SCALA
fi
if [ -z "$JAVA" ]; then
if [ `which java 2>/dev/null 1>/dev/null` ]; then
JAVA=`which java`
echo "Using 'java' binary found at $JAVA. Set \$JAVA to use another one."
elif [ -x "$JAVA_HOME/bin/java" ]; then
JAVA="$JAVA_HOME/bin/java"
echo "Using 'java' binary found at $JAVA. Set \$JAVA to use another one."
else
read -p "\$JAVA is not set and the 'java' binary could not be found, please enter the path to the file: " JAVA
fi
fi
if [ ! -x "$JAVA" ]; then
echo "The path to \$JAVA ($JAVA) is not an executeable file, please check and try again."
exit 1
else
export JAVA
fi
[ -z "$MYSQL_CONNECTOR_JAR" ] && read -p "\$MYSQL_CONNECTOR_JAR is not set, please enter the path to the MySQL JDBC driver .jar file: " MYSQL_CONNECTOR_JAR
if [ ! -e "$MYSQL_CONNECTOR_JAR" ]; then
echo "The path to \$MYSQL_CONNECTOR_JAR ($MYSQL_CONNECTOR_JAR) does not exist, please check and try again."
exit 1
else
export MYSQL_CONNECTOR_JAR
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
function notify {
if [ ! -z $(which growlnotify 2>/dev/null) ]; then
echo $0 finished | growlnotify
fi
}
trap notify EXIT
source ../infrastructure/bin/compilecache.sh
suffix="-dev";
if [ "$1" == "prod" ]; then
suffix="";
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"
|