From d17a5342d24d40f98c9f50ad6fcd7a209127ac5f Mon Sep 17 00:00:00 2001 From: Michiel Borkent Date: Mon, 5 Aug 2024 11:53:50 +0200 Subject: [PATCH 1/9] Bump fs --- fs | 2 +- src/babashka/impl/print_deps.clj | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/fs b/fs index 8658cab4..11121ded 160000 --- a/fs +++ b/fs @@ -1 +1 @@ -Subproject commit 8658cab4981158dfd439b55b5932a276c4b65bf2 +Subproject commit 11121dedba416e93ce1eb69674c78f269a1f3e0a diff --git a/src/babashka/impl/print_deps.clj b/src/babashka/impl/print_deps.clj index 593fd836..34202717 100644 --- a/src/babashka/impl/print_deps.clj +++ b/src/babashka/impl/print_deps.clj @@ -14,11 +14,11 @@ edn/read-string) deps (:deps deps) deps (assoc deps - 'babashka/fs {:mvn/version "0.4.19"} + 'babashka/fs {:mvn/version "0.5.22"} 'babashka/babashka.curl {:mvn/version "0.1.2"} 'babashka/babashka.core {:git/url "https://github.com/babashka/babashka.core" :git/sha "52a6037bd4b632bffffb04394fb4efd0cdab6b1e"} - 'babashka/process {:mvn/version "0.5.21"}) + 'babashka/process {:mvn/version "0.5.22"}) deps (dissoc deps 'borkdude/sci 'org.babashka/sci From 366cbed6896199cc117654c56b6a46ec68064c79 Mon Sep 17 00:00:00 2001 From: Michiel Borkent Date: Mon, 5 Aug 2024 12:02:29 +0200 Subject: [PATCH 2/9] changelogs --- CHANGELOG.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index da3c7f3e..9cd8edf1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,13 @@ A preview of the next release can be installed from [Babashka](https://github.com/babashka/babashka): Native, fast starting Clojure interpreter for scripting +## Unreleased + +- [#1598](https://github.com/babashka/babashka/issues/1598): use Rosetta on CircleCI to build x64 images +- Bump SCI +- Bump `fs` +- Bump `process` + ## 1.3.191 (2024-06-19) - Fix [#1688](https://github.com/babashka/babashka/issues/1688): `use-fixtures` should add metadata to `*ns*` @@ -19,7 +26,7 @@ A preview of the next release can be installed from - [#1696](https://github.com/babashka/babashka/issues/1696): add `clojure.core/*source-path*` (points to the same sci var as `*file*`) ([@bobisageek](https://github.com/bobisageek)) - [#1696](https://github.com/babashka/babashka/issues/1696): add `clojure.main/with-read-known` ([@bobisageek](https://github.com/bobisageek)) - [#1696](https://github.com/babashka/babashka/issues/1696): add `clojure.core.server/repl-read` ([@bobisageek](https://github.com/bobisageek)) -- #1696: make the `cognitect-labs/transcriptor` library work ([@bobisageek](https://github.com/bobisageek)) +- [#1696](https://github.com/babashka/babashka/issues/1696): make the `cognitect-labs/transcriptor` library work ([@bobisageek](https://github.com/bobisageek)) - [#1700](https://github.com/babashka/babashka/issues/1700): catch exceptions from resolving symbolic links during `bb.edn` lookup ([@bobisageek](https://github.com/bobisageek)) - Support `java.nio.channels.ByteChannel` + several other related interop - Bump `nrepl/bencode` to `1.2.0` From 880b4ebe3f1a8e55192da374dcad10935e917fb7 Mon Sep 17 00:00:00 2001 From: Michiel Borkent Date: Tue, 6 Aug 2024 11:21:20 +0200 Subject: [PATCH 3/9] Bump deps.clj --- deps.clj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deps.clj b/deps.clj index aa143f01..42dae400 160000 --- a/deps.clj +++ b/deps.clj @@ -1 +1 @@ -Subproject commit aa143f015469884d91f812e16b977ecccdcc2c04 +Subproject commit 42dae4007337ca9d31b4df83b652b03de8e09b7b From 93e398f28869aa67a189248e9405e11ec2c469fd Mon Sep 17 00:00:00 2001 From: Michiel Borkent Date: Tue, 6 Aug 2024 11:21:39 +0200 Subject: [PATCH 4/9] readme --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9cd8edf1..7d35753b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ A preview of the next release can be installed from - Bump SCI - Bump `fs` - Bump `process` +- Bump `deps.clj` ## 1.3.191 (2024-06-19) From cdfc664682ac88e4525125094b27279ca236ce38 Mon Sep 17 00:00:00 2001 From: Michiel Borkent Date: Fri, 9 Aug 2024 18:25:56 +0200 Subject: [PATCH 5/9] Bump sci --- sci | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sci b/sci index 7fb09a78..05eec0a3 160000 --- a/sci +++ b/sci @@ -1 +1 @@ -Subproject commit 7fb09a7826f7451ed73587888bc909076394b1ba +Subproject commit 05eec0a37b3df3173a58372a5a05f7f22a4c3780 From da9fcbf10dda3a8ab23c67c7c0264e2a11d9a286 Mon Sep 17 00:00:00 2001 From: Michiel Borkent Date: Sat, 10 Aug 2024 13:32:24 +0200 Subject: [PATCH 6/9] Add java.io.LineNumberReader (#1714) --- CHANGELOG.md | 1 + src/babashka/impl/classes.clj | 1 + test-resources/lib_tests/httpkit/client_test.clj | 7 +++++-- test/babashka/interop_test.clj | 4 ++++ 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7d35753b..2889a804 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ A preview of the next release can be installed from - Bump `fs` - Bump `process` - Bump `deps.clj` +- Add `java.io.LineNumberReader` ## 1.3.191 (2024-06-19) diff --git a/src/babashka/impl/classes.clj b/src/babashka/impl/classes.clj index a2c3c8e1..870597b5 100644 --- a/src/babashka/impl/classes.clj +++ b/src/babashka/impl/classes.clj @@ -276,6 +276,7 @@ java.io.FileOutputStream java.io.FileReader java.io.FileWriter + java.io.LineNumberReader java.io.RandomAccessFile java.io.InputStream java.io.IOException diff --git a/test-resources/lib_tests/httpkit/client_test.clj b/test-resources/lib_tests/httpkit/client_test.clj index 546ff867..dba07bcd 100644 --- a/test-resources/lib_tests/httpkit/client_test.clj +++ b/test-resources/lib_tests/httpkit/client_test.clj @@ -1,5 +1,6 @@ (ns httpkit.client-test (:require [cheshire.core :as json] + [clojure.string :as str] [clojure.test :refer [deftest is testing #_*report-counters*]] [org.httpkit.client :as client])) @@ -16,12 +17,14 @@ (deftest get-test (is (= 200 (:status @(client/get "https://postman-echo.com/get")))) - (is (= "https://postman-echo.com/get" + (is (str/includes? (-> @(client/get "https://postman-echo.com/get" {:headers {"Accept" "application/json"}}) :body (json/parse-string true) - :url))) + :url) + "postman-echo.com/get")) + ;; BB-TEST-PATCH: postman started responding with http:// instead of https:// (testing "query params" (is (= {:foo1 "bar1", :foo2 "bar2"} (-> @(client/get "https://postman-echo.com/get" {:query-params {"foo1" "bar1" "foo2" "bar2"}}) diff --git a/test/babashka/interop_test.clj b/test/babashka/interop_test.clj index 59e88287..83fc4faa 100644 --- a/test/babashka/interop_test.clj +++ b/test/babashka/interop_test.clj @@ -61,3 +61,7 @@ (is (= :user/success (bb nil "(try (.createSocket (javax.net.ssl.SSLSocketFactory/getDefault) \"localhost\" 4444) (catch java.net.ConnectException e ::success))"))) (is (bb nil " (.startHandshake (.createSocket (javax.net.ssl.SSLSocketFactory/getDefault) \"clojure.org\" 443)) ::success"))) + +(deftest jio-line-number-reader-test + (is (= 2 (bb nil "(def rdr (java.io.LineNumberReader. (java.io.StringReader. \"foo\nbar\"))) + (binding [*in* rdr] (read-line) (read-line)) (.getLineNumber rdr)")))) From 16eebb60a3c3e09eb3d41d4eaa096e068c38cef3 Mon Sep 17 00:00:00 2001 From: Michiel Borkent Date: Tue, 13 Aug 2024 14:48:12 +0200 Subject: [PATCH 7/9] Bump http-client --- CHANGELOG.md | 1 + deps.edn | 2 +- project.clj | 2 +- resources/META-INF/babashka/deps.edn | 2 +- sci | 2 +- 5 files changed, 5 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2889a804..d7515fb7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ A preview of the next release can be installed from - Bump `fs` - Bump `process` - Bump `deps.clj` +- Bump `http-client` - Add `java.io.LineNumberReader` ## 1.3.191 (2024-06-19) diff --git a/deps.edn b/deps.edn index b368ba13..2f3a49c4 100644 --- a/deps.edn +++ b/deps.edn @@ -51,7 +51,7 @@ insn/insn {:mvn/version "0.5.2"} org.clojure/core.rrb-vector {:mvn/version "0.1.2"} org.babashka/cli {:mvn/version "0.8.59"} - org.babashka/http-client {:mvn/version "0.4.18"} + org.babashka/http-client {:mvn/version "0.4.20"} org.flatland/ordered {:mvn/version "1.15.12"}} :aliases {:babashka/dev {:main-opts ["-m" "babashka.main"]} diff --git a/project.clj b/project.clj index 0554a2af..3754fa36 100644 --- a/project.clj +++ b/project.clj @@ -36,7 +36,7 @@ [rewrite-clj/rewrite-clj "1.1.47"] [insn/insn "0.5.2"] [org.babashka/cli "0.8.59"] - [org.babashka/http-client "0.4.18"]] + [org.babashka/http-client "0.4.20"]] :plugins [[org.kipz/lein-meta-bom "0.1.1"]] :metabom {:jar-name "metabom.jar"} :profiles {:feature/xml {:source-paths ["feature-xml"] diff --git a/resources/META-INF/babashka/deps.edn b/resources/META-INF/babashka/deps.edn index b368ba13..2f3a49c4 100644 --- a/resources/META-INF/babashka/deps.edn +++ b/resources/META-INF/babashka/deps.edn @@ -51,7 +51,7 @@ insn/insn {:mvn/version "0.5.2"} org.clojure/core.rrb-vector {:mvn/version "0.1.2"} org.babashka/cli {:mvn/version "0.8.59"} - org.babashka/http-client {:mvn/version "0.4.18"} + org.babashka/http-client {:mvn/version "0.4.20"} org.flatland/ordered {:mvn/version "1.15.12"}} :aliases {:babashka/dev {:main-opts ["-m" "babashka.main"]} diff --git a/sci b/sci index 05eec0a3..c556f447 160000 --- a/sci +++ b/sci @@ -1 +1 @@ -Subproject commit 05eec0a37b3df3173a58372a5a05f7f22a4c3780 +Subproject commit c556f4474303c61da72e7a07eef496dcbf66a56e From 2bb865917a4da6fd241441ed71ebc6cbd91a1519 Mon Sep 17 00:00:00 2001 From: Michiel Borkent Date: Fri, 16 Aug 2024 15:40:34 +0200 Subject: [PATCH 8/9] README --- README.md | 53 ++++++++--------------------------------------------- 1 file changed, 8 insertions(+), 45 deletions(-) diff --git a/README.md b/README.md index 058d7fc2..f855706a 100644 --- a/README.md +++ b/README.md @@ -40,10 +40,10 @@ As one user described it: ## Quickstart For installation options check [Installation](https://github.com/babashka/babashka#installation). -For quick installation use: +For quick installation using `bash`, use: ``` shell -$ bash < <(curl -s https://raw.githubusercontent.com/babashka/babashka/master/install) +bash < <(curl -s https://raw.githubusercontent.com/babashka/babashka/master/install) ``` or grab a binary from [Github @@ -53,9 +53,12 @@ anywhere on the path. Then you're ready to go: ``` shellsession -$ ls | bb -i '(filter fs/directory? *input*)' -("doc" "resources" "sci" "script" "src" "target" "test") -bb took 4ms. +time bb -e '(->> (fs/list-dir ".") (filter fs/directory?) (map fs/normalize) (map str) (take 3))' +``` + +``` clojure +(".build" "feature-lanterna" ".repl") +bb -e 0,01s user 0,01s system 70% cpu 0,017 total ``` ## Support :heart: @@ -120,46 +123,6 @@ by Daniel Higginbotham, who has also helped a lot of people learn Clojure with [Clojure for the Brave and True](https://www.braveclojure.com/clojure-for-the-brave-and-true/). -## Examples - -Read the output from a shell command as a lazy seq of strings: - -``` shell -$ ls | bb -i '(take 2 *input*)' -("CHANGES.md" "Dockerfile") -``` - -Read EDN from stdin and write the result to stdout: - -``` shell -$ bb '(vec (dedupe *input*))' <<< '[1 1 1 1 2]' -[1 2] -``` - -Read more about `*input*` and in- and output flags -[here](https://book.babashka.org/#_input_and_output_flags). - -Execute a script. E.g. print the current time in California using the -`java.time` API: - -File `pst.clj`: -``` clojure -#!/usr/bin/env bb - -(def now (java.time.ZonedDateTime/now)) -(def LA-timezone (java.time.ZoneId/of "America/Los_Angeles")) -(def LA-time (.withZoneSameInstant now LA-timezone)) -(def pattern (java.time.format.DateTimeFormatter/ofPattern "HH:mm")) -(println (.format LA-time pattern)) -``` - -``` shell -$ bb pst.clj -05:17 -``` - -More examples can be found [here](examples/README.md). - ## Try online You can try babashka online with Nextjournal's babashka [notebook From d226fe785afb2ca1ba7f8ea46d82787976a5e7b1 Mon Sep 17 00:00:00 2001 From: Michiel Borkent Date: Thu, 22 Aug 2024 20:23:57 +0200 Subject: [PATCH 9/9] Bump edamame --- project.clj | 2 +- sci | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/project.clj b/project.clj index 3754fa36..052ebdb2 100644 --- a/project.clj +++ b/project.clj @@ -22,7 +22,7 @@ :flaky :flaky} :jvm-opts ["--enable-preview"] :dependencies [[org.clojure/clojure "1.11.2"] - [borkdude/edamame "1.4.24"] + [borkdude/edamame "1.4.27"] [borkdude/graal.locking "0.0.2"] [org.clojure/tools.cli "1.0.214"] [cheshire "5.13.0"] diff --git a/sci b/sci index c556f447..f766255d 160000 --- a/sci +++ b/sci @@ -1 +1 @@ -Subproject commit c556f4474303c61da72e7a07eef496dcbf66a56e +Subproject commit f766255d14647d46486546dc6afce1ae1bcd2c7b