If I remove clojurescript from my :dependencies in project.clj, two things happen:
1) When I run lein cljsbuild, it complains and says: "WARNING: It appears your project does not contain a ClojureScript dependency. One will be provided for you by lein-cljsbuild ...<snip>" - lein-cljsbuild seems to be saying that I *do* need to specify a dependency on Clojurescript. Is this correct? 2) My app depends on hiccups 0.3.0, which in turn pulls in clojurescript 0.0-2069 This is slightly earlier than the level that I just removed from my dependencies... but I still don't really want that dependency to be there. Is hiccups doing the wrong thing here? So I still have the same question really: Whether I'm writing an app or a library, how can I depend upon Clojurescript in such a way that I can run lein cljsbuild at dev time and generate some .js files, and such that, at run time, my server-side Clojure code can then forget that Clojurescript even exists (and certainly not depend upon the Clojurescript compiler)? On 8 June 2014 23:40, Gary Trakhman <[email protected]> wrote: > Clojurescript libs shouldn't specify a Clojurescript dependency (I think). > > You can perhaps separate the clojurescript part of your app into a > separate project or lein profile. > > There are other issues that can come about by mixing and matching JVM + > CLJS deps, one nasty one I hit is a tools.reader incompatibility. CLJS > itself is sensitive to tools.reader versions, and it took an hour or so to > debug. > > > On Sun, Jun 8, 2014 at 5:58 PM, Chris Jenkins <[email protected]> > wrote: > >> Hi, >> >> I notice that if my project.clj specifies a dependency on Clojurescript >> (or on a Clojurescript library which in turn pulls in Clojurescript), this >> causes my project to have a dependency on the Google Closure compiler and >> all of its dependencies. If I understand this correctly, it means that >> stuff like Guava and FindBugs is on the classpath of my application at >> runtime and those libraries are included in any uberjar or uberwar that I >> export. >> >> Is this necessary? Is there any need for my project to see these >> libraries at runtime and, if not, is there any way to suppress this >> behaviour? >> >> The reason that this is particular importance to me right now is that i'm >> trying to deploy an uberwar of my Clojure+Clojurescript app to a WebSphere >> Liberty app server and I think I'm hitting a bug in Guava 15 (which is >> pulled in by the Google Closure compiler): [1] . I can work around this by >> changing my Clojurescript dependency to point to an earlier version of >> Clojurescript (which indirectly then depends on an earlier version of Guava >> that doesn't suffer from the bug) but there has to be a better way to make >> this work. >> >> I guess this follows on from Nikita's recent question about how to >> specify Clojurescript dependencies [2]. Is there a way to specify a >> dependency on Clojurescript such that I can use it at dev time but not pull >> in its dependencies at runtime? >> >> Cheers, >> Chris >> >> [1] https://code.google.com/p/guava-libraries/issues/detail?id=1527 >> [2] https://groups.google.com/forum/#!topic/clojurescript/ppGsyD0xmyw >> >> -- >> Note that posts from new members are moderated - please be patient with >> your first post. >> --- >> You received this message because you are subscribed to the Google Groups >> "ClojureScript" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To post to this group, send email to [email protected]. >> Visit this group at http://groups.google.com/group/clojurescript. >> > > -- > Note that posts from new members are moderated - please be patient with > your first post. > --- > You received this message because you are subscribed to the Google Groups > "ClojureScript" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/clojurescript. > -- Note that posts from new members are moderated - please be patient with your first post. --- You received this message because you are subscribed to the Google Groups "ClojureScript" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/clojurescript.
