From 1dfb1f65fc740889b4d13d36f31411936481de1c Mon Sep 17 00:00:00 2001 From: Lee Read Date: Tue, 21 Jan 2025 11:29:02 -0500 Subject: [PATCH] test, build, ci: bump tools & deps (#49) * ci: bump graalvm * test, build, ci: bump tools & deps * dev: moved clj-kondo lib imports to preferred spot --- .../{ => imports}/babashka/fs/config.edn | 0 .../http-kit/http-kit/config.edn | 0 .../http-kit/httpkit/with_channel.clj | 0 .../lread/status-line/config.edn | 0 .../rewrite-clj/rewrite-clj/config.edn | 0 .clj-kondo/imports/taoensso/encore/config.edn | 5 ++ .../taoensso/encore/taoensso/encore.clj | 51 +++++++++++++++++++ .github/workflows/ci.yml | 12 ++--- build-helper/deps.edn | 4 +- deps.edn | 14 ++--- test-hello-world/deps.edn | 2 +- test-single-segment/deps.edn | 2 +- 12 files changed, 73 insertions(+), 17 deletions(-) rename .clj-kondo/{ => imports}/babashka/fs/config.edn (100%) rename .clj-kondo/{ => imports}/http-kit/http-kit/config.edn (100%) rename .clj-kondo/{ => imports}/http-kit/http-kit/httpkit/with_channel.clj (100%) rename .clj-kondo/{ => imports}/lread/status-line/config.edn (100%) rename .clj-kondo/{ => imports}/rewrite-clj/rewrite-clj/config.edn (100%) create mode 100644 .clj-kondo/imports/taoensso/encore/config.edn create mode 100644 .clj-kondo/imports/taoensso/encore/taoensso/encore.clj diff --git a/.clj-kondo/babashka/fs/config.edn b/.clj-kondo/imports/babashka/fs/config.edn similarity index 100% rename from .clj-kondo/babashka/fs/config.edn rename to .clj-kondo/imports/babashka/fs/config.edn diff --git a/.clj-kondo/http-kit/http-kit/config.edn b/.clj-kondo/imports/http-kit/http-kit/config.edn similarity index 100% rename from .clj-kondo/http-kit/http-kit/config.edn rename to .clj-kondo/imports/http-kit/http-kit/config.edn diff --git a/.clj-kondo/http-kit/http-kit/httpkit/with_channel.clj b/.clj-kondo/imports/http-kit/http-kit/httpkit/with_channel.clj similarity index 100% rename from .clj-kondo/http-kit/http-kit/httpkit/with_channel.clj rename to .clj-kondo/imports/http-kit/http-kit/httpkit/with_channel.clj diff --git a/.clj-kondo/lread/status-line/config.edn b/.clj-kondo/imports/lread/status-line/config.edn similarity index 100% rename from .clj-kondo/lread/status-line/config.edn rename to .clj-kondo/imports/lread/status-line/config.edn diff --git a/.clj-kondo/rewrite-clj/rewrite-clj/config.edn b/.clj-kondo/imports/rewrite-clj/rewrite-clj/config.edn similarity index 100% rename from .clj-kondo/rewrite-clj/rewrite-clj/config.edn rename to .clj-kondo/imports/rewrite-clj/rewrite-clj/config.edn diff --git a/.clj-kondo/imports/taoensso/encore/config.edn b/.clj-kondo/imports/taoensso/encore/config.edn new file mode 100644 index 0000000..62a26ca --- /dev/null +++ b/.clj-kondo/imports/taoensso/encore/config.edn @@ -0,0 +1,5 @@ +{:hooks + {:analyze-call + {taoensso.encore/defalias taoensso.encore/defalias + taoensso.encore/defn-cached taoensso.encore/defn-cached + taoensso.encore/defonce taoensso.encore/defonce}}} diff --git a/.clj-kondo/imports/taoensso/encore/taoensso/encore.clj b/.clj-kondo/imports/taoensso/encore/taoensso/encore.clj new file mode 100644 index 0000000..5af6de9 --- /dev/null +++ b/.clj-kondo/imports/taoensso/encore/taoensso/encore.clj @@ -0,0 +1,51 @@ +(ns taoensso.encore + "I don't personally use clj-kondo, so these hooks are + kindly authored and maintained by contributors. + PRs very welcome! - Peter Taoussanis" + (:refer-clojure :exclude [defonce]) + (:require + [clj-kondo.hooks-api :as hooks])) + +(defn defalias + [{:keys [node]}] + (let [[sym-raw src-raw] (rest (:children node)) + src (or src-raw sym-raw) + sym (if src-raw sym-raw (symbol (name (hooks/sexpr src))))] + {:node + (with-meta + (hooks/list-node + [(hooks/token-node 'def) + (hooks/token-node (hooks/sexpr sym)) + (hooks/token-node (hooks/sexpr src))]) + (meta src))})) + +(defn defn-cached + [{:keys [node]}] + (let [[sym _opts binding-vec & body] (rest (:children node))] + {:node + (hooks/list-node + (list + (hooks/token-node 'def) + sym + (hooks/list-node + (list* + (hooks/token-node 'fn) + binding-vec + body))))})) + +(defn defonce + [{:keys [node]}] + ;; args = [sym doc-string? attr-map? init-expr] + (let [[sym & args] (rest (:children node)) + [doc-string args] (if (and (hooks/string-node? (first args)) (next args)) [(hooks/sexpr (first args)) (next args)] [nil args]) + [attr-map init-expr] (if (and (hooks/map-node? (first args)) (next args)) [(hooks/sexpr (first args)) (fnext args)] [nil (first args)]) + + attr-map (if doc-string (assoc attr-map :doc doc-string) attr-map) + sym+meta (if attr-map (with-meta sym attr-map) sym) + rewritten + (hooks/list-node + [(hooks/token-node 'clojure.core/defonce) + sym+meta + init-expr])] + + {:node rewritten})) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8232b97..9ac56e8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,10 +13,10 @@ jobs: uses: actions/setup-java@v4 with: distribution: 'temurin' - java-version: '17' + java-version: '21' - name: Setup Babashka - uses: DeLaGuardo/setup-clojure@12.5 + uses: DeLaGuardo/setup-clojure@13.1 with: bb: 'latest' @@ -45,7 +45,7 @@ jobs: - 'graalvm' - 'graalvm-community' java-version: - - '22.0.2' + - '23.0.2' steps: - name: Checkout code uses: actions/checkout@v4 @@ -58,7 +58,7 @@ jobs: github-token: ${{ secrets.GITHUB_TOKEN }} - name: Setup Babashka - uses: DeLaGuardo/setup-clojure@12.5 + uses: DeLaGuardo/setup-clojure@13.1 with: bb: 'latest' @@ -93,7 +93,7 @@ jobs: uses: actions/checkout@v4 - name: Setup Babashka - uses: DeLaGuardo/setup-clojure@12.5 + uses: DeLaGuardo/setup-clojure@13.1 with: bb: 'latest' @@ -102,7 +102,7 @@ jobs: uses: actions/setup-java@v4 with: distribution: 'temurin' - java-version: '17' + java-version: '21' - name: Tools versions run: | diff --git a/build-helper/deps.edn b/build-helper/deps.edn index bcc5d1c..34d40e2 100644 --- a/build-helper/deps.edn +++ b/build-helper/deps.edn @@ -1,3 +1,3 @@ {:paths ["src"] - :deps {io.github.clojure/tools.build {:mvn/version "0.10.5"} - babashka/fs {:mvn/version "0.5.21"}}} + :deps {io.github.clojure/tools.build {:mvn/version "0.10.6"} + babashka/fs {:mvn/version "0.5.24"}}} diff --git a/deps.edn b/deps.edn index 7bd1faa..b6cb540 100644 --- a/deps.edn +++ b/deps.edn @@ -1,22 +1,22 @@ -{:deps {org.clojure/clojure {:mvn/version "1.11.3"}} +{:deps {org.clojure/clojure {:mvn/version "1.12.0"}} :paths ["src" "resources"] :aliases {:svm ;; this library is "provided" - {:extra-deps {org.graalvm.sdk/nativeimage {:mvn/version "24.0.2"}}} - :build {:deps {io.github.clojure/tools.build {:mvn/version "0.10.5"} - babashka/fs {:mvn/version "0.5.21"} + {:extra-deps {org.graalvm.sdk/nativeimage {:mvn/version "24.1.2"}}} + :build {:deps {io.github.clojure/tools.build {:mvn/version "0.10.6"} + babashka/fs {:mvn/version "0.5.24"} babashka/process {:mvn/version "0.5.22"} slipset/deps-deploy {:mvn/version "0.2.2"}} :ns-default build} :uber {:extra-paths ["test"]} - :clj-kondo {:extra-deps {clj-kondo/clj-kondo {:mvn/version "2024.08.01"}} + :clj-kondo {:extra-deps {clj-kondo/clj-kondo {:mvn/version "2025.01.16"}} :main-opts ["-m" "clj-kondo.main"]} :test {:extra-paths ["test"] :extra-deps {io.github.cognitect-labs/test-runner {:git/tag "v0.5.1" :git/sha "dfb30dd"} babashka/process {:mvn/version "0.5.22"}} :exec-fn cognitect.test-runner.api/test} - :outdated {:deps {org.slf4j/slf4j-simple {:mvn/version "2.0.13"} ;; to rid ourselves of logger warnings - com.github.liquidz/antq {:mvn/version "2.8.1206"}} + :outdated {:deps {org.slf4j/slf4j-simple {:mvn/version "2.0.16"} ;; to rid ourselves of logger warnings + com.github.liquidz/antq {:mvn/version "2.11.1264"}} :main-opts ["-m" "antq.core"]}}} diff --git a/test-hello-world/deps.edn b/test-hello-world/deps.edn index f6ceb14..89d2284 100644 --- a/test-hello-world/deps.edn +++ b/test-hello-world/deps.edn @@ -1,5 +1,5 @@ {:paths ["src"] - :deps {org.clojure/clojure {:mvn/version "1.11.3"} + :deps {org.clojure/clojure {:mvn/version "1.12.0"} lib1/lib1 {:local/root "lib1/target/lib1.jar"} lib2/lib2 {:local/root "lib2/target/lib2.jar"} clj-easy/graal-build-time {:local/root "target/graal-build-time.jar"}} diff --git a/test-single-segment/deps.edn b/test-single-segment/deps.edn index 3d57fc3..5313254 100644 --- a/test-single-segment/deps.edn +++ b/test-single-segment/deps.edn @@ -1,4 +1,4 @@ -{:deps {org.clojure/clojure {:mvn/version "1.11.3"} +{:deps {org.clojure/clojure {:mvn/version "1.12.0"} org.clj-commons/digest {:mvn/version "1.4.100"} clj-easy/graal-build-time {:local/root "target/graal-build-time.jar"}} :aliases {:build {:deps {clj-easy/build-helper {:local/root "../build-helper"}}