diff --git a/CHANGELOG.md b/CHANGELOG.md index 29707778..7ea12721 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,9 +9,16 @@ A preview of the next release can be installed from ## Unreleased +- Add compatibility with the [fusebox](https://github.com/potetm/fusebox) library - Fix virtual `ThreadBuilder` interop - Add `java.util.concurrent.ThreadLocalRandom` - Add `java.util.concurrent.locks.ReentrantLock` +- Add classes: + - `java.time.chrono.ChronoLocalDate` + - `java.time.temporal.TemporalUnit` + - `java.time.chrono.ChronoLocalDateTime` + - `java.time.chrono.ChronoZonedDateTime` + - `java.time.chrono.Chronology` ## 1.12.199 (2025-04-18) diff --git a/deps.edn b/deps.edn index c891086f..c69d185e 100644 --- a/deps.edn +++ b/deps.edn @@ -174,7 +174,9 @@ prismatic/plumbing {:git/url "https://github.com/plumatic/plumbing", :git/sha "424bc704f2db422de34269c139a5494314b3a43b"} org.clj-commons/hickory {:git/url "https://github.com/clj-commons/hickory" - :git/sha "9385b6708ef35f161732d8464b3a3aa57dd79f30"}} + :git/sha "9385b6708ef35f161732d8464b3a3aa57dd79f30"} + com.potetm/fusebox {:git/url "https://github.com/potetm/fusebox" + :git/sha "2f42391868c82c193628bec8922f8735ae3cac66"}} :classpath-overrides {org.clojure/clojure nil org.clojure/spec.alpha nil}} :clj-nvd diff --git a/project.clj b/project.clj index 97b7fe1f..6f5a0581 100644 --- a/project.clj +++ b/project.clj @@ -26,7 +26,7 @@ [org.clojure/tools.cli "1.0.214"] [cheshire "6.0.0"] [nrepl/bencode "1.2.0"] - [borkdude/sci.impl.reflector "0.0.3"] + [borkdude/sci.impl.reflector "0.0.4"] [org.babashka/sci.impl.types "0.0.2"] [org.babashka/babashka.impl.java "0.1.10"] [org.clojure/core.async "1.8.741"] diff --git a/resources/META-INF/babashka/deps.edn b/resources/META-INF/babashka/deps.edn index c891086f..c69d185e 100644 --- a/resources/META-INF/babashka/deps.edn +++ b/resources/META-INF/babashka/deps.edn @@ -174,7 +174,9 @@ prismatic/plumbing {:git/url "https://github.com/plumatic/plumbing", :git/sha "424bc704f2db422de34269c139a5494314b3a43b"} org.clj-commons/hickory {:git/url "https://github.com/clj-commons/hickory" - :git/sha "9385b6708ef35f161732d8464b3a3aa57dd79f30"}} + :git/sha "9385b6708ef35f161732d8464b3a3aa57dd79f30"} + com.potetm/fusebox {:git/url "https://github.com/potetm/fusebox" + :git/sha "2f42391868c82c193628bec8922f8735ae3cac66"}} :classpath-overrides {org.clojure/clojure nil org.clojure/spec.alpha nil}} :clj-nvd diff --git a/sci b/sci index bb544b70..ec068a93 160000 --- a/sci +++ b/sci @@ -1 +1 @@ -Subproject commit bb544b70ecdf3574bb7600f9203b08041e9d50d0 +Subproject commit ec068a93d012ecd4385c142e7352d24f9a06e74f diff --git a/src/babashka/impl/classes.clj b/src/babashka/impl/classes.clj index d964e851..a7bda5e9 100644 --- a/src/babashka/impl/classes.clj +++ b/src/babashka/impl/classes.clj @@ -476,7 +476,12 @@ java.time.temporal.TemporalAccessor java.time.temporal.TemporalAdjuster java.time.temporal.TemporalQuery - ~(symbol "[Ljava.time.temporal.TemporalQuery;")]) + ~(symbol "[Ljava.time.temporal.TemporalQuery;") + java.time.chrono.ChronoLocalDate + java.time.temporal.TemporalUnit + java.time.chrono.ChronoLocalDateTime + java.time.chrono.ChronoZonedDateTime + java.time.chrono.Chronology]) java.util.concurrent.atomic.AtomicInteger java.util.concurrent.atomic.AtomicLong java.util.concurrent.atomic.AtomicReference diff --git a/test-resources/lib_tests/babashka/run_all_libtests.clj b/test-resources/lib_tests/babashka/run_all_libtests.clj index 20e4e11b..b9b70876 100644 --- a/test-resources/lib_tests/babashka/run_all_libtests.clj +++ b/test-resources/lib_tests/babashka/run_all_libtests.clj @@ -75,8 +75,6 @@ (doseq [p test-paths] (add-classpath (str (fs/file git-dir p))))) (when-not (and skip-windows (windows?)) - (prn :branch (current-branch)) - (prn (System/getenv)) (if (and flaky (#{"main" "master"} (current-branch))) (println "Skipping" tns "for main branch because it's marked flaky") (swap! test-nss into tns)))) diff --git a/test-resources/lib_tests/bb-tested-libs.edn b/test-resources/lib_tests/bb-tested-libs.edn index 1b32339f..8a254a2b 100644 --- a/test-resources/lib_tests/bb-tested-libs.edn +++ b/test-resources/lib_tests/bb-tested-libs.edn @@ -201,4 +201,16 @@ hickory.test.render hickory.test.select hickory.test.zip]} - cheshire/cheshire {:git-url "https://github.com/dakrone/cheshire", :test-namespaces [cheshire.test.core], :manually-added true}} + cheshire/cheshire {:git-url "https://github.com/dakrone/cheshire", :test-namespaces [cheshire.test.core], :manually-added true} + com.potetm/fusebox {:git-url "https://github.com/potetm/fusebox" + :git-sha "2f42391868c82c193628bec8922f8735ae3cac66" + :test-paths ["test"] + :test-namespaces [com.potetm.fusebox.bulkhead-test + com.potetm.fusebox.bulwark-test + com.potetm.fusebox.circuit-breaker-test + com.potetm.fusebox.fallback-test + com.potetm.fusebox.memoize-test + #_com.potetm.fusebox.rate-limit-test + com.potetm.fusebox.registry-test + com.potetm.fusebox.retry-test + #_com.potetm.fusebox.timeout-test]}} diff --git a/test-resources/lib_tests/hato/client_test.clj b/test-resources/lib_tests/hato/client_test.clj index 7c663710..3f15c768 100644 --- a/test-resources/lib_tests/hato/client_test.clj +++ b/test-resources/lib_tests/hato/client_test.clj @@ -341,7 +341,7 @@ (is (= ::response r)))) (try (get "https://httpbin.org/gzip" {:timeout 1000}) - (catch java.net.http.HttpTimeoutException _ + (catch Exception _ (doseq [v (vals (ns-publics *ns*))] (when (:integration (meta v)) (println "Removing test from" v "because httpbin is slow.") diff --git a/test/babashka/interop_test.clj b/test/babashka/interop_test.clj index 94d03aae..e10f8d09 100644 --- a/test/babashka/interop_test.clj +++ b/test/babashka/interop_test.clj @@ -245,6 +245,8 @@ (deftest cached-thread-pool (is (= 3 (bb nil "(import '(java.util.concurrent Executors ExecutorService)) - (let [fut (.submit ^ExecutorService (Executors/newCachedThreadPool) - ^Callable (fn [] 3))] - (.get fut))")))) + (let [fut (.submit ^ExecutorService (Executors/newCachedThreadPool) ^Callable (fn [] 3))] + (.get fut))"))) + (is (nil? (bb nil "(import '(java.util.concurrent Executors ExecutorService)) + (let [fut (.submit ^ExecutorService (Executors/newCachedThreadPool) ^Runnable (fn [] 3))] + (.get fut))"))))