Skip to content

Commit

Permalink
1.0.1
Browse files Browse the repository at this point in the history
  • Loading branch information
cemerick committed Dec 12, 2013
1 parent 5617e66 commit 1e77137
Show file tree
Hide file tree
Showing 9 changed files with 36 additions and 35 deletions.
40 changes: 20 additions & 20 deletions README.md
Expand Up @@ -7,12 +7,12 @@ to install and allows you to configure the ClojureScript compiler from within yo

Beyond basic compiler support, lein-cljsbuild can optionally help with a few other things:

* [Launching REPLs for interactive development] (https://github.com/emezeske/lein-cljsbuild/blob/1.0.1-SNAPSHOT/doc/REPL.md)
* [Launching ClojureScript tests] (https://github.com/emezeske/lein-cljsbuild/blob/1.0.1-SNAPSHOT/doc/TESTING.md)
* [Sharing code between Clojure and ClojureScript] (https://github.com/emezeske/lein-cljsbuild/blob/1.0.1-SNAPSHOT/doc/CROSSOVERS.md)
* [Launching REPLs for interactive development] (https://github.com/emezeske/lein-cljsbuild/blob/1.0.1/doc/REPL.md)
* [Launching ClojureScript tests] (https://github.com/emezeske/lein-cljsbuild/blob/1.0.1/doc/TESTING.md)
* [Sharing code between Clojure and ClojureScript] (https://github.com/emezeske/lein-cljsbuild/blob/1.0.1/doc/CROSSOVERS.md)

The latest version of lein-cljsbuild is `1.0.1-SNAPSHOT`.
[See the release notes here.](https://github.com/emezeske/lein-cljsbuild/blob/1.0.1-SNAPSHOT/doc/RELEASE-NOTES.md)
The latest version of lein-cljsbuild is `1.0.1`.
[See the release notes here.](https://github.com/emezeske/lein-cljsbuild/blob/1.0.1/doc/RELEASE-NOTES.md)

## Requirements

Expand All @@ -27,7 +27,7 @@ file in the `:plugins` section:

```clj
(defproject lein-cljsbuild-example "1.2.3"
:plugins [[lein-cljsbuild "1.0.1-SNAPSHOT"]])
:plugins [[lein-cljsbuild "1.0.1"]])
```

In addition, _you should add an explicit ClojureScript dependency to your
Expand All @@ -44,15 +44,15 @@ can use lein-cljsbuild with any ClojureScript version.
## Just Give Me a Damned Example Already!

See the
[example-projects] (https://github.com/emezeske/lein-cljsbuild/blob/1.0.1-SNAPSHOT/example-projects)
[example-projects] (https://github.com/emezeske/lein-cljsbuild/blob/1.0.1/example-projects)
directory for a couple of simple examples of how to use lein-cljsbuild. The
[simple project] (https://github.com/emezeske/lein-cljsbuild/blob/1.0.1-SNAPSHOT/example-projects/simple)
[simple project] (https://github.com/emezeske/lein-cljsbuild/blob/1.0.1/example-projects/simple)
shows a dead-simple "compile only" configuration, which is a good place to start. The
[advanced project] (https://github.com/emezeske/lein-cljsbuild/blob/1.0.1-SNAPSHOT/example-projects/advanced)
[advanced project] (https://github.com/emezeske/lein-cljsbuild/blob/1.0.1/example-projects/advanced)
contains examples of how to use the extended features of the plugin.

Also, see the
[sample.project.clj] (https://github.com/emezeske/lein-cljsbuild/blob/1.0.1-SNAPSHOT/sample.project.clj)
[sample.project.clj] (https://github.com/emezeske/lein-cljsbuild/blob/1.0.1/sample.project.clj)
file for an exhaustive list of all options supported by lein-cljsbuild.

## Basic Configuration
Expand All @@ -62,7 +62,7 @@ of your `project.clj` file. A simple project might look like this:

```clj
(defproject lein-cljsbuild-example "1.2.3"
:plugins [[lein-cljsbuild "1.0.1-SNAPSHOT"]]
:plugins [[lein-cljsbuild "1.0.1"]]
:cljsbuild {
:builds [{
; The path to the top-level ClojureScript source directory:
Expand All @@ -76,7 +76,7 @@ of your `project.clj` file. A simple project might look like this:
```

For an exhaustive list of the configuration options supported by lein-cljsbuild, see the
[sample.project.clj] (https://github.com/emezeske/lein-cljsbuild/blob/1.0.1-SNAPSHOT/sample.project.clj)
[sample.project.clj] (https://github.com/emezeske/lein-cljsbuild/blob/1.0.1/sample.project.clj)
file.

## Basic Usage
Expand Down Expand Up @@ -127,7 +127,7 @@ the ClojureScript as well if enabled.
```

If you are using the
[crossovers] (https://github.com/emezeske/lein-cljsbuild/blob/1.0.1-SNAPSHOT/doc/CROSSOVERS.md)
[crossovers] (https://github.com/emezeske/lein-cljsbuild/blob/1.0.1/doc/CROSSOVERS.md)
feature, and want the `:crossover-path` included in the JAR file, add this entry to your
top-level `:cljsbuild` configuration:

Expand All @@ -143,7 +143,7 @@ and will build all of them in parallel:

```clj
(defproject lein-cljsbuild-example "1.2.3"
:plugins [[lein-cljsbuild "1.0.1-SNAPSHOT"]]
:plugins [[lein-cljsbuild "1.0.1"]]
:cljsbuild {
:builds [
{:source-paths ["src-cljs-main"]
Expand All @@ -161,7 +161,7 @@ only that one:

```clj
(defproject lein-cljsbuild-example "1.2.3"
:plugins [[lein-cljsbuild "1.0.1-SNAPSHOT"]]
:plugins [[lein-cljsbuild "1.0.1"]]
:cljsbuild {
:builds [
{:source-paths ["src-cljs-main"]
Expand All @@ -178,7 +178,7 @@ them as a map instead of a vector:

```clj
(defproject lein-cljsbuild-example "1.2.3"
:plugins [[lein-cljsbuild "1.0.1-SNAPSHOT"]]
:plugins [[lein-cljsbuild "1.0.1"]]
:cljsbuild {
:builds {
:main
Expand All @@ -194,27 +194,27 @@ You can also build multiple configurations at once:
$ lein cljsbuild auto main other

See the
[example-projects/advanced] (https://github.com/emezeske/lein-cljsbuild/blob/1.0.1-SNAPSHOT/example-projects/advanced)
[example-projects/advanced] (https://github.com/emezeske/lein-cljsbuild/blob/1.0.1/example-projects/advanced)
directory for a working example of a project that uses this feature.

## REPL Support

Lein-cljsbuild has built-in support for launching ClojureScript REPLs in a variety
of ways. See the
[REPL documentation] (https://github.com/emezeske/lein-cljsbuild/blob/1.0.1-SNAPSHOT/doc/REPL.md)
[REPL documentation] (https://github.com/emezeske/lein-cljsbuild/blob/1.0.1/doc/REPL.md)
for more details.

## Testing Support

Lein-cljsbuild has built-in support for running external ClojureScript test processes. See the
[testing documentation] (https://github.com/emezeske/lein-cljsbuild/blob/1.0.1-SNAPSHOT/doc/TESTING.md)
[testing documentation] (https://github.com/emezeske/lein-cljsbuild/blob/1.0.1/doc/TESTING.md)
for more details.

## Sharing Code Between Clojure and ClojureScript

Sharing code with lein-cljsbuild is accomplished via the configuration
of "crossovers". See the
[crossovers documentation] (https://github.com/emezeske/lein-cljsbuild/blob/1.0.1-SNAPSHOT/doc/CROSSOVERS.md)
[crossovers documentation] (https://github.com/emezeske/lein-cljsbuild/blob/1.0.1/doc/CROSSOVERS.md)
for more details.

## ClojureScript Version
Expand Down
3 changes: 2 additions & 1 deletion cljs-compat/src/cljsbuild/compat.clj
@@ -1,7 +1,8 @@
(ns cljsbuild.compat
(:use clojure.test))

(def matrix {"1.0.1-SNAPSHOT" {:cljs ["0.0-2014"]}
(def matrix {"1.0.1" {:cljs ["0.0-2014"]}
"1.0.1-SNAPSHOT" {:cljs ["0.0-2014"]}
"1.0.0" {:cljs ["0.0-2014"]}
"1.0.0-SNAPSHOT" {:cljs ["0.0-2014"]}
"1.0.0-alpha2" {:cljs ["0.0-2014"]}})
Expand Down
2 changes: 1 addition & 1 deletion doc/CROSSOVERS.md
Expand Up @@ -35,7 +35,7 @@ And your `project.clj` file looks like this:

```clj
(defproject lein-cljsbuild-example "1.2.3"
:plugins [[lein-cljsbuild "1.0.1-SNAPSHOT"]]
:plugins [[lein-cljsbuild "1.0.1"]]
:source-paths ["src-clj"]
:cljsbuild {
; Each entry in the :crossovers vector describes a Clojure namespace
Expand Down
4 changes: 2 additions & 2 deletions doc/REPL.md
Expand Up @@ -60,7 +60,7 @@ between them. To configure a launch preset, add an entry to the `:repl-launch-c

```clj
(defproject lein-cljsbuild-example "1.2.3"
:plugins [[lein-cljsbuild "1.0.1-SNAPSHOT"]]
:plugins [[lein-cljsbuild "1.0.1"]]
:cljsbuild {
:repl-listen-port 9000
:repl-launch-commands
Expand Down Expand Up @@ -99,7 +99,7 @@ treated as an option map. Currently, the only supported options are
```

For more ideas on how to use `repl-launch`, take a look at the
[advanced example project] (https://github.com/emezeske/lein-cljsbuild/blob/1.0.1-SNAPSHOT/example-projects/advanced)
[advanced example project] (https://github.com/emezeske/lein-cljsbuild/blob/1.0.1/example-projects/advanced)
It has several examples of useful launch commands, with descriptions in its README.
Note that, in particular, the possibilities with
[PhantomJS] (http://www.phantomjs.org)
Expand Down
8 changes: 4 additions & 4 deletions doc/TESTING.md
Expand Up @@ -7,7 +7,7 @@ test:

```clj
(defproject lein-cljsbuild-example "1.2.3"
:plugins [[lein-cljsbuild "1.0.1-SNAPSHOT"]]
:plugins [[lein-cljsbuild "1.0.1"]]
:cljsbuild {
:test-commands
{"my-test" ["phantomjs" "phantom/unit-test.js" "..."]})
Expand Down Expand Up @@ -38,18 +38,18 @@ browser to do, except it does not have a GUI. PhantomJS can be automated via Ja
and thus is convenient to use for running automated tests.

The
[advanced example project] (https://github.com/emezeske/lein-cljsbuild/blob/1.0.1-SNAPSHOT/example-projects/advanced)
[advanced example project] (https://github.com/emezeske/lein-cljsbuild/blob/1.0.1/example-projects/advanced)
contains an example of how to use PhantomJS for running ClojureScript tests. There are several
components that come together to make this work:

1. A `:builds` entry dedicated to the test code in the `test-cljs` directory. This compiles
the unit tests into JavaScript (so that it they can be run by PhantomJS).

2. A
[static HTML page] (https://github.com/emezeske/lein-cljsbuild/blob/1.0.1-SNAPSHOT/example-projects/advanced/resources/private/html/unit-test.html)
[static HTML page] (https://github.com/emezeske/lein-cljsbuild/blob/1.0.1/example-projects/advanced/resources/private/html/unit-test.html)
with a `<script>` tag that will pull in the compiled unit test code when the page is loaded.

3. A `:test-commands` entry that runs PhantomJS, passing it
[a simple script] (https://github.com/emezeske/lein-cljsbuild/blob/1.0.1-SNAPSHOT/example-projects/advanced/phantom/unit-test.js)
[a simple script] (https://github.com/emezeske/lein-cljsbuild/blob/1.0.1/example-projects/advanced/phantom/unit-test.js)
. This script directs PhantomJS to load the static HTML page, and once it's loaded,
to call the ClojureScript unit test entry point.
4 changes: 2 additions & 2 deletions example-projects/advanced/project.clj
@@ -1,12 +1,12 @@
(defproject cljsbuild-example-advanced "1.0.1-SNAPSHOT"
(defproject cljsbuild-example-advanced "1.0.1"
:description "An advanced example of how to use lein-cljsbuild"
:source-paths ["src-clj"]
:dependencies [[org.clojure/clojure "1.5.1"]
[org.clojure/clojurescript "0.0-2014"
:exclusions [org.apache.ant/ant]]
[compojure "1.1.6"]
[hiccup "1.0.4"]]
:plugins [[lein-cljsbuild "1.0.1-SNAPSHOT"]
:plugins [[lein-cljsbuild "1.0.1"]
[lein-ring "0.8.7"]]
; Enable the lein hooks for: clean, compile, test, and jar.
:hooks [leiningen.cljsbuild]
Expand Down
4 changes: 2 additions & 2 deletions example-projects/simple/project.clj
@@ -1,12 +1,12 @@
(defproject cljsbuild-example-simple "1.0.1-SNAPSHOT"
(defproject cljsbuild-example-simple "1.0.1"
:description "A simple example of how to use lein-cljsbuild"
:source-paths ["src-clj"]
:dependencies [[org.clojure/clojure "1.5.1"]
[org.clojure/clojurescript "0.0-2014"
:exclusions [org.apache.ant/ant]]
[compojure "1.1.6"]
[hiccup "1.0.4"]]
:plugins [[lein-cljsbuild "1.0.1-SNAPSHOT"]
:plugins [[lein-cljsbuild "1.0.1"]
[lein-ring "0.8.7"]]
:cljsbuild {
:builds [{:source-paths ["src-cljs"]
Expand Down
4 changes: 2 additions & 2 deletions plugin/project.clj
@@ -1,4 +1,4 @@
(defproject lein-cljsbuild "1.0.1-SNAPSHOT"
(defproject lein-cljsbuild "1.0.1"
:description "ClojureScript Autobuilder Plugin"
:url "http://github.com/emezeske/lein-cljsbuild"
:license
Expand All @@ -12,6 +12,6 @@
:dev {
:dependencies [
[midje "1.5.1"]
[cljsbuild "1.0.1-SNAPSHOT"]]
[cljsbuild "1.0.1"]]
:plugins [[lein-midje "2.0.4"]]}}
:eval-in-leiningen true)
2 changes: 1 addition & 1 deletion support/project.clj
@@ -1,4 +1,4 @@
(defproject cljsbuild "1.0.1-SNAPSHOT"
(defproject cljsbuild "1.0.1"
:description "ClojureScript Autobuilder"
:url "http://github.com/emezeske/lein-cljsbuild"
:license
Expand Down

0 comments on commit 1e77137

Please sign in to comment.