clojure/clojurescript — pull request #20 by magomimmo (2012-12-07 02:35:48+00:00)
Title: 419 Exclusion of CLJS source file/s or directory/ies to be excluded from compilation

The patch includes some tests:
1. `script/test-exclusion`, which simply test the exclusion of every cljs source file from compilation;
2. `script/run-compiler-test`, which runs the available test assertions relative to the new features.

>NOTE 1: cljsc command line is very fragile and has been tested only with very few happy paths.

It has been defined a new protocol named `Excludable`. It has the function `-exclude` which has been implemented for `clojure.lang.PersistentVector`, `java.lang.String`, and `nil`. In this way it will be possibile in the future to extend `Excludable` protocol to *namespace* and/or even to *single function*.

>NOTE 2: lein-cljsbuild plug-in works without any modification, just use the new `:exclude` option in the `:compiler` options of your `project.clj`.

```clojure
;;; example 1
... :compiler {:output-to "public/js/main.js"
:optmizations :advanced
:exclude ""
}

;;; example 2
... :compiler {:output-to "public/js/main.js"
:optmizations :advanced
:exclude ["" ... "]"
}
```
Hope you'll find it you useful.

My best
Mimmo