Using latest google closing with clojurescript?

How do I get clojurescript and lein-cljsbuild to use the latest google close version instead of last year? I would like to use new features like websockets abstraction layer.

I tried to make a jar of the last copy and install it using lein-localrepo, but this does not seem to affect.

Any suggestions?

+4
source share
1 answer

You can use a different version of the Google Closure compiler by simply eliminating its dependency on Clojurescript in project.clj and adding another version. The following is an alternative example of a project that comes with lein cljs-build using the latest version of Clojurscript and the Google Closure compiler.

(defproject cljsbuild-example-simple "0.3.4" :description "A simple example of how to use lein-cljsbuild" :source-paths ["src-clj"] :dependencies [[org.clojure/clojure "1.5.1"] [com.google.javascript/closure-compiler "v20131014"] [org.clojure/clojurescript "0.0-1934" :exclusions [org.apache.ant/ant com.google.javascript/closure-compiler]] [compojure "1.0.4"] [hiccup "1.0.0"]] :plugins [[lein-cljsbuild "0.3.4"] [lein-ring "0.7.0"]] :cljsbuild { :builds [{:source-paths ["src-cljs"] :compiler {:output-to "resources/public/js/main.js" :optimizations :whitespace :pretty-print true}}]} :ring {:handler example.routes/app}) 

As a result of this dependency tree:

  [clojure-complete "0.2.3" :exclusions [[org.clojure/clojure]]] [com.google.javascript/closure-compiler "v20131014"] [args4j "2.0.16"] [com.google.code.findbugs/jsr305 "1.3.9"] [com.google.guava/guava "15.0"] [com.google.protobuf/protobuf-java "2.4.1"] [org.json/json "20090211"] [compojure "1.0.4"] [clout "1.0.1"] [org.clojure/core.incubator "0.1.0"] [org.clojure/tools.macro "0.1.0"] [ring/ring-core "1.1.0"] [clj-time "0.3.7"] [joda-time "2.0"] [commons-codec "1.6"] [commons-fileupload "1.2.1"] [commons-io "2.1"] [javax.servlet/servlet-api "2.5"] [hiccup "1.0.0"] [org.clojure/clojure "1.5.1"] [org.clojure/clojurescript "0.0-1934" :exclusions [[org.apache.ant/ant] [com.google.javascript/closure-compiler]]] [org.clojure/data.json "0.2.3"] [org.clojure/google-closure-library "0.0-20130212-95c19e7f0f5f"] [org.clojure/google-closure-library-third-party "0.0-20130212-95c19e7f0f5f"] [org.clojure/tools.reader "0.7.9"] [org.mozilla/rhino "1.7R4"] [org.clojure/tools.nrepl "0.2.3" :exclusions [[org.clojure/clojure]]] 

Then compile it:

 $ lein cljsbuild once Compiling ClojureScript. Compiling "resources/public/js/main.js" from ["src-cljs"]... Successfully compiled "resources/public/js/main.js" in 9.181874 seconds. 

Hope this helps!

+1
source

Source: https://habr.com/ru/post/1447473/


All Articles