clementine 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|