Incompatibility between versions of Guava in dev-local and clojurescript compiler

Hi!

dev-cloud depends on Google Guava version for Android (com.google.guava/guava 28.2-android) which doesn’t contain com.google.common.collect.Streams. But Streams class is required for ClojureScript compiler, in particular for google closure compiler (therefore Guava for JRE, not for Android).

As a result, I cannot build ClojureScript for development (we use Figwheel via API in REPL, so it’s in the same runtime).

Nevertheless, I’ve managed to run dev-local together with cljs compiler by excluding guava-for-android:

com.datomic/dev-local   {:mvn/version "0.9.184"  :exclusions [com.google.guava/guava]}

In this situation, dev-cloud uses guava from ClojureScript dependencies, which is com.google.guava/guava 25.1-jre in my case (clojurescript version 1.10.764).

It looks like everything works at this moment, dev-local and cljs compiler. But I wonder if there are some pitfalls with that and you need the version for android?

Hi Ilshad,

I wanted to let you know that we’re looking into this and I’ll update here with our findings.

Thanks,
Jaret