This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2019-08-06
Channels
- # aleph (1)
- # beginners (180)
- # calva (16)
- # cider (29)
- # clj-kondo (47)
- # cljsrn (5)
- # clojure (40)
- # clojure-dev (39)
- # clojure-europe (1)
- # clojure-italy (25)
- # clojure-nl (9)
- # clojure-russia (1)
- # clojure-spec (8)
- # clojure-uk (83)
- # clojurescript (54)
- # core-async (2)
- # datomic (20)
- # defnpodcast (7)
- # figwheel (6)
- # fulcro (6)
- # jobs (5)
- # joker (4)
- # kaocha (4)
- # luminus (4)
- # off-topic (8)
- # onyx (6)
- # pathom (14)
- # re-frame (28)
- # reagent (30)
- # remote-jobs (2)
- # shadow-cljs (88)
- # spacemacs (2)
- # specter (17)
- # sql (25)
- # tools-deps (78)
- # xtdb (1)
- # yada (2)
Pulling in tools.deps.alpha via a git/url hash, to access the branch that allows me to load in a jar from the repl
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/home/david/.m2/repository/org/slf4j/slf4j-nop/1.6.2/slf4j-nop-1.6.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/david/.m2/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See for an explanation.
SLF4J: Actual binding is of type [org.slf4j.helpers.NOPLoggerFactory]
org.clojure/tools.deps.alpha d0b33e0
...
...
chopped for brevity
...
org.slf4j/slf4j-nop 1.6.2
The warning emitted by SLF4J is just that, a warning. Even when multiple bindings are present, SLF4J will pick one logging framework/implementation and bind with it. The way SLF4J picks a binding is determined by the JVM and for all practical purposes should be considered random. As of version 1.6.6, SLF4J will name the framework/implementation class it is actually bound to.
I think we have a ticket for this, probably need to stop including that
Why did the exclusion not work?
Did you try it?
org.clojure/tools.deps.alpha {:git/url ""
:sha "d0b33e0d346736aa985c150145b332f97b92135e"
:exclusions ["org.slf4j/jcl-over-slf4j"
"org.slf4j/slf4j-nop"] }}}
Should be a symbol, not a string
I think it will work
ta very much, but still, I think the nop should be excluded totally, may catch others out 😉
Hey a new colleague is getting the following error when resolving a git dep in a private github repo. Not sure what to do… I’ve seen the ticket https://clojure.atlassian.net/projects/TDEPS/issues/TDEPS-91 which looks relevant.
Her ssh key appears to be the same version as mine which works…
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC,xxxx
she’s also running ssh-agent and has added the key
so ssh-add -l
lists her identity?
and I assume she does actually have access to the git repo (can access via git)
I've found on mac that I had a setting in my ~/.ssh/config under "Host *" that had a setting for IdentityFile
or something like that which I had to delete
yes to both of those
my ssh config looks like:
Host *
AddKeysToAgent yes
UseKeychain yes
thanks @alexmiller dropping IdentityFile works
ssh ninja
:punch:
I added that to that jira issue in a comment
:thumbsup: my future self with thank you again for that
ditto, I had to look it up (again)
@alexmiller 🎉 … private deps seem to be working for me now
(to be clear, this is just a general man-are-there-ever-a-lot-of-moving-parts-to-auth gripe, not a tools.deps gripe 🙂)
I'm curious how y'all are switching between different Java versions when using clj
and clojure
.
hint: the answer has nothing to do with clj and clojure :)
they just use whatever java is on the path
so to rephrase, how are y'all switching between Java versions on your OS of choice?
> they just use whatever java is on the path
Got it. So that means that clj
and clojure
will ignore the version set by, for example, jenv
?
I suppose since jenv
works by providing a java
shim it ought to still work provided that the jenv
shim is the first java
on the path. :thinking_face:
I don't know what jenv does but that seems right
@zane I set JAVA_HOME
to point to the JDK installation that I want to use...
(! 586)-> JAVA_HOME=$OPENJDK11_HOME clj
Clojure 1.10.1
user=> (System/getProperty "java.version")
"11.0.1"
user=> ^D
Tue Aug 06 12:16:46
(sean)-(jobs:0)-(~/clojure)
(! 587)-> JAVA_HOME=$OPENJDK8_HOME clj
Clojure 1.10.1
user=> (System/getProperty "java.version")
"1.8.0_192"
user=>
Hey Sean, thanks for sharing your process! This only changes the JAVA_HOME
for the command that follows, right? (Or for the shell that does the export
if export
is included.)
The particular use case I'm solving for is when I have a long-running Emacs process that occasionally launches clojure
processes via cider-jack-in
.
In that case setting JAVA_HOME
in the shell won't result in it getting picked up by the already-running Emacs process.
But you could get Emacs to set the env var for the invocation of clojure
by changing the command line it uses?
If I'm understanding you correctly, probably? Would require delving deeper into Cider than I want to do right now. 🙂
@zane you can connect to running clojure process by using cider-connect-clj
Similarly for ClojureScript you can use cider-connect-cljs
Yes, I'm aware. I prefer to let Cider launch Clojure because choosing compatible versions of all the middleware can be difficult. But thank you! 🙂
"because choosing compatible versions of all the middleware can be difficult" -- a big part of why I stopped using Emacs/CIDER/nREPL
@U04V70XH6 What do you use now?
I switched from Emacs to Atom/ProtoREPL and then to Atom/Chlorine. I can connect Atom/Chlorine to any Clojure process since it only requires a Socket REPL.
(so I can, and do, connect Atom/Chlorine to QA and production processes that were configured to start a Socket REPL using JVM options -- no dependencies needed in the project, no logic to start a custom REPL)
How is experience of Atom/Chlorine as compared with Cider/Emacs?
I find it a lot smoother and a lot less "fiddly". I talked a bit about why I switched from Emacs in this blog post https://corfield.org/blog/2018/12/19/atom-chlorine/
Yeah. I can understand why people make that switch, though for me it wouldn't be worth it.