clementine 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -0
- data/Gemfile +4 -2
- data/LICENSE.txt +22 -0
- data/README.md +11 -6
- data/Rakefile +22 -0
- data/clementine.gemspec +2 -1
- data/ext/clojure-clojurescript-bef56a7/.gitignore +13 -0
- data/ext/clojure-clojurescript-bef56a7/Clojurescript.iml +12 -0
- data/ext/clojure-clojurescript-bef56a7/README.md +29 -0
- data/ext/clojure-clojurescript-bef56a7/benchmark/cljs/benchmark_runner.cljs +155 -0
- data/ext/clojure-clojurescript-bef56a7/bin/cljsc +21 -0
- data/ext/clojure-clojurescript-bef56a7/bin/cljsc.bat +18 -0
- data/{vendor/assets → ext/clojure-clojurescript-bef56a7}/bin/cljsc.clj +0 -0
- data/ext/clojure-clojurescript-bef56a7/devnotes/README.org +35 -0
- data/ext/clojure-clojurescript-bef56a7/devnotes/bcrepl.org +13 -0
- data/ext/clojure-clojurescript-bef56a7/devnotes/cljs.org +500 -0
- data/ext/clojure-clojurescript-bef56a7/devnotes/corelib.org +583 -0
- data/ext/clojure-clojurescript-bef56a7/devnotes/day1.org +203 -0
- data/ext/clojure-clojurescript-bef56a7/devnotes/day2.org +44 -0
- data/ext/clojure-clojurescript-bef56a7/devnotes/talk.org +126 -0
- data/ext/clojure-clojurescript-bef56a7/devnotes/testing +13 -0
- data/ext/clojure-clojurescript-bef56a7/devnotes/todo.org +121 -0
- data/ext/clojure-clojurescript-bef56a7/epl-v10.html +261 -0
- data/ext/clojure-clojurescript-bef56a7/pom.template.xml +88 -0
- data/ext/clojure-clojurescript-bef56a7/samples/dom/.gitignore +2 -0
- data/ext/clojure-clojurescript-bef56a7/samples/dom/src/dom/test.cljs +48 -0
- data/ext/clojure-clojurescript-bef56a7/samples/dom/test.html +30 -0
- data/ext/clojure-clojurescript-bef56a7/samples/hello-js/.gitignore +2 -0
- data/ext/clojure-clojurescript-bef56a7/samples/hello-js/README.md +53 -0
- data/ext/clojure-clojurescript-bef56a7/samples/hello-js/externed-lib.js +7 -0
- data/ext/clojure-clojurescript-bef56a7/samples/hello-js/externs.js +3 -0
- data/ext/clojure-clojurescript-bef56a7/samples/hello-js/hello-extern.html +14 -0
- data/ext/clojure-clojurescript-bef56a7/samples/hello-js/hello-js-dev.html +18 -0
- data/ext/clojure-clojurescript-bef56a7/samples/hello-js/hello-js.html +17 -0
- data/ext/clojure-clojurescript-bef56a7/samples/hello-js/my-external-lib.js +3 -0
- data/ext/clojure-clojurescript-bef56a7/samples/hello-js/src/hello-js/core.cljs +9 -0
- data/ext/clojure-clojurescript-bef56a7/samples/hello-js/src/hello-js/extern-example.cljs +5 -0
- data/ext/clojure-clojurescript-bef56a7/samples/hello/.gitignore +2 -0
- data/ext/clojure-clojurescript-bef56a7/samples/hello/README.md +34 -0
- data/ext/clojure-clojurescript-bef56a7/samples/hello/hello-dev.html +18 -0
- data/ext/clojure-clojurescript-bef56a7/samples/hello/hello.html +13 -0
- data/ext/clojure-clojurescript-bef56a7/samples/hello/src/hello/core.cljs +8 -0
- data/ext/clojure-clojurescript-bef56a7/samples/hello/src/hello/foo/bar.cljs +4 -0
- data/ext/clojure-clojurescript-bef56a7/samples/nodehello.cljs +18 -0
- data/ext/clojure-clojurescript-bef56a7/samples/nodels.cljs +17 -0
- data/ext/clojure-clojurescript-bef56a7/samples/repl/.gitignore +2 -0
- data/ext/clojure-clojurescript-bef56a7/samples/repl/README.md +101 -0
- data/ext/clojure-clojurescript-bef56a7/samples/repl/index.html +27 -0
- data/ext/clojure-clojurescript-bef56a7/samples/repl/src/repl/test.cljs +73 -0
- data/ext/clojure-clojurescript-bef56a7/samples/twitterbuzz/.gitignore +2 -0
- data/ext/clojure-clojurescript-bef56a7/samples/twitterbuzz/README.md +42 -0
- data/ext/clojure-clojurescript-bef56a7/samples/twitterbuzz/index-advanced.html +80 -0
- data/ext/clojure-clojurescript-bef56a7/samples/twitterbuzz/index.html +88 -0
- data/ext/clojure-clojurescript-bef56a7/samples/twitterbuzz/reset.css +48 -0
- data/ext/clojure-clojurescript-bef56a7/samples/twitterbuzz/src/twitterbuzz/anneal.cljs +66 -0
- data/ext/clojure-clojurescript-bef56a7/samples/twitterbuzz/src/twitterbuzz/core.cljs +307 -0
- data/ext/clojure-clojurescript-bef56a7/samples/twitterbuzz/src/twitterbuzz/dom-helpers.cljs +95 -0
- data/ext/clojure-clojurescript-bef56a7/samples/twitterbuzz/src/twitterbuzz/layout.cljs +100 -0
- data/ext/clojure-clojurescript-bef56a7/samples/twitterbuzz/src/twitterbuzz/leaderboard.cljs +40 -0
- data/ext/clojure-clojurescript-bef56a7/samples/twitterbuzz/src/twitterbuzz/radial.cljs +91 -0
- data/ext/clojure-clojurescript-bef56a7/samples/twitterbuzz/src/twitterbuzz/showgraph.cljs +121 -0
- data/ext/clojure-clojurescript-bef56a7/samples/twitterbuzz/src/twitterbuzz/timeline.cljs +39 -0
- data/ext/clojure-clojurescript-bef56a7/samples/twitterbuzz/style.css +301 -0
- data/ext/clojure-clojurescript-bef56a7/samples/twitterbuzz/test_data.txt +1 -0
- data/ext/clojure-clojurescript-bef56a7/samples/twitterbuzz/tweet_maps.txt +1 -0
- data/ext/clojure-clojurescript-bef56a7/script/benchmark +30 -0
- data/ext/clojure-clojurescript-bef56a7/script/bootstrap +70 -0
- data/ext/clojure-clojurescript-bef56a7/script/browser-repl +16 -0
- data/ext/clojure-clojurescript-bef56a7/script/build +59 -0
- data/ext/clojure-clojurescript-bef56a7/script/clean +5 -0
- data/ext/clojure-clojurescript-bef56a7/script/closure-library-release/google-closure-library-third-party.pom.template +59 -0
- data/ext/clojure-clojurescript-bef56a7/script/closure-library-release/google-closure-library.pom.template +54 -0
- data/ext/clojure-clojurescript-bef56a7/script/closure-library-release/make-closure-library-jars.sh +87 -0
- data/ext/clojure-clojurescript-bef56a7/script/compile +41 -0
- data/ext/clojure-clojurescript-bef56a7/script/repl +13 -0
- data/ext/clojure-clojurescript-bef56a7/script/repl.bat +13 -0
- data/ext/clojure-clojurescript-bef56a7/script/repljs +15 -0
- data/ext/clojure-clojurescript-bef56a7/script/repljs.bat +14 -0
- data/ext/clojure-clojurescript-bef56a7/script/test +38 -0
- data/ext/clojure-clojurescript-bef56a7/script/test-compile +30 -0
- data/ext/clojure-clojurescript-bef56a7/src/clj/cljs/analyzer.clj +975 -0
- data/{vendor/assets → ext/clojure-clojurescript-bef56a7}/src/clj/cljs/closure.clj +173 -73
- data/ext/clojure-clojurescript-bef56a7/src/clj/cljs/compiler.clj +1081 -0
- data/ext/clojure-clojurescript-bef56a7/src/clj/cljs/core.clj +1158 -0
- data/{vendor/assets → ext/clojure-clojurescript-bef56a7}/src/clj/cljs/repl.clj +51 -25
- data/ext/clojure-clojurescript-bef56a7/src/clj/cljs/repl/browser.clj +258 -0
- data/ext/clojure-clojurescript-bef56a7/src/clj/cljs/repl/reflect.clj +75 -0
- data/{vendor/assets → ext/clojure-clojurescript-bef56a7}/src/clj/cljs/repl/rhino.clj +6 -5
- data/ext/clojure-clojurescript-bef56a7/src/clj/cljs/repl/server.clj +173 -0
- data/ext/clojure-clojurescript-bef56a7/src/clj/cljs/tagged_literals.clj +30 -0
- data/ext/clojure-clojurescript-bef56a7/src/cljs/cljs/core.cljs +7197 -0
- data/{vendor/assets → ext/clojure-clojurescript-bef56a7}/src/cljs/cljs/nodejs.cljs +1 -1
- data/{vendor/assets → ext/clojure-clojurescript-bef56a7}/src/cljs/cljs/nodejs_externs.js +0 -0
- data/{vendor/assets → ext/clojure-clojurescript-bef56a7}/src/cljs/cljs/nodejscli.cljs +1 -1
- data/ext/clojure-clojurescript-bef56a7/src/cljs/cljs/reader.cljs +551 -0
- data/{vendor/assets → ext/clojure-clojurescript-bef56a7}/src/cljs/clojure/browser/dom.cljs +59 -13
- data/{vendor/assets → ext/clojure-clojurescript-bef56a7}/src/cljs/clojure/browser/event.cljs +0 -0
- data/{vendor/assets → ext/clojure-clojurescript-bef56a7}/src/cljs/clojure/browser/net.cljs +8 -7
- data/{vendor/assets → ext/clojure-clojurescript-bef56a7}/src/cljs/clojure/browser/repl.cljs +2 -2
- data/ext/clojure-clojurescript-bef56a7/src/cljs/clojure/core/reducers.cljs +298 -0
- data/ext/clojure-clojurescript-bef56a7/src/cljs/clojure/data.cljs +162 -0
- data/ext/clojure-clojurescript-bef56a7/src/cljs/clojure/reflect.cljs +48 -0
- data/{vendor/assets → ext/clojure-clojurescript-bef56a7}/src/cljs/clojure/set.cljs +0 -0
- data/{vendor/assets → ext/clojure-clojurescript-bef56a7}/src/cljs/clojure/string.cljs +4 -10
- data/{vendor/assets → ext/clojure-clojurescript-bef56a7}/src/cljs/clojure/walk.cljs +0 -0
- data/{vendor/assets → ext/clojure-clojurescript-bef56a7}/src/cljs/clojure/zip.cljs +0 -0
- data/ext/clojure-clojurescript-bef56a7/test/cljs/cljs/binding_test.cljs +7 -0
- data/ext/clojure-clojurescript-bef56a7/test/cljs/cljs/binding_test_other_ns.cljs +3 -0
- data/ext/clojure-clojurescript-bef56a7/test/cljs/cljs/core_test.cljs +1678 -0
- data/ext/clojure-clojurescript-bef56a7/test/cljs/cljs/import_test.cljs +11 -0
- data/ext/clojure-clojurescript-bef56a7/test/cljs/cljs/import_test/foo.cljs +5 -0
- data/ext/clojure-clojurescript-bef56a7/test/cljs/cljs/letfn_test.cljs +19 -0
- data/ext/clojure-clojurescript-bef56a7/test/cljs/cljs/macro_test.cljs +6 -0
- data/ext/clojure-clojurescript-bef56a7/test/cljs/cljs/macro_test/macros.clj +5 -0
- data/ext/clojure-clojurescript-bef56a7/test/cljs/cljs/ns_test.cljs +14 -0
- data/ext/clojure-clojurescript-bef56a7/test/cljs/cljs/ns_test/bar.cljs +3 -0
- data/ext/clojure-clojurescript-bef56a7/test/cljs/cljs/ns_test/foo.cljs +7 -0
- data/ext/clojure-clojurescript-bef56a7/test/cljs/cljs/reader_test.cljs +124 -0
- data/ext/clojure-clojurescript-bef56a7/test/cljs/clojure/data_test.cljs +22 -0
- data/ext/clojure-clojurescript-bef56a7/test/cljs/clojure/string_test.cljs +97 -0
- data/ext/clojure-clojurescript-bef56a7/test/cljs/foo/ns_shadow_test.cljs +9 -0
- data/ext/clojure-clojurescript-bef56a7/test/cljs/test_runner.cljs +26 -0
- data/lib/clementine.rb +3 -24
- data/lib/clementine/clojurescript_engine.rb +9 -48
- data/lib/clementine/clojurescript_engine/base.rb +15 -0
- data/lib/clementine/clojurescript_engine/jruby.rb +46 -0
- data/lib/clementine/{clojurescript_engine_mri.rb → clojurescript_engine/mri.rb} +17 -10
- data/lib/clementine/version.rb +1 -1
- data/test/clojurescript_engine_test.rb +36 -14
- metadata +177 -83
- data/vendor/assets/lib/clojure.jar +0 -0
- data/vendor/assets/lib/compiler.jar +0 -0
- data/vendor/assets/lib/goog.jar +0 -0
- data/vendor/assets/lib/js.jar +0 -0
- data/vendor/assets/src/clj/cljs/compiler.clj +0 -1341
- data/vendor/assets/src/clj/cljs/core.clj +0 -702
- data/vendor/assets/src/clj/cljs/repl/browser.clj +0 -341
- data/vendor/assets/src/cljs/cljs/core.cljs +0 -3330
- data/vendor/assets/src/cljs/cljs/reader.cljs +0 -360
@@ -0,0 +1,16 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
|
3
|
+
if [ "$CLOJURESCRIPT_HOME" = "" ]; then
|
4
|
+
CLOJURESCRIPT_HOME="`dirname $0`/.."
|
5
|
+
fi
|
6
|
+
|
7
|
+
CLJSC_CP=''
|
8
|
+
for next in lib/*: src/clj: src/cljs: test/cljs; do
|
9
|
+
CLJSC_CP=$CLJSC_CP$CLOJURESCRIPT_HOME'/'$next
|
10
|
+
done
|
11
|
+
|
12
|
+
java -server -cp $CLJSC_CP clojure.main -e "
|
13
|
+
(require '[cljs.repl :as r])
|
14
|
+
(require '[cljs.repl.browser :as b])
|
15
|
+
(r/repl (b/repl-env))
|
16
|
+
"
|
@@ -0,0 +1,59 @@
|
|
1
|
+
#!/usr/bin/env bash
|
2
|
+
|
3
|
+
# This script must be run within the ClojureScript top-level project
|
4
|
+
# directory.
|
5
|
+
|
6
|
+
set -ex
|
7
|
+
|
8
|
+
cd `dirname $0`/..
|
9
|
+
|
10
|
+
DATE=`date '+%Y%m%d%H%M%S'`
|
11
|
+
WORKING="clojurescript_release_$DATE"
|
12
|
+
mkdir "$WORKING"
|
13
|
+
|
14
|
+
POM_TEMPLATE="pom.template.xml"
|
15
|
+
|
16
|
+
# The command `git describe --match v0.0` will return a string like
|
17
|
+
#
|
18
|
+
# v0.0-856-g329708b
|
19
|
+
#
|
20
|
+
# where 856 is the number of commits since the v0.0 tag. It will always
|
21
|
+
# find the v0.0 tag and will always return the total number of commits (even
|
22
|
+
# if the tag is v0.0.1).
|
23
|
+
REVISION=`git --no-replace-objects describe --match v0.0`
|
24
|
+
|
25
|
+
# Extract the version number from the string. Do this in two steps so
|
26
|
+
# it is a little easier to understand.
|
27
|
+
REVISION=${REVISION:5} # drop the first 5 characters
|
28
|
+
REVISION=${REVISION:0:${#REVISION}-9} # drop the last 9 characters
|
29
|
+
|
30
|
+
TAG=r$REVISION
|
31
|
+
|
32
|
+
POM_FILE="$WORKING/clojurescript-0.0-$REVISION.pom"
|
33
|
+
JAR_FILE="$WORKING/clojurescript-0.0-$REVISION.jar"
|
34
|
+
|
35
|
+
|
36
|
+
# `jar cf` errors on duplicate entries,
|
37
|
+
# so we have to assemble the directory manually
|
38
|
+
mkdir "$WORKING/jar_contents"
|
39
|
+
|
40
|
+
cp -R epl-v10.html src/clj/cljs src/cljs/cljs src/cljs/clojure \
|
41
|
+
"$WORKING/jar_contents"
|
42
|
+
|
43
|
+
jar cf "$JAR_FILE" -C "$WORKING/jar_contents" .
|
44
|
+
|
45
|
+
sed -e s/CLOJURESCRIPT_VERSION/0.0-$REVISION/ < "$POM_TEMPLATE" > "$POM_FILE"
|
46
|
+
|
47
|
+
mvn install:install-file -Dfile="$JAR_FILE" -DpomFile="$POM_FILE"
|
48
|
+
|
49
|
+
# For Hudson server
|
50
|
+
if [ "$HUDSON" = "true" ]; then
|
51
|
+
echo "Creating tag $TAG"
|
52
|
+
git tag -f "$TAG"
|
53
|
+
git push origin "$TAG"
|
54
|
+
|
55
|
+
mvn gpg:sign-and-deploy-file -Durl=https://oss.sonatype.org/service/local/staging/deploy/maven2/ -DrepositoryId=sonatype-nexus-staging -DpomFile="$POM_FILE" -Dfile="$JAR_FILE"
|
56
|
+
mvn nexus:staging-close nexus:staging-release -DtargetRepositoryId=releases -Dnexus.promote.autoSelectOverride=true
|
57
|
+
else
|
58
|
+
echo "Skipping Maven deployment and Git push because we are not on Hudson."
|
59
|
+
fi
|
@@ -0,0 +1,59 @@
|
|
1
|
+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
2
|
+
<modelVersion>4.0.0</modelVersion>
|
3
|
+
<groupId>org.clojure</groupId>
|
4
|
+
<artifactId>google-closure-library-third-party</artifactId>
|
5
|
+
<version>RELEASE_VERSION</version>
|
6
|
+
<packaging>jar</packaging>
|
7
|
+
<name>Google Closure Library Third-Party Extensions</name>
|
8
|
+
|
9
|
+
<url>http://code.google.com/p/closure-library/</url>
|
10
|
+
|
11
|
+
<description>
|
12
|
+
The Google Closure Library is a collection of JavaScript code
|
13
|
+
designed for use with the Google Closure JavaScript Compiler.
|
14
|
+
|
15
|
+
This non-official distribution was prepared by the ClojureScript
|
16
|
+
team at http://clojure.org/
|
17
|
+
|
18
|
+
This package contains extensions to the Google Closure Library
|
19
|
+
using third-party components, which may be distributed under
|
20
|
+
licenses other than the Apache license. Licenses for individual
|
21
|
+
library components may be found in source-code comments.
|
22
|
+
</description>
|
23
|
+
|
24
|
+
<licenses>
|
25
|
+
<license>
|
26
|
+
<name>The Apache Software License, Version 2.0</name>
|
27
|
+
<url>http://www.apache.org/licenses/LICENSE-2.0.html</url>
|
28
|
+
<distribution>repo</distribution>
|
29
|
+
</license>
|
30
|
+
</licenses>
|
31
|
+
|
32
|
+
<organization>
|
33
|
+
<name>Google</name>
|
34
|
+
<url>http://www.google.com</url>
|
35
|
+
</organization>
|
36
|
+
|
37
|
+
<developers>
|
38
|
+
<developer><name>Google, Inc.</name></developer>
|
39
|
+
<developer><name>Mohamed Mansour</name><email>hello@mohamedmansour.com</email></developer>
|
40
|
+
<developer><name>Bjorn Tipling</name><email>bjorn.tipling@gmail.com</email></developer>
|
41
|
+
<developer><name>SameGoal LLC</name><email>help@samegoal.com</email></developer>
|
42
|
+
<developer><name>Guido Tapia</name><email>guido.tapia@gmail.com</email></developer>
|
43
|
+
<developer><name>Andrew Mattie</name><email>amattie@gmail.com</email></developer>
|
44
|
+
<developer><name>Ilia Mirkin</name><email>ibmirkin@gmail.com</email></developer>
|
45
|
+
<developer><name>Ivan Kozik</name><email>ivan.kozik@gmail.com</email></developer>
|
46
|
+
<developer><name>Rich Dougherty</name><email>rich@rd.gen.nz</email></developer>
|
47
|
+
</developers>
|
48
|
+
|
49
|
+
<scm>
|
50
|
+
<connection>scm:svn:http://closure-library.googlecode.com/svn/trunk</connection>
|
51
|
+
<developerConnection>scm:svn:http://closure-library.googlecode.com/svn/trunk</developerConnection>
|
52
|
+
<url>http://code.google.com/p/closure-library/source/browse/#svn/trunk</url>
|
53
|
+
</scm>
|
54
|
+
|
55
|
+
<issueManagement>
|
56
|
+
<system>code.google.com</system>
|
57
|
+
<url>http://code.google.com/p/closure-library/issues</url>
|
58
|
+
</issueManagement>
|
59
|
+
</project>
|
@@ -0,0 +1,54 @@
|
|
1
|
+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
2
|
+
<modelVersion>4.0.0</modelVersion>
|
3
|
+
<groupId>org.clojure</groupId>
|
4
|
+
<artifactId>google-closure-library</artifactId>
|
5
|
+
<version>RELEASE_VERSION</version>
|
6
|
+
<packaging>jar</packaging>
|
7
|
+
<name>Google Closure Library</name>
|
8
|
+
|
9
|
+
<url>http://code.google.com/p/closure-library/</url>
|
10
|
+
|
11
|
+
<description>
|
12
|
+
The Google Closure Library is a collection of JavaScript code
|
13
|
+
designed for use with the Google Closure JavaScript Compiler.
|
14
|
+
|
15
|
+
This non-official distribution was prepared by the ClojureScript
|
16
|
+
team at http://clojure.org/
|
17
|
+
</description>
|
18
|
+
|
19
|
+
<licenses>
|
20
|
+
<license>
|
21
|
+
<name>The Apache Software License, Version 2.0</name>
|
22
|
+
<url>http://www.apache.org/licenses/LICENSE-2.0.html</url>
|
23
|
+
<distribution>repo</distribution>
|
24
|
+
</license>
|
25
|
+
</licenses>
|
26
|
+
|
27
|
+
<organization>
|
28
|
+
<name>Google</name>
|
29
|
+
<url>http://www.google.com</url>
|
30
|
+
</organization>
|
31
|
+
|
32
|
+
<developers>
|
33
|
+
<developer><name>Google, Inc.</name></developer>
|
34
|
+
<developer><name>Mohamed Mansour</name><email>hello@mohamedmansour.com</email></developer>
|
35
|
+
<developer><name>Bjorn Tipling</name><email>bjorn.tipling@gmail.com</email></developer>
|
36
|
+
<developer><name>SameGoal LLC</name><email>help@samegoal.com</email></developer>
|
37
|
+
<developer><name>Guido Tapia</name><email>guido.tapia@gmail.com</email></developer>
|
38
|
+
<developer><name>Andrew Mattie</name><email>amattie@gmail.com</email></developer>
|
39
|
+
<developer><name>Ilia Mirkin</name><email>ibmirkin@gmail.com</email></developer>
|
40
|
+
<developer><name>Ivan Kozik</name><email>ivan.kozik@gmail.com</email></developer>
|
41
|
+
<developer><name>Rich Dougherty</name><email>rich@rd.gen.nz</email></developer>
|
42
|
+
</developers>
|
43
|
+
|
44
|
+
<scm>
|
45
|
+
<connection>scm:svn:http://closure-library.googlecode.com/svn/trunk</connection>
|
46
|
+
<developerConnection>scm:svn:http://closure-library.googlecode.com/svn/trunk</developerConnection>
|
47
|
+
<url>http://code.google.com/p/closure-library/source/browse/#svn/trunk</url>
|
48
|
+
</scm>
|
49
|
+
|
50
|
+
<issueManagement>
|
51
|
+
<system>code.google.com</system>
|
52
|
+
<url>http://code.google.com/p/closure-library/issues</url>
|
53
|
+
</issueManagement>
|
54
|
+
</project>
|
data/ext/clojure-clojurescript-bef56a7/script/closure-library-release/make-closure-library-jars.sh
ADDED
@@ -0,0 +1,87 @@
|
|
1
|
+
#!/usr/bin/env bash
|
2
|
+
|
3
|
+
set -e
|
4
|
+
|
5
|
+
## Set the version numbers to download and release:
|
6
|
+
|
7
|
+
ZIP_VERSION="20111110-r1376"
|
8
|
+
RELEASE_VERSION="0.0-1376-2"
|
9
|
+
|
10
|
+
## These only need to change if the URL or file names change:
|
11
|
+
|
12
|
+
ZIP_BASE="closure-library-${ZIP_VERSION}"
|
13
|
+
ZIP_FILE="${ZIP_BASE}.zip"
|
14
|
+
ZIP_URL="http://closure-library.googlecode.com/files/${ZIP_FILE}"
|
15
|
+
|
16
|
+
RELEASE_BASE="google-closure-library-${RELEASE_VERSION}"
|
17
|
+
JAR_FILE="$RELEASE_BASE.jar"
|
18
|
+
POM_FILE="$RELEASE_BASE.pom"
|
19
|
+
|
20
|
+
THIRD_PARTY_RELEASE_BASE="google-closure-library-third-party-${RELEASE_VERSION}"
|
21
|
+
THIRD_PARTY_JAR_FILE="$THIRD_PARTY_RELEASE_BASE.jar"
|
22
|
+
THIRD_PARTY_POM_FILE="$THIRD_PARTY_RELEASE_BASE.pom"
|
23
|
+
|
24
|
+
POM_TEMPLATE_FILE="google-closure-library.pom.template"
|
25
|
+
THIRD_PARTY_POM_TEMPLATE_FILE="google-closure-library-third-party.pom.template"
|
26
|
+
|
27
|
+
## Main script begins:
|
28
|
+
|
29
|
+
cd `dirname $0`
|
30
|
+
|
31
|
+
DATE=`date "+%Y%m%d%H%M%S"`
|
32
|
+
WORKING="closure-release-${DATE}"
|
33
|
+
|
34
|
+
rm -rf "$WORKING"
|
35
|
+
mkdir "$WORKING"
|
36
|
+
|
37
|
+
if [ ! -e "$ZIP_FILE" ]; then
|
38
|
+
curl "$ZIP_URL" -o "$ZIP_FILE"
|
39
|
+
fi
|
40
|
+
|
41
|
+
if [ ! -d "$WORKING/$ZIP_BASE" ]; then
|
42
|
+
( cd "$WORKING" && unzip "../$ZIP_FILE" )
|
43
|
+
fi
|
44
|
+
|
45
|
+
cd "$WORKING"
|
46
|
+
|
47
|
+
## Modify deps.js for third-party JAR; see CLJS-276:
|
48
|
+
|
49
|
+
perl -p -i -e 's/..\/..\/third_party\/closure\/goog\///go' \
|
50
|
+
closure/goog/deps.js
|
51
|
+
|
52
|
+
rm -f ./third_party/closure/goog/base.js \
|
53
|
+
./third_party/closure/goog/deps.js
|
54
|
+
|
55
|
+
## Build the JARs:
|
56
|
+
|
57
|
+
jar cf "$JAR_FILE" \
|
58
|
+
AUTHORS \
|
59
|
+
LICENSE \
|
60
|
+
README \
|
61
|
+
-C closure goog \
|
62
|
+
-C closure css
|
63
|
+
|
64
|
+
jar cf "$THIRD_PARTY_JAR_FILE" \
|
65
|
+
AUTHORS \
|
66
|
+
LICENSE \
|
67
|
+
README \
|
68
|
+
-C third_party/closure goog
|
69
|
+
|
70
|
+
## Generate the POM files:
|
71
|
+
|
72
|
+
perl -p -e "s/RELEASE_VERSION/$RELEASE_VERSION/go" \
|
73
|
+
"../$POM_TEMPLATE_FILE" \
|
74
|
+
> "$POM_FILE"
|
75
|
+
|
76
|
+
perl -p -e "s/RELEASE_VERSION/$RELEASE_VERSION/go" \
|
77
|
+
"../$THIRD_PARTY_POM_TEMPLATE_FILE" \
|
78
|
+
> "$THIRD_PARTY_POM_FILE"
|
79
|
+
|
80
|
+
## Uncomment these lines for an official release:
|
81
|
+
|
82
|
+
# for FILE in "$JAR_FILE" "$THIRD_PARTY_JAR_FILE" "$POM_FILE" "$THIRD_PARTY_POM_FILE"
|
83
|
+
# do
|
84
|
+
# gpg --verbose --armor --detach-sign \
|
85
|
+
# --default-key "Clojure/core (build.clojure.org Release Key version 2) <core@clojure.com>" \
|
86
|
+
# "$FILE"
|
87
|
+
# done
|
@@ -0,0 +1,41 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
|
3
|
+
rm -f core.js
|
4
|
+
|
5
|
+
java -server -Xmx2G -Xms2G -Xmn256m -cp 'lib/*:src/clj:src/cljs' clojure.main - <<CLJ
|
6
|
+
(require :reload '[cljs.compiler :as comp] '[clojure.java.io :as io] '[cljs.core])
|
7
|
+
(comp/compile-file (io/resource "cljs/core.cljs") "core.js")
|
8
|
+
CLJ
|
9
|
+
|
10
|
+
java -jar closure/compiler/compiler.jar \
|
11
|
+
--compilation_level=SIMPLE_OPTIMIZATIONS \
|
12
|
+
--warning_level=VERBOSE \
|
13
|
+
--formatting=PRETTY_PRINT \
|
14
|
+
--jscomp_off=missingProperties \
|
15
|
+
--js closure/library/closure/goog/base.js \
|
16
|
+
--js closure/library/closure/goog/string/string.js \
|
17
|
+
--js closure/library/closure/goog/useragent/jscript.js \
|
18
|
+
--js closure/library/closure/goog/string/stringbuffer.js \
|
19
|
+
--js closure/library/closure/goog/object/object.js \
|
20
|
+
--js closure/library/closure/goog/debug/error.js \
|
21
|
+
--js closure/library/closure/goog/asserts/asserts.js \
|
22
|
+
--js closure/library/closure/goog/array/array.js \
|
23
|
+
--js core.js \
|
24
|
+
> coresimple.js
|
25
|
+
|
26
|
+
java -jar closure/compiler/compiler.jar \
|
27
|
+
--compilation_level=ADVANCED_OPTIMIZATIONS \
|
28
|
+
--warning_level=VERBOSE \
|
29
|
+
--formatting=PRETTY_PRINT \
|
30
|
+
--jscomp_off=missingProperties \
|
31
|
+
--js closure/library/closure/goog/base.js \
|
32
|
+
--js closure/library/closure/goog/string/string.js \
|
33
|
+
--js closure/library/closure/goog/useragent/jscript.js \
|
34
|
+
--js closure/library/closure/goog/string/stringbuffer.js \
|
35
|
+
--js closure/library/closure/goog/object/object.js \
|
36
|
+
--js closure/library/closure/goog/debug/error.js \
|
37
|
+
--js closure/library/closure/goog/asserts/asserts.js \
|
38
|
+
--js closure/library/closure/goog/array/array.js \
|
39
|
+
--js core.js \
|
40
|
+
> coreadvanced.js
|
41
|
+
|
@@ -0,0 +1,13 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
|
3
|
+
if [ "$CLOJURESCRIPT_HOME" = "" ]; then
|
4
|
+
CLOJURESCRIPT_HOME="`dirname $0`/.."
|
5
|
+
fi
|
6
|
+
|
7
|
+
CLJSC_CP=''
|
8
|
+
for next in lib/*: src/clj: src/cljs: test/cljs; do
|
9
|
+
CLJSC_CP="${CLJSC_CP}${CLOJURESCRIPT_HOME}/${next}"
|
10
|
+
done
|
11
|
+
|
12
|
+
java -server -cp "$CLJSC_CP" clojure.main
|
13
|
+
|
@@ -0,0 +1,13 @@
|
|
1
|
+
@echo off
|
2
|
+
setLocal EnableDelayedExpansion
|
3
|
+
|
4
|
+
if "%CLOJURESCRIPT_HOME%" == "" set CLOJURESCRIPT_HOME=%~dp0..\
|
5
|
+
|
6
|
+
set CLASSPATH=%CLOJURESCRIPT_HOME%src\clj;%CLOJURESCRIPT_HOME%src\cljs"
|
7
|
+
for /R "%CLOJURESCRIPT_HOME%\lib" %%a in (*.jar) do (
|
8
|
+
set CLASSPATH=!CLASSPATH!;%%a
|
9
|
+
)
|
10
|
+
set CLASSPATH=!CLASSPATH!"
|
11
|
+
|
12
|
+
java -server -cp "%CLASSPATH%" clojure.main
|
13
|
+
|
@@ -0,0 +1,15 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
|
3
|
+
if [ "$CLOJURESCRIPT_HOME" = "" ]; then
|
4
|
+
CLOJURESCRIPT_HOME="`dirname $0`/.."
|
5
|
+
fi
|
6
|
+
|
7
|
+
CLJSC_CP=''
|
8
|
+
for next in lib/*: src/clj: src/cljs: test/cljs; do
|
9
|
+
CLJSC_CP="${CLJSC_CP}${CLOJURESCRIPT_HOME}/${next}"
|
10
|
+
done
|
11
|
+
|
12
|
+
java -server -cp "$CLJSC_CP" clojure.main -e \
|
13
|
+
"(require '[cljs.repl :as repl])
|
14
|
+
(require '[cljs.repl.rhino :as rhino])
|
15
|
+
(repl/repl (rhino/repl-env) :warn-on-undeclared true)"
|
@@ -0,0 +1,14 @@
|
|
1
|
+
@echo off
|
2
|
+
setLocal EnableDelayedExpansion
|
3
|
+
|
4
|
+
if "%CLOJURESCRIPT_HOME%" == "" set CLOJURESCRIPT_HOME=%~dp0..\
|
5
|
+
|
6
|
+
set CLASSPATH=%CLOJURESCRIPT_HOME%src\clj;%CLOJURESCRIPT_HOME%src\cljs"
|
7
|
+
for /R "%CLOJURESCRIPT_HOME%\lib" %%a in (*.jar) do (
|
8
|
+
set CLASSPATH=!CLASSPATH!;%%a
|
9
|
+
)
|
10
|
+
set CLASSPATH=!CLASSPATH!"
|
11
|
+
|
12
|
+
set REPL_CLJ="(require '[cljs.repl :as repl])(require '[cljs.repl.rhino :as rhino])(repl/repl (rhino/repl-env))"
|
13
|
+
|
14
|
+
java -server -cp "%CLASSPATH%" clojure.main -e %REPL_CLJ%
|
@@ -0,0 +1,38 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
|
3
|
+
rm -rf out
|
4
|
+
mkdir -p out
|
5
|
+
|
6
|
+
possible=3
|
7
|
+
ran=0
|
8
|
+
|
9
|
+
#bin/cljsc test >out/core-test.js
|
10
|
+
bin/cljsc test "{:optimizations :advanced}" >out/core-advanced-test.js
|
11
|
+
|
12
|
+
if [ "$V8_HOME" = "" ]; then
|
13
|
+
echo "V8_HOME not set, skipping V8 tests"
|
14
|
+
else
|
15
|
+
echo "Testing with V8"
|
16
|
+
"${V8_HOME}/d8" out/core-advanced-test.js
|
17
|
+
# TODO: figure out path problem when not in advanced mode
|
18
|
+
# "${V8_HOME}/d8" out/core-test.js
|
19
|
+
ran=$[ran+1]
|
20
|
+
fi
|
21
|
+
|
22
|
+
if [ "$SPIDERMONKEY_HOME" = "" ]; then
|
23
|
+
echo "SPIDERMONKEY_HOME not set, skipping SpiderMonkey tests"
|
24
|
+
else
|
25
|
+
echo "Testing with SpiderMonkey"
|
26
|
+
${SPIDERMONKEY_HOME}/js -m -n -a -f out/core-advanced-test.js
|
27
|
+
ran=$[ran+1]
|
28
|
+
fi
|
29
|
+
|
30
|
+
if [ "$JSC_HOME" = "" ]; then
|
31
|
+
echo "JSC_HOME not set, skipping JavaScriptCore tests"
|
32
|
+
else
|
33
|
+
echo "Testing with JavaScriptCore"
|
34
|
+
"${JSC_HOME}/jsc" -f out/core-advanced-test.js
|
35
|
+
ran=$[ran+1]
|
36
|
+
fi
|
37
|
+
|
38
|
+
echo "Tested with $ran out of $possible possible js targets"
|
@@ -0,0 +1,30 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
|
3
|
+
echo "Generating sample javascript"
|
4
|
+
mkdir compilation
|
5
|
+
|
6
|
+
cat >compilation/test.js <<EOF
|
7
|
+
function create_alert(msg) {
|
8
|
+
alert(msg);
|
9
|
+
}
|
10
|
+
EOF
|
11
|
+
|
12
|
+
echo "Testing compilation"
|
13
|
+
cd compilation
|
14
|
+
for file in *
|
15
|
+
do
|
16
|
+
if [ -f "$file" ] ; then
|
17
|
+
name=${file%.*}
|
18
|
+
java -jar ../closure/compiler/compiler.jar --js "$file" --js_output_file "$name-compiled.js"
|
19
|
+
fi
|
20
|
+
done
|
21
|
+
cd ..
|
22
|
+
|
23
|
+
echo "\nOriginal:"
|
24
|
+
cat compilation/test.js
|
25
|
+
|
26
|
+
echo "\nOptimized:"
|
27
|
+
cat compilation/test-compiled.js
|
28
|
+
|
29
|
+
echo "\nCleaning up"
|
30
|
+
rm -rf compilation
|