Thanks Gary. That fixed it once I realised that another library, cljs-ajax, was also pulling in clojurescript. After moving clojurescript, hiccups and cljs-alax into the :dev dependencies, I can now run the app or create an uberjar or uberwar and it doesn't pull in Clojurescript's dependencies.
On 9 June 2014 00:00, Gary Trakhman <[email protected]> wrote: > Well, like I mentioned, you can wrap dev-specific dependencies into a :dev > profile. > > :profiles {:dev {:dependencies {[[org.clojure/clojurescript "Blah"] > [hiccups "hiccups-version"]}}} > > they will get merged in when the dev profile is active, but won't end up > in artifacts. You could put your :cljsbuild settings in there too, but > there's no harm in leaving it top-level. > > https://github.com/technomancy/leiningen/blob/master/doc/PROFILES.md > > > On Sun, Jun 8, 2014 at 6:52 PM, Chris Jenkins <[email protected]> > wrote: > >> 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. >> > > -- > 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.
