yada

Danny Almeida 2020-04-02T00:16:18.048800Z

@dominicm @mccraigmccraig This was part of my learning about yada and how to use it to serve resources. just a few basic resources of different types i.e. As part of that excercise, i wanted to add a clojurescript frontend and added clojurescript and shadow-cljs as a dependency. That's when it started giving the error. If I commented out shadow-cljs, the error went away. I did use lein deps :tree and tools.deps clj -Stree, but I couldn't figure out from the output, a way to resolve this. But adding clj-time as a dependency stopped the error.

mccraigmccraig 2020-04-02T06:32:42.050400Z

sounds like you were in jar-hell @dionysius.almeida - the way out usually involves adding explicit deps and excluding some implicit deps

mccraigmccraig 2020-04-02T06:34:21.052400Z

with lein i find it helpful to use :pedantic? :abort , which forces you to consider every transitive dep conflict explicitly, or it errors

mccraigmccraig 2020-04-02T06:35:32.053300Z

i don't know if there's an equivalent deps.edn construct

dominicm 2020-04-02T06:37:16.055800Z

Deps doesn't have this problem so much. It doesn't have that option.

Danny Almeida 2020-04-02T06:39:19.058800Z

@mccraigmccraig Yeah..learn't something new i guess. Also, including :pedantic? :abort caused each run to suggest more exclusions ..and it kept going on, so I gave up on it. Since I consider myself a beginner to clojure, this is not something I would want to spend time looking into. For now, if I encounter any such errors, I understand that adding an explicit dependency this the way to go. Cheers 🙂

mccraigmccraig 2020-04-02T06:39:30.059300Z

i seem to recall reading that deps had a saner conflict resolution by default

dominicm 2020-04-02T06:39:52.059900Z

I think what's more likely is that clj-time was coming in by accident, and being used.

dominicm 2020-04-02T06:40:40.061300Z

Then in an updated version of whatever brought in clj-time, no longer brought it in.

Danny Almeida 2020-04-02T06:41:15.061400Z

I read somewhere that deps resorts to newest version while lein resolves to older version..not sure if this is true

Danny Almeida 2020-04-02T06:42:03.062400Z

@dominicm not sure what you mean ? It's being used by yada/cookies.clj ..isn't that how it's being included ?

mccraigmccraig 2020-04-02T06:42:45.062600Z

ah, yeah, probably true

dominicm 2020-04-02T06:45:06.063500Z

@dionysius.almeida in that case I'd love to see your deps edn, and I should double check that yada behaves here

Danny Almeida 2020-04-02T06:46:55.064900Z

Here's my deps.edn, nothing special. This is after adding clj-time

{:paths ["src/clj" "src/cljs" "resources"]
 :deps {org.clojure/clojure        {:mvn/version "1.10.0"}
        yada                       {:mvn/version "1.4.0-alpha1"}
        integrant                  {:mvn/version "0.8.0"}
        prismatic/schema           {:mvn/version "1.1.12"}
        clj-http                   {:mvn/version "3.10.0"}
        com.cognitect/transit-clj  {:mvn/version "1.0.324"}
        org.clojure/test.check     {:mvn/version "1.0.0"}
        com.taoensso/timbre        {:mvn/version "4.10.0"}
        clj-time                   {:mvn/version "0.15.2"}
        com.fzakaria/slf4j-timbre  {:mvn/version "0.3.19"} ;; To log slf4j to timbre
        }

 :aliases
 {:dev  {:extra-paths ["dev"]
         :extra-deps {org.clojure/clojurescript    {:mvn/version "1.10.520"}
                      thheller/shadow-cljs         {:mvn/version "2.8.92"}
                      binaryage/devtools           {:mvn/version "0.9.10"}
                      org.clojure/tools.namespace  {:mvn/version "1.0.0"}
                      keechma                      {:mvn/version "0.3.5"}
                      }
         }}
 }

dominicm 2020-04-02T06:47:01.065100Z

It would indeed appear that yada does not depend on clj time!

dominicm 2020-04-02T06:47:39.066100Z

That's great, thanks. I'll have a little poke at the before after tree, but this seems to be a yada bug.

Danny Almeida 2020-04-02T06:48:10.066600Z

@dominicm thanks 👍:skin-tone-3: