Created
January 15, 2012 23:51
-
-
Save djpowell/1618073 to your computer and use it in GitHub Desktop.
Batch files for ClojureScript One on Windows
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
From cdc729c0ac9dbc0caf8b2ed36888a45a2f582d52 Mon Sep 17 00:00:00 2001 | |
From: David Powell <[email protected]> | |
Date: Sun, 15 Jan 2012 23:28:22 +0000 | |
Subject: [PATCH] Batch files for Windows Including a batch file to bootstrap | |
clojurescript | |
--- | |
script/build.bat | 21 ++++++++++++++++ | |
script/build.clj | 3 ++ | |
script/cljs-repl.bat | 9 +++++++ | |
script/cljs-repl.clj | 5 ++++ | |
script/deps.bat | 32 ++++++++++++++++++++++++ | |
script/get-url.bat | 2 + | |
script/get_url.clj | 9 +++++++ | |
script/one-clojurescript-bootstrap.bat | 42 ++++++++++++++++++++++++++++++++ | |
script/repl.bat | 9 +++++++ | |
script/run.bat | 9 +++++++ | |
script/setup_classpath.bat | 3 ++ | |
script/startserver.clj | 3 ++ | |
script/test.bat | 9 +++++++ | |
script/test.clj | 3 ++ | |
14 files changed, 159 insertions(+), 0 deletions(-) | |
create mode 100644 script/build.bat | |
create mode 100644 script/build.clj | |
create mode 100644 script/cljs-repl.bat | |
create mode 100644 script/cljs-repl.clj | |
create mode 100644 script/deps.bat | |
create mode 100644 script/get-url.bat | |
create mode 100644 script/get_url.clj | |
create mode 100644 script/one-clojurescript-bootstrap.bat | |
create mode 100644 script/repl.bat | |
create mode 100644 script/run.bat | |
create mode 100644 script/setup_classpath.bat | |
create mode 100644 script/startserver.clj | |
create mode 100644 script/test.bat | |
create mode 100644 script/test.clj | |
diff --git a/script/build.bat b/script/build.bat | |
new file mode 100644 | |
index 0000000..74d2ebd | |
--- /dev/null | |
+++ b/script/build.bat | |
@@ -0,0 +1,21 @@ | |
+@echo off | |
+ | |
+pushd %~dp0.. | |
+ | |
+mkdir out | |
+ | |
+echo Creating out\public... | |
+xcopy /E /I /Y public out\public | |
+del out\public\index.html | |
+del out\public\design.html | |
+del /S /Q out\public\javascripts\* | |
+ | |
+call script\setup_classpath.bat | |
+ | |
+echo Create advanced compiled JavaScript... | |
+java -server -cp %CLJSC_CP% clojure.main -i script\build.clj | |
+ | |
+popd | |
+ | |
+echo [build complete] | |
+ | |
diff --git a/script/build.clj b/script/build.clj | |
new file mode 100644 | |
index 0000000..15d3e9b | |
--- /dev/null | |
+++ b/script/build.clj | |
@@ -0,0 +1,3 @@ | |
+(use 'one.tools) | |
+ (use 'one.sample.config) | |
+ (build-project config) | |
diff --git a/script/cljs-repl.bat b/script/cljs-repl.bat | |
new file mode 100644 | |
index 0000000..357921a | |
--- /dev/null | |
+++ b/script/cljs-repl.bat | |
@@ -0,0 +1,9 @@ | |
+@echo off | |
+ | |
+pushd %~dp0.. | |
+ | |
+call script\setup_classpath.bat | |
+ | |
+java -server -cp %CLJSC_CP% clojure.main -i script\cljs-repl.clj --repl | |
+ | |
+popd | |
diff --git a/script/cljs-repl.clj b/script/cljs-repl.clj | |
new file mode 100644 | |
index 0000000..d584e5e | |
--- /dev/null | |
+++ b/script/cljs-repl.clj | |
@@ -0,0 +1,5 @@ | |
+(use '[one.sample.dev-server :only (run-server cljs-repl)]) | |
+ (use '[clojure.java.browse :only (browse-url)]) | |
+ (run-server) | |
+ (future (Thread/sleep 3000) (browse-url "http://localhost:8080/development")) | |
+ (cljs-repl) | |
diff --git a/script/deps.bat b/script/deps.bat | |
new file mode 100644 | |
index 0000000..26a1117 | |
--- /dev/null | |
+++ b/script/deps.bat | |
@@ -0,0 +1,32 @@ | |
+@echo off | |
+ | |
+pushd %~dp0.. | |
+ | |
+echo Getting lein deps... | |
+call lein deps | |
+ | |
+cd lib | |
+ | |
+call git clone https://github.com/levand/domina.git | |
+ | |
+call git clone https://github.com/clojure/clojurescript.git | |
+ | |
+cd domina | |
+call git checkout -b clojurescript-one-lib c0eb06f677e0f9f72537682e3c702dd27b03e2e4 | |
+ | |
+cd ..\clojurescript | |
+call git checkout -b clojurescript-one-lib 329708bdd0f039241b187bc639836d9997d8fbd4 | |
+ | |
+copy ..\..\script\one-clojurescript-bootstrap.bat script\ | |
+copy ..\..\script\one-clojurescript-bootstrap.bat script\ | |
+call script\one-clojurescript-bootstrap.bat | |
+ | |
+echo Copy ClojureScript deps to lib directory... | |
+ | |
+copy lib\compiler.jar .. | |
+copy lib\goog.jar .. | |
+copy lib\js.jar .. | |
+ | |
+popd | |
+ | |
+echo [Deps Completed] | |
diff --git a/script/get-url.bat b/script/get-url.bat | |
new file mode 100644 | |
index 0000000..e85bef9 | |
--- /dev/null | |
+++ b/script/get-url.bat | |
@@ -0,0 +1,2 @@ | |
+@echo off | |
+java -cp %~dp0;%~dp0..\lib\clojure-1.3.0.jar clojure.main -m get-url %1 %2 | |
diff --git a/script/get_url.clj b/script/get_url.clj | |
new file mode 100644 | |
index 0000000..7a8bce8 | |
--- /dev/null | |
+++ b/script/get_url.clj | |
@@ -0,0 +1,9 @@ | |
+(ns get-url | |
+ (:require [clojure.java.io :as io])) | |
+ | |
+(defn -main | |
+ [url path] | |
+ (with-open [out (io/output-stream (io/file path)) | |
+ in (io/input-stream url)] | |
+ (io/copy in out))) | |
+ | |
diff --git a/script/one-clojurescript-bootstrap.bat b/script/one-clojurescript-bootstrap.bat | |
new file mode 100644 | |
index 0000000..4f55ef1 | |
--- /dev/null | |
+++ b/script/one-clojurescript-bootstrap.bat | |
@@ -0,0 +1,42 @@ | |
+@echo off | |
+ | |
+mkdir lib | |
+ | |
+rem Clojure already fetched by clojurescriptone | |
+copy ..\clojure-1.3.0.jar lib\clojure.jar | |
+ | |
+echo Fetching Google Closure library... | |
+mkdir closure\library | |
+cd closure\library | |
+call ..\..\..\..\script\get-url.bat http://closure-library.googlecode.com/files/closure-library-20110323-r790.zip closure-library-20110323-r790.zip | |
+jar -xf closure-library-20110323-r790.zip | |
+echo Cleaning up Google Closure library archive... | |
+del closure-library-20110323-r790.zip | |
+cd .. | |
+ | |
+echo Fetching Google Closure compiler... | |
+mkdir compiler | |
+cd compiler | |
+call ..\..\..\..\script\get-url.bat http://closure-compiler.googlecode.com/files/compiler-latest.zip compiler-latest.zip | |
+jar -xf compiler-latest.zip | |
+echo Cleaning up Google Closure compiler archive... | |
+del compiler-latest.zip | |
+cd ..\.. | |
+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 | |
+ | |
+echo Fetching Rhino... | |
+call ..\..\script\get-url.bat http://ftp.mozilla.org/pub/mozilla.org/js/rhino1_7R3.zip rhino1_7R3.zip | |
+jar -xf rhino1_7R3.zip | |
+echo Copying rhino1_7R3\js.jar to lib\js.jar... | |
+copy rhino1_7R3\js.jar lib\js.jar | |
+echo Cleaning up Rhino directory... | |
+rmdir /s /q rhino1_7R3 | |
+echo Cleaning up Rhino archive... | |
+del rhino1_7R3.zip | |
+ | |
+echo Copying closure\compiler\compiler.jar to lib\compiler.jar | |
+copy closure\compiler\compiler.jar lib | |
+ | |
+echo [Bootstrap Completed] | |
diff --git a/script/repl.bat b/script/repl.bat | |
new file mode 100644 | |
index 0000000..934a884 | |
--- /dev/null | |
+++ b/script/repl.bat | |
@@ -0,0 +1,9 @@ | |
+@echo off | |
+ | |
+pushd %~dp0\.. | |
+ | |
+call script\setup_classpath.bat | |
+ | |
+java -server -cp %CLJSC_CP% clojure.main | |
+ | |
+popd | |
diff --git a/script/run.bat b/script/run.bat | |
new file mode 100644 | |
index 0000000..3b15e98 | |
--- /dev/null | |
+++ b/script/run.bat | |
@@ -0,0 +1,9 @@ | |
+@echo off | |
+ | |
+pushd %~dp0.. | |
+ | |
+call script\setup_classpath.bat | |
+ | |
+java -server -cp %CLJSC_CP% clojure.main -i script\startserver.clj --repl | |
+ | |
+popd | |
diff --git a/script/setup_classpath.bat b/script/setup_classpath.bat | |
new file mode 100644 | |
index 0000000..baa2cd1 | |
--- /dev/null | |
+++ b/script/setup_classpath.bat | |
@@ -0,0 +1,3 @@ | |
+set CLOJURESCRIPT_HOME=lib\clojurescript | |
+ | |
+set CLJSC_CP=lib\*;lib\dev\*;%CLOJURESCRIPT_HOME%\src\clj;%CLOJURESCRIPT_HOME%\src\cljs;%CLOJURESCRIPT_HOME%\test\cljs;lib\domina\src\cljs;src\app\clj;src\app\cljs;src\app\cljs-macros;src\lib\clj;src\lib\cljs;test;templates | |
diff --git a/script/startserver.clj b/script/startserver.clj | |
new file mode 100644 | |
index 0000000..6a5d410 | |
--- /dev/null | |
+++ b/script/startserver.clj | |
@@ -0,0 +1,3 @@ | |
+(use 'one.sample.dev-server) | |
+ (run-server) | |
+ (println "The application is being served from localhost:8080") | |
diff --git a/script/test.bat b/script/test.bat | |
new file mode 100644 | |
index 0000000..b250e2d | |
--- /dev/null | |
+++ b/script/test.bat | |
@@ -0,0 +1,9 @@ | |
+@echo off | |
+ | |
+pushd %~dp0.. | |
+ | |
+call script\setup_classpath.bat | |
+ | |
+java -server -cp %CLJSC_CP% clojure.main -i script\test.clj | |
+ | |
+popd | |
diff --git a/script/test.clj b/script/test.clj | |
new file mode 100644 | |
index 0000000..d44bf98 | |
--- /dev/null | |
+++ b/script/test.clj | |
@@ -0,0 +1,3 @@ | |
+(use 'one.sample.test.suite) | |
+ (run-all) | |
+ (shutdown-agents) | |
-- | |
1.7.7.msysgit.1 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Thanks!
Work for me on windows 7