This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
- # aws (6)
- # babashka (77)
- # beginners (102)
- # clj-kondo (24)
- # cljsrn (17)
- # clojure (40)
- # clojure-australia (15)
- # clojure-europe (50)
- # clojure-nl (4)
- # clojure-uk (4)
- # clojurescript (9)
- # conjure (2)
- # cursive (28)
- # data-science (1)
- # datomic (21)
- # events (5)
- # joker (15)
- # malli (136)
- # meander (1)
- # off-topic (25)
- # pathom (4)
- # podcasts (2)
- # portal (12)
- # portkey (1)
- # powderkeg (1)
- # practicalli (5)
- # re-frame (14)
- # reitit (3)
- # shadow-cljs (49)
- # specter (4)
- # tools-deps (4)
- # unrepl (1)
I've decided to just keep it the way it is. Although this is an oversight, people may already rely on it. If they want to make their code portable with JVM Clojure it's an easy fix.
@borkdude Can I somehow analyze script and tell which dependencies should be added to the classpath?
Let me maybe explain it a little bit. I've got following babashka runtime layer. https://github.com/FieryCod/holy-lambda/tree/master/modules/holy-lambda-babashka-layer With build in classpath:
It works well with default dependencies, but when the user includes any other dependencies then classpath does not cover it.
@UJ1339K2B Users can add dependencies to
bb.edn or via
babashka.deps/add-deps, or via
@borkdude But can they use regular stuartsierra.component if its already provided in classpath?
The thing is that I'm adding all .jars which are in Lambda context to BABASHKA_CLASSPATH, so no add-deps in needed. Unfortunetely when one use add-deps then getting download
This is using
deps.clj so same as before, it downloads to your .m2 or mvn/local-repo
But I think you can recommend people to just use bb.edn if you are going to use your framework
I think so. The only issue is that in lambda context someone may call add-deps and the artifact is being downloaded. I'm missing some environment variable probably 😄 No more questions. 😄
Hey, just launched this site: https://babashka.org/ Let me know what you think
ah, tailwindcss. https://github.com/green-coder/girouette and babashka would be a good match.
@borkdude is there any way to set PKI certs or disable SSL in babashka? I started
bb in corporate network under Windows 10 (w/o WSL) and got following error
@mike1452 The download happens here: https://github.com/borkdude/deps.clj/blob/9e0ca8002cca486223a962c06865dbbe3bc1917a/src/borkdude/deps.clj#L181 Not sure what should happen to solve your problem
But you could perhaps download the tools jar manually and put it in the expected location
In java we add certificates in trusted JKS to avoid this problem. But in babashka it is not clear, what JKS or truststores are used during SSL handshakes? I'll try to download them manually, but afraid that other deps of my project should be downloaded too.
Here is some info: https://www.graalvm.org/reference-manual/native-image/JCASecurityServices/
I think here plays role what cacerts are used during bb binary compilation. But in our corporate network we use our own certs which are absent in cacerts.
@mike1452 I found something here: https://www.jetdrone.xyz/2019/04/16/Full-SSL-Trust-in-Native-Images.html
./dad-jokes \ -Djavax.net.ssl.trustStore=./cacerts \ -Djavax.net.ssl.trustAnchors=./cacerts
These options has no effect for me. Babashka not using them. It seems, that in corporate networks, without option for disabling SSL certificate check
babashka.tasks/clojure cannot download deps.
@mike1452 you can reproduce this with pure java by using this uberjar:
and running it with
java -jar ...
i'm under vpn right now. corporate policy blocks pastebin for me during vpn session. 😂
alternatively you can try a full path, like here: https://stackoverflow.com/a/2645939/6264
I guess downloading deps would still need a certificate, but maybe it works. Can you please test this by downloading the tools jar to your system manually and test if it can download a dependency afterwards?
So follow these "instructions":
Download the zip, unzip it and place the jar in the expected location. And then try to run bb and see if it can download deps.
Could not find /Users/borkdude/.deps.clj/22.214.171.1242/ClojureTools/clojure-tools-126.96.36.1992.jar Attempting download from
@borkdude thank you for your help. I think my situation a bit harder. I suppose our corporate network has inspecting proxy like Bluecoat or other. So, PKI certs are dynamic for proxy pool and add them to cacerts file has no effect. I will try to use curl but, I think, right solution would be to get access to our corporate Nexus mirror and download deps from there. Does
deps.clj has functionality to download deps from local Nexus with login/pass credentials?
@mike1452 is that similar to using a proxy? https://github.com/borkdude/deps.clj#proxy-environment-variables
@mike1452 I am trying to communicate a few times that the tools.jar is not the same as downloading deps.
The tools jar is not a dependency (in the usual sense). It is the program that will download the dependencies. It contains tools.deps.alpha. So bb first needs that jar in a certain place so it can execute it.
So first take care of that, then try again. And after that we can take a look at dependency downloading. These are two separate things. If you manage to download the tools.jar using curl, that is 50% of the solution. The other 50% we have to look at separately.
but if you have a proxy that you are allowed to download through, then the above settings will apply to both parts of the solution
I have corporate Nexus with clojars mirror and maven central. Unfortunately it requires authentication. I cannot find does deps.clj supports
settigns.xml or not?
settings.xml contains urls and credentials for private mirrors.
Also I think https://clojure.atlassian.net/browse/TDEPS-177 may affect to my case.
@borkdude, I solved the problem! Your
deps.exe saved me. I have two JVMs on my Windows machine and one of them had no trusted certs from our internal CA. After I added them into cacerts file,
deps.exe started to download any deps. Cool! Now I can develop my Clojure projects not only on BYOD Mac but also on Windows VM.
also, I configured correct
settings.xml using https://clojure.org/reference/deps_and_cli#_maven_authenticated_repos