This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2021-08-22
Channels
- # anglican (2)
- # announcements (8)
- # babashka (37)
- # beginners (13)
- # calva (16)
- # clj-kondo (20)
- # cljdoc (1)
- # cljsrn (3)
- # clojure (6)
- # clojure-europe (3)
- # clojurescript (3)
- # clojureverse-ops (3)
- # conjure (1)
- # core-async (9)
- # cursive (6)
- # cypress (2)
- # datomic (5)
- # fulcro (1)
- # honeysql (15)
- # luminus (2)
- # malli (35)
- # music (3)
- # nbb (1)
- # off-topic (7)
- # pathom (12)
- # practicalli (1)
- # re-frame (15)
- # reagent (37)
- # sci (9)
- # shadow-cljs (3)
- # show-and-tell (3)
- # spacemacs (3)
- # workspaces (3)
this is probably nothing novel, but I was pleasantly surprised how good a match babashka and aws lambda custom runtimes are... https://github.com/tatut/bb-lambda
ATM babashka graalvm config is manually passed during the script/compile, do you see any issue migrate it to classpath/META-INF/native-image/babashka/babashka/...
? 🧵
most of the graalvm config can be moved to the native-image.properties
, so it's harder to get outdated downstreams like nixpkgs: https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/interpreters/clojure/babashka.nix#L30-L67 which mnually set all graalvm configs
so I think we can't put into the jar, keep it only the reflection config flag on the script?
Are there any known issues with private maven repos hosted in S3 being used in a bb dep? I have a repo that contains a private Maven dep such as: https://github.com/Jordan-River-Advisors/repo-containing-private-s3-maven-dep and I have another repo that uses it as a bb dep like: https://github.com/Jordan-River-Advisors/bb-maven-deps-repro In the project I can download and use the private dep
~/src/repo-containing-private-s3-maven-dep
❯ clj
Clojure 1.10.3
user=> (require '[datomic.ion.dev :as ion])
nil
user=> (ion/deploy)
Execution error (ArityException) at user/eval1574 (REPL:1).
Wrong number of args (0) passed to: datomic.ion.dev/deploy
user=>
I can even download it directly using the s3 cli
~/src/bb-maven-deps-repro
❯ aws s3 cp /tmp
download: to ../../../../tmp/ion-dev-0.9.290.jar
~/src/bb-maven-deps-repro
❯
But when I use that project as a git dependency in another project’s bb.edn I get an error, indicating that
~/src/bb-maven-deps-repro
❯ bb --debug test
Cloning: [email protected]:Jordan-River-Advisors/repo-containing-private-s3-maven-dep.git
Checking out: [email protected]:Jordan-River-Advisors/repo-containing-private-s3-maven-dep.git at 734c2547eea8c391b70ecda07fc025eadf9bf4f2
Error building classpath. Could not find artifact com.datomic:ion-dev:jar:0.9.290 in central ( )
Can you try your dep with deps.edn directly to check if it works there? bb uses the same kind of logic to resolve deps as deps.edn
It works directly. I meant to imply given the first shell output above. If I’m in the project with the private repo it downloads the private dep without issue.
repo-containing-private-s3-maven-dep on main
❯ trash ~/.m2/repository/com/datomic/ion-dev
repo-containing-private-s3-maven-dep on main
❯ clj
Picked up JAVA_TOOL_OPTIONS: -XX:-OmitStackTraceInFastThrow -Dapple.awt.UIElement=true -Xms512m -Xmx4g
Downloading: com/datomic/ion-dev/0.9.290/ion-dev-0.9.290.pom from datomic-cloud
Downloading: com/datomic/ion-dev/0.9.290/ion-dev-0.9.290.jar from datomic-cloud
Picked up JAVA_TOOL_OPTIONS: -XX:-OmitStackTraceInFastThrow -Dapple.awt.UIElement=true -Xms512m -Xmx4g
Clojure 1.10.3
user=>
Where in the bb src does it do the dep resolution?what I was suggesting is to make a repro using deps.edn only and show that your setup works there, I wasn't referring to "in" or "directly" but to deps.edn vs bb.edn