trying to use https://central.sonatype.com/artifact/org.graalvm.polyglot/js according to https://www.graalvm.org/latest/reference-manual/embed-languages/. Anyone spot my mistake here?
clj -Sdeps '{:deps {org.graalvm.polyglot/js {:mvn/version "23.1.0"}}}'
Error building classpath. Could not find artifact org.graalvm.polyglot:js:jar:23.1.0 in central ( )or are they using some maven features that tools.deps does not support? It does download some pom files initially…
tools.deps only supports the jar package type - is that something else?
Yeah that’s a pom artifact
Essentially same as this issue https://ask.clojure.org/index.php/10892/add-support-for-bom-bill-of-materials-dependencies?show=10892#q10892
@mkvlr so it seems listing deps explicitly would work?
maybe? I know nothing about pom deps so I don’t know where to start
I read the ask issue and saw it there
Perhaps use mvn deps tree or whatever their command is and then insert those deps in your deps.edn
Or look up on mvn central what their transitive deps are
ok, so {:deps {org.graalvm.js/js-language {:mvn/version "23.1.0"}}} works
@alexmiller thanks a lot, also for StrangeLoop, I had a great time! 🙏
Does anyone have a simple example how to build executables for all the platform (osx, windows, linux)?
jet is a pretty simple project which builds for all platforms: https://github.com/borkdude/jet
babashka and clj-kondo are two others that are available for all platforms
There's no cross compilation. They suggest using GHA.
GHA is fine but... it doesn't support aarch64 last time I checked (linux nor mac). Also the hardware is a bit slower than other platforms (circleci, cirrus). It is easy to setup though, so there's a lot to be said for it
I was able to build both arm64 and x86-64 with this https://github.com/marketplace/actions/cross-platform-action#architectures
https://github.com/D00mch/DartClojure/blob/main/.github/workflows/build-binaries.yml
Did you need to supply your own runner(s)?
That action looks pretty cool.
No, I did nothing. I just googled out actions that I could use, and It worked immediatelly
I beter is based on qemu which is crap slow