This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2020-09-26
Channels
- # announcements (3)
- # babashka (23)
- # beginners (54)
- # calva (9)
- # cider (8)
- # clj-kondo (18)
- # cljsrn (25)
- # clojure (69)
- # clojure-australia (1)
- # clojure-europe (7)
- # clojure-spec (13)
- # clojure-uk (1)
- # clojurescript (122)
- # conjure (8)
- # cursive (15)
- # defnpodcast (9)
- # deps-new (2)
- # emacs (22)
- # fulcro (10)
- # graalvm (36)
- # luminus (5)
- # meander (5)
- # minimallist (1)
- # observability (6)
- # off-topic (54)
- # reagent (8)
- # reitit (2)
- # releases (1)
- # reveal (25)
- # shadow-cljs (21)
- # tools-deps (50)
- # vrac (1)
- # xtdb (2)
@borkdude it's a minor thing but doing deps -h
gives the version string twice here:
$ deps -h
Version: 1.10.1.697
Version: 1.10.1.697
...
@sogaiu Fixed (and all remaining open issues as well). If there's nothing else, going to release
I've updated the practicalli/clojure-deps-edn GitHub project and replaced all uses of -A
and -R
flags for using all aliases, substituting them for -M
without any issues... it actually makes things simpler 🙂
Details are in #announcements
Thank you Alex (and Sean)
Execution error (FileNotFoundException) at clojure.main/main (main.java:40).
Could not locate clojure/run/exec__init.class, clojure/run/exec.clj or clojure/run/exec.cljc on classpath.
Full report at:
/tmp/clojure-16205359177864566580.edn
Presumably this means I need to correct something in the void installer, what is that?@alexmiller Feedback on error message with the new exec:
borkdude@MBP2019 ~ $ clojure -X clojure.core/prn :foo 1
{:foo 1}
borkdude@MBP2019 ~ $ clojure -X clojure.core/prn :foo
No function found on command line or in :exec-fn
I think the latter could be improvednot sure I understand why that's failing
oh, that's probably it
it looks at whether the non-alias arg count is even or odd
there is some fiddly code there trying its best to guess what's wrong
I don't think there is here, just saying that's the code at faultl
btw, real world example where this might be super confusing: I tried passing var as an argument (`#'inc`), but shells treat #
as a start of a comment, so...
Yeah, I’ll fix
there was a period of time where other variants were accepted, this might be a legacy of that, don't remember
Unrelated. If checking in binaries into git wasn't an anti-pattern, I think Clojure git deps could be used to implement an ecosystem of binaries more or less like brew, but using deps.edn. The classpath can then be used as the binary path, a bit similar to a nix env. I would have a purpose for this (babashka pods). The git deps stuff could be made to work with GraalVM as well I think, so everything could be very fast after deps have been downloaded (but even without GraalVM, it's already fast due to classpath caching).
in addition to the size aspect of the repository, trying to but binaries for multiple platforms in one repository didn't feel great because the end user then gets extra cruft.
Here I'm sketching out an idea: https://github.com/babashka/babashka.pods/issues/19 One option is to have a .edn file inside the git dep which refers to the download
yeah, i saw that page first 🙂 the .edn file inside idea seems preferable to the binaries in the repository idea
the resolve function will download the link and the put them inside .foobar/your/dependency/<sha>/the-binary
and then that binary file will be invoked
Wonder what others think. Maybe instead of checking in the binaries themselves, there could be links to releases in the source, with checksums, etc. But most of the gnarly dependency stuff could be handled by tda.
Implementing something like brew this way would only require a couple of tens of lines of code maybe.
Aha: https://github.com/aerys/gpm - unclear how it resolves deps
Made an issue here for further discussion: https://github.com/babashka/babashka.pods/issues/19