This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2023-01-23
Channels
- # announcements (3)
- # architecture (10)
- # babashka (37)
- # beginners (69)
- # calva (2)
- # cider (10)
- # clerk (22)
- # clj-kondo (33)
- # cljdoc (44)
- # clojure (45)
- # clojure-conj (4)
- # clojure-denmark (7)
- # clojure-europe (14)
- # clojure-nl (1)
- # clojure-norway (5)
- # clojure-uk (4)
- # clojurescript (10)
- # clr (19)
- # conjure (1)
- # emacs (28)
- # events (1)
- # fulcro (1)
- # jobs (1)
- # joyride (1)
- # lsp (18)
- # malli (30)
- # membrane (3)
- # off-topic (23)
- # pathom (45)
- # portal (29)
- # proletarian (7)
- # rdf (15)
- # re-frame (21)
- # reagent (2)
- # releases (6)
- # remote-jobs (1)
- # reveal (6)
- # shadow-cljs (36)
- # slack-help (7)
- # sql (5)
- # tools-deps (3)
A new version of https://github.com/babashka/babashka released: v1.1.171
• https://github.com/babashka/babashka/issues/1467: BREAKING: avoid printing results, unless
--prn
is enabled (aside from -e
, -o
and -O
).
• Include https://github.com/babashka/http-client as built-in library
• SCI: support add-watch
on vars
• Compatibility with https://github.com/weavejester/eftest test runner (see https://twitter.com/borkdude/status/1616886788898885632)
• Add classes:
◦ java.util.concurrent.Callable
◦ java.util.concurrent.ExecutorService
• Expose clojure.main
main
and repl-caught
• Switch clojure.test/*report-counters*
to ref instead of atom for compatibility with https://github.com/lambdaisland/kaocha
• Allow java.io.OutputStream
to be proxied, for https://github.com/lambdaisland/kaocha
• Support qualified method names in proxy
and ignore namespace
![babashka](https://emoji.slack-edge.com/T03RZGPFR/babashka/d83b0a3d7b5f7a27.png)
@U0AQ1R7FG You might want to update babooka since the print behavior has changed (more in line with what clojure does now)
oh interesting, so if the file ends with a value, the value doesn’t get pritned?
btw any chance you’d want to babooka from the babashka readme and book?
gotcha
@U0AQ1R7FG Maybe it would be nice to add a link in the babooka github repo of where to view it online as HTML
I've been going there for several times and then had to take a different direction to find it
oh lol good point
bb README: https://github.com/babashka/babashka/commit/7c2e8a155f73dac93241dc067323fb25923c13d5 book: https://book.babashka.org/#_books
❤️ thank you!
@U0K064KQV I don't think much will change API-wise (except for the babashka.http-client.interceptors
namespace maybe, which isn't exposed in bb yet, but you can load it from the dependency)
I'm noticing something that looks a bit like a regression in newer babashka versions.
In 1.0.165
I can do the following
bash-3.2$ ./bb --version
babashka v1.0.165
bash-3.2$ ./bb -e '(babashka.tasks/clojure "-J-Dclojure.server.repl=\"{:port 5555 :accept clojure.core.server/repl}\"")'
Clojure 1.11.1
user=>
But when I do the same with 1.1.171
I get a crash (stack trace in thread).bash-3.2$ bb --version
babashka v1.1.171
bash-3.2$ bb -e '(babashka.tasks/clojure "-J-Dclojure.server.repl=\"{:port 5555 :accept clojure.core.server/repl}\"")'
WARNING: Implicit use of clojure.main with options is deprecated, use -M
Exception in thread "main" java.lang.RuntimeException: EOF while reading
at clojure.lang.Util.runtimeException(Util.java:221)
at clojure.lang.EdnReader.readDelimitedList(EdnReader.java:746)
at clojure.lang.EdnReader$MapReader.invoke(EdnReader.java:680)
at clojure.lang.EdnReader.read(EdnReader.java:145)
at clojure.lang.EdnReader.read(EdnReader.java:111)
at clojure.lang.EdnReader.readString(EdnReader.java:67)
at clojure.edn$read_string.invokeStatic(edn.clj:46)
at clojure.edn$read_string.invokeStatic(edn.clj:37)
at clojure.core.server$parse_props$fn__9026.invoke(server.clj:152)
at clojure.core.protocols$naive_seq_reduce.invokeStatic(protocols.clj:62)
at clojure.core.protocols$interface_or_naive_reduce.invokeStatic(protocols.clj:72)
at clojure.core.protocols$fn__8249.invokeStatic(protocols.clj:169)
at clojure.core.protocols$fn__8249.invoke(protocols.clj:124)
at clojure.core.protocols$fn__8204$G__8199__8213.invoke(protocols.clj:19)
at clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:31)
at clojure.core.protocols$fn__8226.invokeStatic(protocols.clj:75)
at clojure.core.protocols$fn__8226.invoke(protocols.clj:75)
at clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)
at clojure.core$reduce.invokeStatic(core.clj:6886)
at clojure.core.server$parse_props.invokeStatic(server.clj:146)
at clojure.core.server$start_servers.invokeStatic(server.clj:157)
at clojure.core.server$start_servers.invoke(server.clj:157)
at clojure.lang.Var.invoke(Var.java:384)
at clojure.lang.RT.doInit(RT.java:493)
at clojure.lang.RT.init(RT.java:467)
at clojure.main.main(main.java:38)
I found the issue, instead you can for now do:
$ bb -e '@(babashka.deps/clojure "-J-Dclojure.server.repl=\"{:port 5555 :accept clojure.core.server/repl}\"")'
Clojure 1.11.1
user=>
For now we'll stick with using bb 1.0.165 instead of working around it because we have multiple bb tasks that invoke clojure
which are now failing.
This was introduced in https://github.com/babashka/babashka/blob/master/CHANGELOG.md#10168-2022-12-07
It would be good if you could try the --dev-build
in a few minutes though to double-check if the fix was proper
I found another edge case, I'll fix that one and then will ask you to test once again
https://github.com/babashka/babashka: Native, fast starting Clojure interpreter for scripting
1.1.172 (2023-01-23)
• https://github.com/babashka/babashka/issues/1472: fix tokenization of babashka.tasks/clojure
: command was tokenized twice (regression was introduced in 1.0.168
)
• BREAKING: Bump babashka.process
: change default for :out :append
to :out :write
. This default is undocumented so the impact should be small.