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.

Reply via email to