Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add jdk 19 loom virtual threads support to master #1499

Closed
wants to merge 236 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
236 commits
Select commit Hold shift + click to select a range
bca3f28
Graalvm 22.3.0 (#1408)
borkdude Oct 25, 2022
eaf0a06
Link pod registry to Pods section in README (#1411)
arichiardi Oct 26, 2022
9de689c
deps.clj 1.11.1.1182
borkdude Oct 26, 2022
fc5dccc
sci: in-ns as function
borkdude Oct 27, 2022
10ec7dc
Bump core.async to 673 (#1412)
borkdude Oct 27, 2022
f5a226a
Add notes for detecting runtime requiring-resolve, etc [skip ci]
borkdude Oct 27, 2022
a035291
SCI: now with docstrings for core macros
borkdude Oct 30, 2022
a4ba952
SCI: more docstrings
borkdude Oct 31, 2022
ee85685
Fix tests
borkdude Oct 31, 2022
98741c9
Fix tests
borkdude Oct 31, 2022
42d721a
Fix tests
borkdude Oct 31, 2022
c89300b
SCI: more docstrings
borkdude Oct 31, 2022
8b14652
SCI: more docs
borkdude Oct 31, 2022
ccc1512
SCI: fix alength
borkdude Oct 31, 2022
e31cb57
Add java.time.zone.ZoneRules class
borkdude Oct 31, 2022
ce06429
SCI: more docstrings
borkdude Nov 1, 2022
4483ccf
v1.0.165
borkdude Nov 1, 2022
9083959
Version bump
borkdude Nov 1, 2022
07030d8
changelogs [skip ci]
borkdude Nov 1, 2022
70d9bbd
changelog [skip ci]
borkdude Nov 1, 2022
3d916df
SCI: minor change to type
borkdude Nov 2, 2022
8d9ac4c
Add lib tests for Postmortem
borkdude Nov 5, 2022
36d2ec2
doc [skip ci]
borkdude Nov 5, 2022
ee5f2a7
Add run-test and run-test-var to clojure.test
borkdude Nov 8, 2022
5be6147
meta inf [skip ci]
borkdude Nov 8, 2022
e5ee1f4
Fix run-test
borkdude Nov 8, 2022
bb84bd3
Fix tests
borkdude Nov 8, 2022
ac1b16b
SCI: preserve more stacktrace, e.g. on throw
borkdude Nov 10, 2022
a5dec07
Build uberjar using graalvm
borkdude Nov 11, 2022
bc901fd
Set java to GRAALVM
borkdude Nov 11, 2022
8269a63
changelog [skip ci]
borkdude Nov 11, 2022
9ed3cb6
Fix #1414: preserve metadata on exec task function argument map
borkdude Nov 11, 2022
6e2eaa9
Remove obsolete code
borkdude Nov 12, 2022
a24c8fa
add force overwrite flag when installing glibc on alpine (#1415)
bobisageek Nov 12, 2022
4c1da7d
[skip ci] Mark the sgerrand/alpine-pkg-glibc issue as a TODO
lispyclouds Nov 13, 2022
bf55d65
fs: update-file
borkdude Nov 12, 2022
4c3fa4c
fs docs [skip ci]
borkdude Nov 13, 2022
d8a0018
Sluj tests (#1416)
bobisageek Nov 13, 2022
fc15eab
SCI: optimize analysis and eval of fn
borkdude Nov 14, 2022
85bb1fe
SCI changelogs [skip ci]
borkdude Nov 14, 2022
66e90be
sci [skip ci]
borkdude Nov 15, 2022
65d77d3
sci [skip ci]
borkdude Nov 15, 2022
8d514cc
sci [skip ci]
borkdude Nov 15, 2022
d222b32
Upgrade timbre to 6.0.1 (#1419)
borkdude Nov 15, 2022
885a82b
sci docs [skip ci]
borkdude Nov 15, 2022
0ac4eea
deps.clj: 1.11.1.1200
borkdude Nov 15, 2022
e08eab0
deps.clj [skip ci]
borkdude Nov 15, 2022
7a22c5f
Update fs
borkdude Nov 16, 2022
3751749
Update keyword example [skip ci]
borkdude Nov 16, 2022
b57981b
make normalize-keywords walk clj[cdx]? files in specified location (#…
mpenet Nov 16, 2022
759d977
allow normalize-keywords to work on cljs files (#1421) [skip ci]
mpenet Nov 16, 2022
b7e327c
refactor: propose changing to working example found at (#1422)
samrose Nov 17, 2022
326b1de
Add java.net.URLClassLoader for compatibility with java.classpath lib
borkdude Nov 17, 2022
495ded8
Compatibility with cognitest test runner and tools.namespace (#1423)
borkdude Nov 18, 2022
b458d79
Switch to use ctx-store for global context
borkdude Nov 19, 2022
40e0087
Fix socket repl tests
borkdude Nov 19, 2022
99f1e94
Fix pREPL tests
borkdude Nov 19, 2022
058d207
Add java.lang.Error
borkdude Nov 20, 2022
eb6745f
changelog [skip ci]
borkdude Nov 20, 2022
4504976
Update built-in deps.edn [skip ci]
borkdude Nov 21, 2022
0df40a1
Add clojure.data/equality-partition for lambdaisland/deepdiff2
borkdude Nov 22, 2022
6f8f205
v1.0.166
borkdude Nov 24, 2022
c674412
Version bump
borkdude Nov 24, 2022
434ee39
CHANGELOG [skip ci]
borkdude Nov 24, 2022
0671678
Change title of blog post [skip ci]
borkdude Nov 24, 2022
03e50cb
SCI: performance improvement
borkdude Nov 27, 2022
7d3d38f
SCI [skip ci]
borkdude Nov 27, 2022
cb72f8b
Fix babashka/babashka.nrepl#59
borkdude Nov 27, 2022
6e00354
Fix 1430: empty tasks names display list (#1431)
ikappaki Nov 28, 2022
198722a
Bump SCI: better error locations for interop
borkdude Nov 28, 2022
cf0f145
Add note about BSOD when using WSL1 (#1432)
LouDnl Nov 29, 2022
bc0b595
Fix #1433: spec source as fallback + built-in (#1435)
borkdude Nov 30, 2022
ade5ca1
v1.0.167
borkdude Nov 30, 2022
2a56f2e
Version bump
borkdude Nov 30, 2022
d53d05c
Add articles to README
borkdude Nov 30, 2022
eb740c7
loop* as special form
borkdude Dec 2, 2022
7b6a69f
SCI: fn, defn and defmacro as macros (#1437)
borkdude Dec 2, 2022
9305417
and and or as macros
borkdude Dec 3, 2022
d681f9b
SCI notes
borkdude Dec 3, 2022
a92ebfe
Update process
borkdude Dec 4, 2022
952a695
Update process
borkdude Dec 4, 2022
c81baba
Bump process
borkdude Dec 4, 2022
9087cf6
Fix process test for bb
borkdude Dec 4, 2022
43375d4
Allow deps/clojure to be called with new syntax
borkdude Dec 5, 2022
bd857ae
Partially revert, will revisit
borkdude Dec 5, 2022
cf01d7f
#1438: httpkit.client functions (#1439)
bobisageek Dec 6, 2022
6acd912
Add java.util.InputMismatchException
borkdude Dec 6, 2022
cd32527
Add blog [skip ci]
borkdude Dec 6, 2022
69db710
Support new syntax in babashka.deps/clojure (#1440)
borkdude Dec 7, 2022
7cc94ea
fs: don't touch dirs in split-ext
borkdude Dec 7, 2022
419b71e
v1.0.168
borkdude Dec 7, 2022
facb657
Version bump
borkdude Dec 7, 2022
531b938
Remove reference to survey
borkdude Dec 7, 2022
3bdeee8
sync process [skip ci]
borkdude Dec 7, 2022
46b6dfd
Update fs: better fix for splitting on extension
borkdude Dec 8, 2022
c931fbe
sync process [skip ci]
borkdude Dec 8, 2022
9dff25d
process [skip ci]
borkdude Dec 8, 2022
5ac0481
sci: speed up case
borkdude Dec 8, 2022
683752c
Always install static binary on linux amd64
borkdude Dec 9, 2022
7d5083a
Fix #1434, document installing on Alpine
borkdude Dec 9, 2022
f7b2356
doc improvement
borkdude Dec 9, 2022
58dbd2b
Update zlib to version 1.2.13
thiagokokada Dec 9, 2022
c7ccc6f
Fix #1446: add pprint/code-dispatch
borkdude Dec 9, 2022
d721b92
Support --dev-build flag
borkdude Dec 9, 2022
ba328f2
ns as macro (#1447)
borkdude Dec 10, 2022
f9131b2
lazy-seq as macro
borkdude Dec 10, 2022
b9fa877
Constructor of LazySeq
borkdude Dec 10, 2022
44dbc57
Restore inlined functions
borkdude Dec 10, 2022
38dc526
Fix inlined alength
borkdude Dec 10, 2022
e619a89
restore init
borkdude Dec 10, 2022
5570c41
v0.6.41
borkdude Dec 11, 2022
72377d0
Bump built-in deps.edn [skip ci]
borkdude Dec 11, 2022
df24cf2
Update deps.clj
borkdude Dec 12, 2022
dc2502e
deps.clj
borkdude Dec 14, 2022
965c177
Fix #1280: babashka REPL doesn't quit right after ctrl-d (#1450)
formerly-a-trickster Dec 14, 2022
2535299
README [skip ci]
borkdude Dec 18, 2022
37e2da9
minor README
borkdude Dec 19, 2022
d9aad85
SCI: remove intermediate code for static method call
borkdude Dec 19, 2022
62916fa
Fix #1451: Allow passing explicit file and line number to clojure.test
matthewdowney Dec 20, 2022
935c8da
Changelog + SCI update
borkdude Dec 20, 2022
01eea0b
changelog
borkdude Dec 20, 2022
df24d04
SCI: minor perf boost for zero args
borkdude Dec 21, 2022
61950b8
SCI: faster field access
borkdude Dec 21, 2022
8b39f67
SCI: cache Java interop methods (#1455)
borkdude Dec 23, 2022
68a6e24
Fix #1454: include babashka process in print-deps output
borkdude Dec 23, 2022
4223f14
SCI sync
borkdude Dec 25, 2022
dd77a85
better require logging
borkdude Dec 26, 2022
39c1390
Fix build
borkdude Dec 26, 2022
073e7e3
Even better require detection
borkdude Dec 26, 2022
188949d
sci, process sync
borkdude Dec 27, 2022
1e06b07
Update pods
borkdude Dec 29, 2022
3413617
Add check for max glibc version (#1458)
lispyclouds Dec 31, 2022
bdbe5a4
SCI: add reader-conditional
borkdude Jan 3, 2023
efe4f21
Fix pprinting vars
borkdude Jan 3, 2023
2ac1428
Add compiler dynvars for compatibility
borkdude Jan 3, 2023
8e64ef9
Upgrade babashka spec.alpha (#1459)
borkdude Jan 3, 2023
d9358f0
Changelog [skip ci]
borkdude Jan 3, 2023
91b3a96
v1.0.169
borkdude Jan 3, 2023
e9b87b0
Version bump
borkdude Jan 3, 2023
5965e32
changelog
borkdude Jan 3, 2023
3aca505
Partial fix for #1456 (nREPL issue) (#1460)
borkdude Jan 4, 2023
b9308ed
Fix #1456: allow dyn vars to be set in socket REPL (#1461)
borkdude Jan 4, 2023
a0a34dc
Fix #1456 (2): add *data-readers*
borkdude Jan 5, 2023
9e1ea10
Skip flaky tests on main
borkdude Jan 5, 2023
2a94308
Mark clj-http-lite tests as flaky
borkdude Jan 5, 2023
6c1f5f7
CI install instructions
borkdude Jan 6, 2023
8fa49b9
CI install
borkdude Jan 6, 2023
5b72138
news august
borkdude Jan 6, 2023
27fad0a
News september
borkdude Jan 6, 2023
7de2262
new october
borkdude Jan 6, 2023
47df0c4
news november 2022
borkdude Jan 6, 2023
eb4e583
news update
borkdude Jan 6, 2023
96e70ff
news fini
borkdude Jan 6, 2023
0b4bfdc
news
borkdude Jan 6, 2023
9b5ec62
news
borkdude Jan 6, 2023
e3aa11b
pods: fix untar with missing dir, delete port files
borkdude Jan 9, 2023
1810b4b
Marlk httpkit tests as flaky
borkdude Jan 9, 2023
6f41179
sync deps.clj [skip ci]
borkdude Jan 10, 2023
4d1c05b
Add java.util.jar.Attributes to classes (#1464)
jeroenvandijk Jan 11, 2023
004e99e
Add forked asdf plugin
borkdude Jan 11, 2023
b2b20e1
Update asdf link
borkdude Jan 12, 2023
e43edd8
Bump babashka cli
borkdude Jan 13, 2023
843ca4c
SCI: macroexpansion error location improvement
borkdude Jan 14, 2023
6b6d403
Bump CLI and fs
borkdude Jan 18, 2023
79a9bc5
Bump SCI, fixes #1465
borkdude Jan 18, 2023
5b42de7
Tab compatibility (#1466)
borkdude Jan 18, 2023
71d0a14
Mark curl tests as flaky
borkdude Jan 18, 2023
09debe0
Add Semaphore + httpkit functions
borkdude Jan 19, 2023
61851a5
v1.0.170
borkdude Jan 19, 2023
7844039
Version bump
borkdude Jan 19, 2023
91413c2
Fix changelog
borkdude Jan 19, 2023
a5318ea
Allow java.io.OutputStream to be proxied, for kaocha
borkdude Jan 21, 2023
430cbed
Fix proxy class
borkdude Jan 21, 2023
eca7847
Fix #1467: avoid printing results by default, unless --prn is enabled…
borkdude Jan 21, 2023
6feb785
changelog: mention breaking change
borkdude Jan 21, 2023
fe6042a
Fix Outputstream proxy for kaocha
borkdude Jan 21, 2023
28ec2c6
Support qualified method names in proxy and ignore namespace
borkdude Jan 21, 2023
7787863
Switch clojure.test/*report-counters* to ref instead of atom
borkdude Jan 21, 2023
0be3c71
Eftest compatibility (#1470)
borkdude Jan 21, 2023
5140bd4
SCI: support add-watch on vars
borkdude Jan 22, 2023
7f44c27
deps resource [skip ci]
borkdude Jan 22, 2023
02cdb00
Include babashka.http-client (#1471)
borkdude Jan 22, 2023
68d041c
changelog
borkdude Jan 22, 2023
3610f52
v1.1.171
borkdude Jan 23, 2023
fa91038
Version bump
borkdude Jan 23, 2023
7c2e8a1
babooka
borkdude Jan 23, 2023
a464b59
Fix #1472: fix double tokenization when calling clojure from tasks
borkdude Jan 23, 2023
17adc69
Another fix for #1472
borkdude Jan 23, 2023
2da873a
Bump process: change default for :out :append to :out :write
borkdude Jan 23, 2023
4931048
changelogs
borkdude Jan 23, 2023
4220902
Try fixing test on Windows
borkdude Jan 23, 2023
314906c
v1.1.172
borkdude Jan 23, 2023
c053765
Version bump
borkdude Jan 23, 2023
64dcb33
changelog
borkdude Jan 23, 2023
1452f45
Bump SCI
borkdude Jan 24, 2023
a79c33d
Fix #1474: use UrlClassLoader for finding files on classpath (#1475)
borkdude Jan 25, 2023
bd5597a
Bump process to 0.4.16
borkdude Jan 26, 2023
b2855d1
Bump cli
borkdude Jan 27, 2023
63abc75
Update deps.clj
borkdude Jan 27, 2023
3286447
Fix #1473: make :local/root deps resolve paths relative to bb.edn
lispyclouds Jan 28, 2023
28f72ff
Bump fs
borkdude Jan 29, 2023
d8f5087
Bump fs
borkdude Jan 29, 2023
e9e906e
minor [skip ci]
borkdude Jan 30, 2023
2b575b1
Bump http-client
borkdude Jan 30, 2023
722812b
Bump rewrite-clj
borkdude Jan 31, 2023
5a1b6a9
bump deps.edn [skip ci]
borkdude Jan 31, 2023
0dab6f5
SCI: loaded-libs support
borkdude Feb 1, 2023
bbd1940
SCI minor
borkdude Feb 1, 2023
76e779d
Compatibility with `clojure.tools.namespace.repl/refresh` and `clojur…
borkdude Feb 1, 2023
72dbf53
TODO: disable :flaky tests on master branch:
borkdude Feb 1, 2023
ca1e2d7
Classloader interop improvements (#1480)
borkdude Feb 3, 2023
a19d05b
Support reader_tags.clj(c) (#1481)
borkdude Feb 3, 2023
842c7a0
v1.1.173
borkdude Feb 4, 2023
9441dab
Version bump
borkdude Feb 4, 2023
a6d8d01
changelog
borkdude Feb 4, 2023
02d300e
changelog
borkdude Feb 4, 2023
a4e791e
Add lib tests for xforms (#1483)
bobisageek Feb 4, 2023
cc0338a
Added Kleene to companies (#1485)
dosbol Feb 5, 2023
920babb
sci minor [skip ci]
borkdude Feb 5, 2023
ab0c5bb
Update babashka news
borkdude Feb 5, 2023
a185877
Fix #1482: make loading of libs thread safe
borkdude Feb 6, 2023
6d1f295
Fix #1487: babashka.tasks/clojure with 0 args (#1488)
borkdude Feb 6, 2023
42fd5d8
Don't fail build on flaky tests
bobisageek Feb 7, 2023
30a15e1
Bump fs
borkdude Feb 8, 2023
ead237e
Add more java classes and interfaces to support juxt.tick (#1490)
dvingo Feb 10, 2023
b2f5345
deps.clj
borkdude Feb 13, 2023
bf3623b
Bump http-client
borkdude Feb 14, 2023
734ca57
Partial fix for toString on deftype, #1494
borkdude Feb 14, 2023
c5c8086
More jaxax.crypto stuff (#1495)
borkdude Feb 15, 2023
9118c43
Fix #1496: add set-agent-send-executor! and set-agent-send-off-executor!
borkdude Feb 15, 2023
be426ee
Add secret key test
borkdude Feb 15, 2023
711bb40
Fix crypto test
borkdude Feb 15, 2023
332c7c6
Babashka CLI v0.6.46
borkdude Feb 19, 2023
7cd075c
Merge remote-tracking branch 'origin/jdk19-loom'
mikeananev Feb 19, 2023
1f82a6e
Update changelog and compile script to support loom virtual threads
mikeananev Feb 19, 2023
97eab0d
Bump deps
mikeananev Feb 19, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion .circleci/config.yml
Expand Up @@ -29,7 +29,7 @@ jobs:
- run:
name: Generate config
command: |
/tmp/bbb .circleci/script/short_ci.clj > generated_config.yml
/tmp/bbb .circleci/script/gen_ci.clj > generated_config.yml
- continuation/continue:
configuration_path: generated_config.yml

Expand Down
21 changes: 14 additions & 7 deletions .circleci/script/short_ci.clj → .circleci/script/gen_ci.clj
@@ -1,4 +1,4 @@
(ns short-ci
(ns gen-ci
(:require
[babashka.tasks :as tasks]
[clj-yaml.core :as yaml]
Expand Down Expand Up @@ -72,14 +72,16 @@
"java -jar ./target/babashka-$(cat resources/BABASHKA_VERSION)-standalone.jar .circleci/script/docker.clj"}}]))))

(defn jvm
[shorted?]
[shorted? graalvm-home]
(gen-job
shorted?
(ordered-map
:docker [{:image "circleci/clojure:openjdk-11-lein-2.9.8-bullseye"}]
:working_directory "~/repo"
:environment {:LEIN_ROOT "true"
:BABASHKA_PLATFORM "linux"}
:BABASHKA_PLATFORM "linux"
:GRAALVM_VERSION "22.3.0"
:GRAALVM_HOME graalvm-home}
:resource_class "large"
:steps
(gen-steps
Expand All @@ -89,6 +91,7 @@
{:restore_cache {:keys ["v1-dependencies-{{ checksum \"project.clj\" }}-{{ checksum \"deps.edn\" }}"
"v1-dependencies-"]}}
(run "Install Clojure" "sudo script/install-clojure")
(run "Download GraalVM" "script/install-graalvm")
(run
"Run JVM tests"
"export BABASHKA_FEATURE_JDBC=true
Expand All @@ -102,6 +105,8 @@ script/uberjar
VERSION=$(cat resources/BABASHKA_VERSION)
jar=target/babashka-$VERSION-standalone.jar
cp $jar /tmp/release
export PATH=$GRAALVM_HOME/bin:$PATH
export JAVA_HOME=$GRAALVM_HOME
java -jar $jar script/reflection.clj
reflection=\"babashka-$VERSION-reflection.json\"
java -jar \"$jar\" --config .build/bb.edn --deps-root . release-artifact \"$jar\"
Expand Down Expand Up @@ -149,6 +154,8 @@ java -jar \"$jar\" --config .build/bb.edn --deps-root . release-artifact \"$refl
:steps (gen-steps shorted?
(filter some?
[:checkout
(when (contains? #{"linux" "linux-aarch64"} platform)
(run "Check max glibc version" "script/check_glibc.sh"))
{:attach_workspace {:at "/tmp"}}
(run "Pull Submodules" "git submodule init\ngit submodule update")
{:restore_cache
Expand All @@ -168,7 +175,7 @@ java -jar \"$jar\" --config .build/bb.edn --deps-root . release-artifact \"$refl
{:persist_to_workspace {:root "/tmp"
:paths ["release"]}}
{:save_cache
{:paths ["~/.m2" "~/graalvm-ce-java19-22.3.0"]
{:paths ["~/.m2" "~/graalvm-ce-java11-22.3.0"]
:key cache-key}}
{:store_artifacts {:path "/tmp/release"
:destination "release"}}
Expand All @@ -180,8 +187,8 @@ java -jar \"$jar\" --config .build/bb.edn --deps-root . release-artifact \"$refl
(let [docker-executor-conf {:docker [{:image "circleci/clojure:openjdk-11-lein-2.9.8-bullseye"}]}
machine-executor-conf {:machine {:image "ubuntu-2004:202111-01"}}
mac-executor-conf {:macos {:xcode "14.0.0"}}
linux-graalvm-home "/home/circleci/graalvm-ce-java19-22.3.0"
mac-graalvm-home "/Users/distiller/graalvm-ce-java19-22.3.0/Contents/Home"]
linux-graalvm-home "/home/circleci/graalvm-ce-java11-22.3.0"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You shouldn't change this, as the jdk19-loom branch needs java19

mac-graalvm-home "/Users/distiller/graalvm-ce-java11-22.3.0/Contents/Home"]
(ordered-map
:version 2.1
:commands
Expand All @@ -192,7 +199,7 @@ java -jar \"$jar\" --config .build/bb.edn --deps-root . release-artifact \"$refl
:command
"docker run --privileged --rm tonistiigi/binfmt --install all\ndocker buildx create --name ci-builder --use"}}]}}
:jobs (ordered-map
:jvm (jvm shorted?)
:jvm (jvm shorted? linux-graalvm-home)
:linux (unix shorted? false false "amd64" docker-executor-conf "large" linux-graalvm-home "linux")
:linux-static
(unix shorted? true true "amd64" docker-executor-conf "large" linux-graalvm-home "linux")
Expand Down
3 changes: 2 additions & 1 deletion .cirrus.yml
Expand Up @@ -6,7 +6,7 @@ task:
env:
LEIN_ROOT: "true"
GRAALVM_VERSION: "22.3.0"
GRAALVM_HOME: ${HOME}/graalvm-ce-java19-22.3.0/Contents/Home
GRAALVM_HOME: ${HOME}/graalvm-ce-java11-22.3.0/Contents/Home
BABASHKA_PLATFORM: macos # used in release script
BABASHKA_ARCH: aarch64
BABASHKA_TEST_ENV: native
Expand All @@ -20,6 +20,7 @@ task:
sudo script/install-leiningen
script/install-graalvm
export PATH=$GRAALVM_HOME/bin:$PATH
export JAVA_HOME=$GRAALVM_HOME
sudo /usr/sbin/softwareupdate --install-rosetta --agree-to-license
java -version

Expand Down
3 changes: 2 additions & 1 deletion .clj-kondo/config.edn
Expand Up @@ -5,4 +5,5 @@
babashka.impl.File/gen-wrapper-fn-2 clojure.core/def
babashka.impl.Pattern/gen-wrapper-fn-2 clojure.core/def
babashka.impl.Pattern/gen-constants clojure.core/declare}
:linters {:unsorted-required-namespaces {:level :warning}}}
:linters {:unsorted-required-namespaces {:level :warning}}
:hooks {:analyze-call {clojure.core/requiring-resolve hooks.mine/req-resolve}}}
128 changes: 128 additions & 0 deletions CHANGELOG.md
Expand Up @@ -5,12 +5,132 @@ For a list of breaking changes, check [here](#breaking-changes).
A preview of the next release can be installed from
[babashka-dev-builds](https://github.com/babashka/babashka-dev-builds).

[Babashka](https://github.com/babashka/babashka): Native, fast starting Clojure interpreter for scripting

## Unreleased
- Add jdk19 loom virtual threads support to master
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The goal is not to merge this to master yet, but to the jdk19-loom branch

- Add more java.time and related classes with the goal of supporting juxt.tick https://github.com/juxt/tick/issues/86
- [#1000](https://github.com/babashka/babashka/issues/1000): add lib tests for xforms ([@bobisageek](https://github.com/bobisageek))
- [#1482](https://github.com/babashka/babashka/issues/1482): make loading of libs thread safe
- [#1487](https://github.com/babashka/babashka/issues/1487): `babashka.tasks/clojure` should be supported without arguments to start a REPL
- [#1496](https://github.com/babashka/babashka/issues/1496): Add `set-agent-send-executor!` and `set-agent-send-off-executor!`

## 1.1.173 (2023-02-04)

- [#1473](https://github.com/babashka/babashka/issues/1473): support `--config` in other dir + `:local/root` ([@lispyclouds](https://github.com/lispyclouds))
- Compatibility with `clojure.tools.namespace.repl/refresh` and `clojure.java.classpath`
- `(clojure.lang.RT/baseLoader)` now returns classloader with babashka dependencies on classpath
- Support reading tags from `data_readers.clj` and `data_readers.cljc`
- Don't exit REPL when `babashka.deps/add-deps` fails
- Fix [#1474](https://github.com/babashka/babashka/issues/1474): when `.bb` file is in different artifact, `.clj` file is loaded first if it appears first on classpath
- Support for `*loaded-libs*` and `(loaded-libs)`
- Bump rewrite-clj to `1.1.46`
- Bump http-client to `0.0.3`
- Bump fs to `0.2.15`
- Bump process to `0.4.16`

## 1.1.172 (2023-01-23)

- [#1472](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.

## 1.1.171 (2023-01-23)

- [#1467](https://github.com/babashka/babashka/issues/1467): **BREAKING**: avoid printing results, unless `--prn` is enabled (aside from `-e`, `-o` and `-O`).
- Include [http-client](https://github.com/babashka/http-client) as built-in library
- SCI: support `add-watch` on vars
- Compatibility with [eftest](https://github.com/weavejester/eftest) test runner (see [demo](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 [kaocha](https://github.com/lambdaisland/kaocha)
- Allow `java.io.OutputStream` to be proxied, for [kaocha](https://github.com/lambdaisland/kaocha)
- Support qualified method names in `proxy` and ignore namespace

## 1.0.170 (2023-01-19)

- [#1463](https://github.com/babashka/babashka/issues/1463): Add `java.util.jar.Attributes` class ([@jeroenvandijk](https://github.com/jeroenvandijk))
- [#1456](https://github.com/babashka/babashka/issues/1456): allow `*warn-on-reflection*` and `*unchecked-math*` to be set in socket REPL and nREPL ([@axks](https://github.com/axks))
- SCI: macroexpansion error location improvement
- Add compatibility with [tab](https://github.com/eerohele/tab) and [solenoid](https://github.com/adam-james-v/solenoid)
- Bump babashka.cli and babashka.fs
- New classes:
- `java.util.jar.Attributes`
- `java.util.concurrent.ThreadFactory`
- `java.lang.Thread$UncaughtExceptionHandler`
- `java.lang.Thread$UncaughtExceptionHandler`
- `java.util.concurrent.BlockingQueue`
- `java.util.concurrent.ArrayBlockingQueue`
- `java.util.concurrent.ThreadFactory`
- `java.lang.Thread$UncaughtExceptionHandler`
- `java.util.concurrent.Semaphore`
- Expose more httpkit.server functions: `with-channel`, `on-close`, `close`

## 1.0.169 (2023-01-03)

- Implement `ns`, `lazy-seq` as macro
- Support `--dev-build` flag in installation script
- [#1451](https://github.com/babashka/babashka/issues/1451): Allow passing explicit file and line number to clojure.test ([@matthewdowney](https://github.com/matthewdowney))
- [#1280](https://github.com/babashka/babashka/issues/1280): babashka REPL doesn't quit right after Ctrl-d ([@formerly-a-trickster](https://github.com/formerly-a-trickster) and Alice Margatroid)
- [#1446](https://github.com/babashka/babashka/issues/1446): add `pprint/code-dispatch`
- Update zlib to version `1.2.13` ([@thiagokokada](https://github.com/thiagokokada))
- [#1454](https://github.com/babashka/babashka/issues/1454): Add `babashka.process` to `print-deps` output
- Update `deps.clj` / clojure tools to `1.11.1.1208`
- Add `reader-conditional` function
- Fix pretty printing (with `clojure.pprint`) of vars
- Upgrade built-in `spec.alpha`
- SCI performance improvements: faster JVM interop

## 1.0.168 (2022-12-07)

- `loop*`, `fn*` are now special forms and `loop`, `fn`, `defn`, `defmacro`, `and` and `or` are implemented as macros. This restores compatibility with [rcf](https://github.com/borkdude/hyperfiddle-rcf)
- fs: don't touch dirs in `split-ext`
- Update to babashka process to v0.4.13: support `(process opts? & args)` syntax everywhere
- [#1438](https://github.com/babashka/babashka/issues/1438): expose `query-string` and `url-encode` functions from org.httpkit.client ([@bobisageek](https://github.com/bobisageek))
- Add `java.util.InputMismatchException`

## 1.0.167 (2022-11-30)

- [#1433](https://github.com/babashka/babashka/issues/1433): spec source as built-in fallback. When not including the
[clojure.spec.alpha](https://github.com/babashka/spec.alpha) fork as a
library, babashka loads a bundled version, when `clojure.spec.alpha` is required.
- [#1430](https://github.com/babashka/babashka/issues/1430): Fix issue with `bb tasks` throwing on empty display tasks list.
- Add note about BSOD when using WSL1, see [README.md/quickstart](https://github.com/LouDnl/babashka#quickstart)
- SCI: performance improvements
- Better error locations for interop ([@bobisageek](https://github.com/bobisageek))
- Fix [babashka/babashka.nrepl#59](https://github.com/babashka/babashka.nrepl/issues/59): do not output extra new line with cider pprint
- Use `namespace-munge` instead of `munge` for doing ns -> file lookup

## 1.0.166 (2022-11-24)

See the [Testing babashka scripts](https://blog.michielborkent.nl/babashka-test-runner.html) blog post for how to run tests with this release.

- Compatibility with Cognitest [test-runner](https://github.com/cognitect-labs/test-runner) and [tools.namespace](https://github.com/clojure/tools.namespace)
- Add `run-test` and `run-test-var` to `clojure.test`
- Compile distributed uberjar using GraalVM, fixes `babashka.process/exec` for Nix
- [#1414](https://github.com/babashka/babashka/issues/1414): preserve metadata on exec task function argument map
- [#1269](https://github.com/babashka/babashka/issues/1269): add lib tests for sluj ([@bobisageek](https://github.com/bobisageek))
- Update nix app example in docs
- Add `java.lang.Error` and `java.net.URLClassLoader` (only for compatibility with the `clojure.java.classpath` lib)
- Deps.clj `deps.clj: 1.11.1.1200`
- Upgrade timbre to `6.0.1`
- Performance improvements in SCI
- SCI: preserve stack information on `throw` expressions

## 1.0.165 (2022-11-01)

- Fix [#1401](https://github.com/babashka/babashka/issues/1401): mutation of `deftype` field should be visible in protocol method
- Fix [#1405](https://github.com/babashka/babashka/issues/1405): drop name metadata from conditionally defined var
- [#602](https://github.com/babashka/babashka/issues/602): add lib tests for clj-commons/fs ([@bobisageek](https://github.com/bobisageek))
- Add `java.net.URLConnection` class
- Add `java.time.zone.ZoneRules` class
- Copy more docstrings for core macros and vars
- Bump `core.async` to `1.6.673`
- Implement `in-ns` as function, rather than special form ([@SignSpice](https://github.com/SignSpice))
- Bump `deps.clj` to `1.11.1.1182`
- Bump GraalVM to `22.3.0`
- SCI: don't rely on metadata for record implementation

## 1.0.164 (2022-10-17)

Expand Down Expand Up @@ -1150,6 +1270,14 @@ Details about releases prior to v0.1.0 can be found

## Breaking changes

### v1.1.172

- Bump `babashka.process`: change default for `:out :append` to `:out :write`. This default is undocumented so the impact should be small.

### v1.1.171

- [#1467](https://github.com/babashka/babashka/issues/1467): avoid printing results, unless `--prn` is enabled (aside from `-e`, `-o` and `-O`).

### v0.2.4

- Remove cheshire smile functions [#658](https://github.com/babashka/babashka/issues/658)
Expand Down
5 changes: 3 additions & 2 deletions Dockerfile
Expand Up @@ -7,8 +7,9 @@ WORKDIR "/opt"

ENV GRAALVM_VERSION="22.3.0"
ARG TARGETARCH
ENV BABASHKA_ARCH=${TARGETARCH}
ENV GRAALVM_ARCH=${TARGETARCH}
# Do not set those directly, use TARGETARCH instead
ENV BABASHKA_ARCH=
ENV GRAALVM_ARCH=
RUN if [ "${TARGETARCH}" = "" ] || [ "${TARGETARCH}" = "amd64" ]; then \
export GRAALVM_ARCH=amd64; export BABASHKA_ARCH=x86_64; \
elif [ "${TARGETARCH}" = "arm64" ]; then \
Expand Down
6 changes: 4 additions & 2 deletions Dockerfile.alpine
Expand Up @@ -4,9 +4,11 @@ COPY bb /bin/bb

RUN chmod +x /bin/bb

# TODO: See https://github.com/sgerrand/alpine-pkg-glibc/issues/185 and remove the `--force-overwrite`s when resolved.

RUN apk --no-cache add curl ca-certificates tar && \
curl -Ls https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.28-r0/glibc-2.28-r0.apk > /tmp/glibc-2.28-r0.apk && \
apk add --allow-untrusted /tmp/glibc-2.28-r0.apk
apk add --allow-untrusted --force-overwrite /tmp/glibc-2.28-r0.apk
RUN echo 'hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4' >> /etc/nsswitch.conf

# TODO: Run actual native tests when they are ported
Expand All @@ -21,7 +23,7 @@ FROM alpine:3

RUN apk --no-cache add curl ca-certificates tar && \
curl -Ls https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.28-r0/glibc-2.28-r0.apk > /tmp/glibc-2.28-r0.apk && \
apk add --allow-untrusted /tmp/glibc-2.28-r0.apk
apk add --allow-untrusted --force-overwrite /tmp/glibc-2.28-r0.apk
RUN echo 'hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4' >> /etc/nsswitch.conf

COPY metabom.jar /opt/babashka-metabom.jar
Expand Down