~/work/tmp810/xanadu > clj --helpVersion: 1.10.1.561Usage: clojure [dep-opt*] [--] [init-opt*] [main-opt] [arg*]clj [dep-opt*] [--] [init-opt*] [main-opt] [arg*]The clojure script is a runner for Clojure. clj is a wrapperfor interactive repl use. These scripts ultimately construct and....
~/work/tmp810/xanadu > clj -Spathresources:target:src/clj:src/cljc:src/cljs:test/cljs:test-figwheel-main:/Users/alanthompson/.m2/repository/com/cognitect/transit-java/0.8.332/transit-java-0.8.332.jar:/Users/alanthompson/.m2/repository/com/google/elemental2/elemental2-core/1.0.0-RC1/elemental2-core-1.0.0-RC1.jar:/Users/alanthompson/.m2/repository/org/clojure/data.json/0.2.6/data.json-0.2.6.jar:/Users/alanthompson/.m2/repository/org/clojure/clojure/1.10.1/clojure-1.10.1.jar:/Users/alanthompson/.m2/repository/day8/re-frame/test/0.1.5/test-0.1.5.jar:/Users/alanthompson/.m2/repository/commons-codec/commons-codec/1.11/commons-codec-1.11.jar:/Users/alanthompson/.m2/repository/cljsjs/material-ui-currency-textfield/0.8.6-0/material-ui-currency-textfield-0.8.6-0.jar:/Users/alanthompson/.m2/repository/org/clojure/tools.analyzer/1.0.0/tools.analyzer-1.0.0.jar:/Users/alanthompson/.m2/repository/com/bhauman/cljs-test-display/0.1.1/cljs-test-display-0.1.1.jar:/Users/alanthompson/.m2/repository/org/eclipse/jetty/jetty-xml/9.4.28.v20200408/jetty-xml-9.4.28.v20200408.jar:/Users/alanthompson/.m2/repository/com/bhauman/figwheel-repl/0.2.11/figwheel-repl-0.2.11.jar:/Users/alanthompson/.m2/repository/org/eclipse/jetty/jetty-servlet/9.4.28.v20200408/jetty-servlet-9.4.28.v20200408.jar:/Users/alanthompson/.m2/repository/ring/ring-devel/1.8.1/ring-devel-1.8.1.jar:/Users/alanthompson/.m2/repository/com/google/errorprone/error_prone_annotations/2.3.1/error_prone_annotations-2.3.1.jar:/Users/alanthompson/.m2/repository/org/clojure/tools.logging/0.3.1/tools.logging-0.3.1.jar:/Users/alanthompson/.m2/repository/org/clojure/core.specs.alpha/0.2.44/core.specs.alpha-0.2.44.jar:/Users/alanthompson/.m2/repository/co/deps/ring-etag-middleware/0.2.0/ring-etag-middleware-0.2.0.jar:/Users/alanthompson/.m2/repository/expound/expound/0.7.2/expound-0.7.2.jar:/Users/alanthompson/.m2/repository/org/clojure/spec.alpha/0.2.176/spec.alpha-0.2.176.jar:/Users/alanthompson/.m2/repository/com/cemerick/url/0.1.1/url-0.1.1.jar:
.....<snip>.....
-----------------~/work/tmp810/xanadu > clj -SpathDEPRECATED: Libs must be qualified, change deps-ancient => deps-ancient/deps-ancient (deps.edn)DEPRECATED: Libs must be qualified, change reagent => reagent/reagent (deps.edn)DEPRECATED: Libs must be qualified, change ns-tracker => ns-tracker/ns-tracker (deps.edn)DEPRECATED: Libs must be qualified, change camel-snake-kebab => camel-snake-kebab/camel-snake-kebab (deps.edn)DEPRECATED: Libs must be qualified, change bidi => bidi/bidi (deps.edn)DEPRECATED: Libs must be qualified, change orchestra => orchestra/orchestra (deps.edn)DEPRECATED: Libs must be qualified, change cljs-ajax => cljs-ajax/cljs-ajax (deps.edn)DEPRECATED: Libs must be qualified, change expound => expound/expound (deps.edn)DEPRECATED: Libs must be qualified, change re-frame => re-frame/re-frame (deps.edn)DEPRECATED: Libs must be qualified, change re-frame-utils => re-frame-utils/re-frame-utils (deps.edn)DEPRECATED: Libs must be qualified, change cljs-bean => cljs-bean/cljs-bean (deps.edn)/Users/alanthompson/.m2/repository/alandipert/storage-atom/1.2.4/storage-atom-1.2.4.jar:/Users/alanthompson/.m2/repository/com/google/errorprone/error_prone_annotations/2.3.1/error_prone_annotations-2.3.1.jar:/Users/alanthompson/.m2/repository/org/clojure/core.cache/1.0.207/core.cache-1.0.207.jar:/Users/alanthompson/.m2/repository/com/google/jsinterop/jsinterop-annotations/1.0.2/jsinterop-annotations-1.0.2.jar:/Users/alanthompson/.m2/repository/compliment/compliment/0.3.6/compliment-0.3.6.jar:/Users/alanthompson/.m2/repository/ring/ring-headers/0.3.0/ring-headers-0.3.0.jar:/Users/alanthompson/.m2/repository/cljs-bean/cljs-bean/1.4.0/cljs-bean-1.4.0.jar:/Users/alanthompson/.m2/repository/hawk/hawk/0.2.11/hawk-0.2.11.jar:/Users/alanthompson/.m2/repository/binaryage/devtools/1.0.0/devtools-1.0.0.jar:/Users/alanthompson/.m2/repository/org/eclipse/jetty/websocket/websocket-api/9.4.28.v20200408/websocket-api-9.4.28.v20200408.jar:/Users/alanthompson/.m2/repository/org/apache/httpcomponents/httpasyncclient/4.1.3/httpasyncclient-4.1.3.jar:/Users/alanthompson/.m2/repository/org/checkerframework/checker-qual/2.0.0/checker-qual-2.0.0.jar:/Users/alanthompson/.m2/repository/ns-tracker/ns-tracker/0.3.1/ns-tracker-0.3.1.jar:/Users/alanthompson/.m2/repository/cljsjs/react-select/2.4.4-0/react-select-2.4.4-0.jar:/Users/alanthompson/.m2/repository/org/javassist/javassist/3.18.1-GA/javassist-3.18.1-GA.jar:/Users/alanthompson/.m2/repository/com/google/protobuf/protobuf-java/3.11.1/protobuf-java-3.11.1.jar:/Users/alanthompson/.m2/repository/org/fusesource/jansi/jansi/1.16/jansi-1.16.jar:/Users/alanthompson/.m2/repository/com/cognitect/transit-clj/0.8.309/transit-clj-0.8.309.jar:/Users/alanthompson/.m2/repository/org/codehaus/mojo/animal-sniffer-annotations/1.14/animal-sniffer-annotations-1.14.jar:/Users/alanthompson/.m2/repository/org/apache/httpcomponents/httpclient/4.5.3/httpclient-4.5.3.jar:test-figwheel-main:/Users/alanthompson/.m2/repository/com/cognitect/transit-cljs/0.8.256/transit-cljs-0.8.256.jar:.....<snip>.....:/Users/alanthompson/.m2/repository/zprint/zprint/0.5.1/zprint-0.5.1.jar:resources:/Users/alanthompson/.m2/repository/org/clojure/tools.analyzer/1.0.0/tools.analyzer-1.0.0.jar:/Users/alanthompson/.m2/repository/re-frame/re-frame/0.10.5/re-frame-0.10.5.jar:/Users/alanthompson/.m2/repository/rewrite-cljs/rewrite-cljs/0.4.4/rewrite-cljs-0.4.4.jar:/Users/alanthompson/.m2/repository/net/cgrand/macrovich/0.2.0/macrovich-0.2.0.jar:/Users/alanthompson/.m2/repository/org/clojure/clojurescript/1.10.764/clojurescript-1.10.764.jar:/Users/alanthompson/.m2/repository/com/google/elemental2/elemental2-core/1.0.0-RC1/elemental2-core-1.0.0-RC1.jar:/Users/alanthompson/.m2/repository/org/eclipse/jetty/jetty-client/9.4.28.v20200408/jetty-client-9.4.28.v20200408.jar
Debux Test
Changing the order of classpath entry and not having paths be at the beginning of the CLASSPATH will break existing code that uses `(io/resource ...)` to load resources from the CLASSPATH.While in theory the order of the classpath should not matter, in practice it does, often involuntarily.
Fighweel-main's default behavior is to load `public/index.html` which works fine if the local paths come first, but will fail if any other JAR has a `public/index.html` resource.And as we learned, they do!
Please consider going back to the old, defined behavior.
All other build tools I know have - for good or bad - a defined CLASSPATH order.
Here's some maven-specific discussion: https://stackoverflow.com/questions/793054/maven-classpath-order-issue.They have a defined order since 2.0.9. and declaration order is considered for transitive dependencies conflict.
Intellij's Dependencies tab in Module settings: You can re-order the dependencies and they reflect in the classpath.
lein classpath -> local paths added first, JARs afterwardsPlease consider returning to a :paths first, then :deps in a stable order.
I know it is not pretty and it is not desirable for code to be dependent on that, but resource-loading uses the CLASSPATH and that makes the order of dependencies intrinsically linked to locating resources.
I'd also rather fighweel-main behave differently, but it relies on (io/resource "public/index.html")
~/work/tmp810/xanadu > clj -e "((requiring-resolve 'clojure.java.io/resource) \"public/index.html\")"
DEPRECATED: Libs must be qualified, change deps-ancient => deps-ancient/deps-ancient (deps.edn)DEPRECATED: Libs must be qualified, change reagent => reagent/reagent (deps.edn)DEPRECATED: Libs must be qualified, change ns-tracker => ns-tracker/ns-tracker (deps.edn)DEPRECATED: Libs must be qualified, change camel-snake-kebab => camel-snake-kebab/camel-snake-kebab (deps.edn)DEPRECATED: Libs must be qualified, change bidi => bidi/bidi (deps.edn)DEPRECATED: Libs must be qualified, change orchestra => orchestra/orchestra (deps.edn)DEPRECATED: Libs must be qualified, change cljs-ajax => cljs-ajax/cljs-ajax (deps.edn)DEPRECATED: Libs must be qualified, change expound => expound/expound (deps.edn)DEPRECATED: Libs must be qualified, change re-frame => re-frame/re-frame (deps.edn)DEPRECATED: Libs must be qualified, change re-frame-utils => re-frame-utils/re-frame-utils (deps.edn)DEPRECATED: Libs must be qualified, change cljs-bean => cljs-bean/cljs-bean (deps.edn)
#object[java.net.URL 0x6c345c5f "file:/Users/alanthompson/work/tmp810/xanadu/resources/public/index.html"]
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clo...@googlegroups.com
Note that posts from new members are moderated - please be patient with your first post.
To unsubscribe from this group, send email to
clojure+u...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups "Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email to clojure+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/clojure/CAOdgdgz88M5jfbSOb2yTkehh3b32uQ6rh0bqa44T7J7hnP7LBQ%40mail.gmail.com.
You received this message because you are subscribed to a topic in the Google Groups "Clojure" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/clojure/WI3ddZRK4Bg/unsubscribe.
To unsubscribe from this group and all its topics, send an email to clojure+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/clojure/CAN67zA36F4Hsobu%3DOt4-DPrmcxsHVK9f%3DsUo1p9g1shg%3DZaOuQ%40mail.gmail.com.
Just 2 quick points before I go back to migrate to shadow-cljs & leiningen ;)"just does not seem well defined "This is not a line of argument you want to pursue when we are talking about maven, who has had a stable order for what feels like decades now.If you need a current link: https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Transitive_Dependencies(search for "first")
To your comment re Intellij: you can actually use Intellij to build and it uses its own project configuration to do that and cobble together the classpath (in many cases it merely syncs with maven/lein etc.). In a way, Intellij acts like clj: It builds a classpath and runs stuff.
Also, arguing that "JARs need to be fixed" is interesting, as I can get *any* resource with `(io/resource...)` and will get different answers depending on CLASSPATH order.
If that order changes in between minor versions of clj, that makes it an unstable build system.
Just try to io-resource '/log4j.properties', for funsies. If in version A of clj I'm getting my own /log4j.properties and in version I'm getting the one from some other JAR, it's a problem.If I runfind . -name "*.jar" -exec unzip -l {} \; | awk '{print $4}' | sort | lessin ~/.m2to crudely get all file names for all my cached jars,I can find 4 instances of 'public/index.html'3 of 'public/css/style.css' etc. etc.
Please return to at least having :paths at the front of the CLASSPATH.
None of these libraries are broken. They just include resources. Also, I don't think it is realistic to tell library authors to please move certain files out of the way because my build tool randomizes my classpath. That is not going to happen. People will keep including things like log4j.properties that are in potential conflict with a local file or files in other JAR paths.
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clo...@googlegroups.com
Note that posts from new members are moderated - please be patient with your first post.
To unsubscribe from this group, send email to
clojure+u...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups "Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email to clojure+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/clojure/81e969d2-91d2-4fc3-bdfd-8e509fc304bdn%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/clojure/CAOdgdgzMs1bscsnYAj6M_ksFpKHtOkhMKnOfLsFm1_hDFwUqoQ%40mail.gmail.com.
brew install clojure/tools/clo...@1.10.1.645
brew link --overwrite clo...@1.10.1.645
To view this discussion on the web visit https://groups.google.com/d/msgid/clojure/CAN67zA2N436wYz%3DQfaXn70XWFHTXmNFr3q_8cTfSRJamtpV3NA%40mail.gmail.com.
On Sep 14, 2020, at 1:00 AM, 'bed...@yahoo.com' via Clojure <clo...@googlegroups.com> wrote:
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clo...@googlegroups.com
Note that posts from new members are moderated - please be patient with your first post.
To unsubscribe from this group, send email to
clojure+u...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to a topic in the Google Groups "Clojure" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/clojure/WI3ddZRK4Bg/unsubscribe.
To unsubscribe from this group and all its topics, send an email to clojure+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/clojure/e229b29e-304d-4e96-bf26-59b255e3920bn%40googlegroups.com.