on a side note, if you want to use rebl with lread's rewrite efforts, it may be helpful to arrange for rebl to not refer to the version of rewrite-clj it wants (via its cljfmt dependency). based on a tip from lread, i now have the following alias in my ~/.clojure/deps.edn:
:rebl-11-rewrite-less
{:extra-deps {org.clojure/core.async {:mvn/version "0.4.490"}
;; deps for file datafication (0.9.149 or later)
org.clojure/data.csv {:mvn/version "0.1.4"}
org.clojure/data.json {:mvn/version "0.2.3"}
org.yaml/snakeyaml {:mvn/version "1.23"}
org.clojure/clojure {:mvn/version "1.10.1"}
com.cognitect/rebl
;; adjust to match your install location
{:local/root "../REBL/REBL.jar"
:exclusions [rewrite-clj/rewrite-clj]}
org.openjfx/javafx-fxml {:mvn/version "11.0.1"}
org.openjfx/javafx-controls {:mvn/version "11.0.1"}
org.openjfx/javafx-graphics {:mvn/version "11.0.1"}
org.openjfx/javafx-media {:mvn/version "11.0.1"}
org.openjfx/javafx-swing {:mvn/version "11.0.1"}
org.openjfx/javafx-base {:mvn/version "11.0.1"}
org.openjfx/javafx-web {:mvn/version "11.0.1"}}
;;:main-opts ["-m" "cognitect.rebl"]
}
note the :exclusions
portion. also, i don't tend to use the main-opts part so i have that commented out.hmmm... even though I’ve been doing this exclusion myself during development, I did not really think about it. I was thinking that rewrite-cljc would be a drop in replacement for rewrite-clj, but because its maven coordinates will be different there will be this potential collission.
hmm
I jotted down some notes on the issue: https://github.com/lread/rewrite-cljs-playground/blob/master/doc/design/01-merging-rewrite-clj-and-rewrite-cljs.adoc#not-a-drop-in-replacement-in-progress
thanks for writing this up -- am processing now
perhaps testing with a few concrete use cases, it will become clearer whether the exclusions for multiple libraries idea is practical.
now to find those cases...
my 2 cts: I'd go for the rewrite-cljc namespace