-
Notifications
You must be signed in to change notification settings - Fork 790
/
Copy pathbootstrap
executable file
·96 lines (78 loc) · 3.68 KB
/
bootstrap
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
#!/bin/sh
set -e
CLOJURE_RELEASE="1.6.0"
DJSON_RELEASE="0.2.3"
GCLOSURE_LIB_RELEASE="0.0-20140718-946a7d39"
RHINO_RELEASE="1_7R3"
TREADER_RELEASE="0.8.4"
mkdir -p lib
echo "Fetching Clojure..."
curl -O -s http://repo1.maven.org/maven2/org/clojure/clojure/$CLOJURE_RELEASE/clojure-$CLOJURE_RELEASE.zip
unzip -qu clojure-$CLOJURE_RELEASE.zip
echo "Copying clojure-$CLOJURE_RELEASE/clojure-$CLOJURE_RELEASE.jar to lib/clojure.jar..."
cp clojure-$CLOJURE_RELEASE/clojure-$CLOJURE_RELEASE.jar lib/clojure.jar
echo "Cleaning up Clojure directory..."
rm -rf clojure-$CLOJURE_RELEASE/
echo "Cleaning up Clojure archive..."
rm clojure-$CLOJURE_RELEASE.zip
echo "Fetching data.json..."
curl -O -s http://repo1.maven.org/maven2/org/clojure/data.json/$DJSON_RELEASE/data.json-$DJSON_RELEASE.jar
echo "Copying data.json-$DJSON_RELEASE.jar to lib/data.json-$DJSON_RELEASE.jar..."
cp data.json-$DJSON_RELEASE.jar lib/data.json-$DJSON_RELEASE.jar
echo "Cleaning up data.json..."
rm data.json-$DJSON_RELEASE.jar
echo "Fetching Google Closure library..."
mkdir -p closure/library
cd closure/library
if [ "$1" = "--closure-library-head" ] ; then
echo "Building against HEAD of Google Closure library..."
# Check if svn present
type svn >/dev/null 2>&1 || { echo >&2 "Need svn command to checkout HEAD of Google Closure library. Aborting."; exit 1; }
# Existing checkout?
if svn info --non-interactive >/dev/null 2>&1; then
echo "Updating Google Closure library from HEAD..."
svn update -q --non-interactive
else
echo "Checking out HEAD of Google Closure library..."
rm -rf *
svn checkout -q --non-interactive http://closure-library.googlecode.com/svn/trunk/ ./
fi
else
curl -O -s http://repo1.maven.org/maven2/org/clojure/google-closure-library/$GCLOSURE_LIB_RELEASE/google-closure-library-$GCLOSURE_LIB_RELEASE.jar
cp google-closure-library-$GCLOSURE_LIB_RELEASE.jar ../../lib/google-closure-library-$GCLOSURE_LIB_RELEASE.jar
rm google-closure-library-$GCLOSURE_LIB_RELEASE.jar
echo "Fetching Google Closure third party library..."
curl -O -s http://repo1.maven.org/maven2/org/clojure/google-closure-library-third-party/$GCLOSURE_LIB_RELEASE/google-closure-library-third-party-$GCLOSURE_LIB_RELEASE.jar
cp google-closure-library-third-party-$GCLOSURE_LIB_RELEASE.jar ../../lib/google-closure-library-third-party-$GCLOSURE_LIB_RELEASE.jar
rm google-closure-library-third-party-$GCLOSURE_LIB_RELEASE.jar
fi
cd ..
echo "Fetching Google Closure compiler..."
mkdir -p compiler
cd compiler
curl -O -s http://dl.google.com/closure-compiler/compiler-latest.zip
unzip -qu compiler-latest.zip
echo "Cleaning up Google Closure compiler archive..."
rm compiler-latest.zip
cd ../..
if [ "$1" = "--closure-library-head" ] ; then
echo "Building lib/goog.jar..."
echo "jar cf ./lib/goog.jar -C closure/library/closure/ goog"
jar cf ./lib/goog.jar -C closure/library/closure/ goog
fi
echo "Fetching Rhino..."
curl -O -s http://ftp.mozilla.org/pub/mozilla.org/js/rhino$RHINO_RELEASE.zip
unzip -qu rhino$RHINO_RELEASE.zip
echo "Copying rhino$RHINO_RELEASE/js.jar to lib/js.jar..."
cp rhino$RHINO_RELEASE/js.jar lib/js.jar
echo "Cleaning up Rhino directory..."
rm -rf rhino$RHINO_RELEASE/
echo "Cleaning up Rhino archive..."
rm rhino$RHINO_RELEASE.zip
echo "Copying closure/compiler/compiler.jar to lib/compiler.jar"
cp closure/compiler/compiler.jar lib
echo "Fetching tools.reader $TREADER_RELEASE ..."
curl -O -s http://repo1.maven.org/maven2/org/clojure/tools.reader/$TREADER_RELEASE/tools.reader-$TREADER_RELEASE.jar
echo "Moving tools.reader.jar to lib/tools.reader.jar"
mv tools.reader-$TREADER_RELEASE.jar lib/tools.reader-$TREADER_RELEASE.jar
echo "[Bootstrap Completed]"