From f106789865d2f2d35c91ec7fd6a319db76c4caae Mon Sep 17 00:00:00 2001 From: lread Date: Wed, 26 Mar 2025 17:08:44 -0400 Subject: [PATCH] test & ci: bump deps Of note: - bumping kondo uncovered redundant nested str call in script, fixed! - moved clj-kondo imports from the legacy .clj-kondo/ dir to current recommended .clj-kondo/imports dir - added jdk24 to ci test matrix --- .../{ => 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 +++++++++++++++++++ .clj-kondo/taoensso/encore/config.edn | 1 - .../taoensso/encore/taoensso/encore.clj | 16 ------ .github/workflows/shared-setup/action.yml | 2 +- .github/workflows/tests.yml | 4 +- bb.edn | 2 +- deps.edn | 20 ++++---- script/publish.clj | 4 +- 14 files changed, 72 insertions(+), 33 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 delete mode 100644 .clj-kondo/taoensso/encore/config.edn delete mode 100644 .clj-kondo/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 00000000..62a26ca0 --- /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 00000000..5af6de91 --- /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/.clj-kondo/taoensso/encore/config.edn b/.clj-kondo/taoensso/encore/config.edn deleted file mode 100644 index 7b0ff3c2..00000000 --- a/.clj-kondo/taoensso/encore/config.edn +++ /dev/null @@ -1 +0,0 @@ -{:hooks {:analyze-call {taoensso.encore/defalias taoensso.encore/defalias}}} diff --git a/.clj-kondo/taoensso/encore/taoensso/encore.clj b/.clj-kondo/taoensso/encore/taoensso/encore.clj deleted file mode 100644 index 7f6d30ac..00000000 --- a/.clj-kondo/taoensso/encore/taoensso/encore.clj +++ /dev/null @@ -1,16 +0,0 @@ -(ns taoensso.encore - (:require - [clj-kondo.hooks-api :as hooks])) - -(defn defalias [{:keys [node]}] - (let [[sym-raw src-raw] (rest (:children node)) - src (if src-raw 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))})) diff --git a/.github/workflows/shared-setup/action.yml b/.github/workflows/shared-setup/action.yml index 28c77347..d7673b18 100644 --- a/.github/workflows/shared-setup/action.yml +++ b/.github/workflows/shared-setup/action.yml @@ -30,7 +30,7 @@ runs: java-version: ${{ inputs.jdk }} - name: Install Clojure Tools - uses: DeLaGuardo/setup-clojure@12.5 + uses: DeLaGuardo/setup-clojure@13.2 with: cli: 'latest' bb: 'latest' diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index c36421c0..3aaf79f5 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -18,7 +18,7 @@ jobs: - name: Setup uses: ./.github/workflows/shared-setup with: - jdk: '11' + jdk: '24' - name: Lint run: bb lint @@ -30,7 +30,7 @@ jobs: matrix: os: [{name: 'windows', shell: 'pwsh'}, {name: 'ubuntu', shell: 'bash'}] clojure-version: ["1.8", "1.9", "1.10", "1.11", "1.12"] - jdk: ['8', '11', '17', '21'] + jdk: ['8', '11', '17', '21', '24'] name: ${{ matrix.os.name }} clj-${{ matrix.clojure-version }} jdk${{ matrix.jdk }} diff --git a/bb.edn b/bb.edn index 7c5be060..d8b4e659 100644 --- a/bb.edn +++ b/bb.edn @@ -45,7 +45,7 @@ :task publish/-main} neil ;; let's not rely on a random version of neil {:doc "Pinned version of babashka/neil (used in scripting)" - :extra-deps {io.github.babashka/neil {:git/tag "v0.3.67" :git/sha "054ca51"}} + :extra-deps {io.github.babashka/neil {:git/tag "v0.3.68" :git/sha "78ffab1"}} :task babashka.neil/-main} ;; hidden tasks, no need for folks to be trying these ci invoked tasks -ci-clojars-deploy diff --git a/deps.edn b/deps.edn index 01362de3..b428c2d2 100644 --- a/deps.edn +++ b/deps.edn @@ -12,19 +12,19 @@ :1.12 {:override-deps {org.clojure/clojure {:mvn/version "1.12.0"}}} :build {:extra-paths ["build"] - :deps {io.github.clojure/tools.build {:mvn/version "0.10.5"} + :deps {io.github.clojure/tools.build {:mvn/version "0.10.8"} slipset/deps-deploy {:mvn/version "0.2.2"}} :ns-default build} :http-server ;; used for to support integration tests {:extra-paths ["test" "test-resources"] :override-deps {org.clojure/clojure {:mvn/version "1.11.3"}} - :extra-deps {babashka/fs {:mvn/version "0.5.22"} + :extra-deps {babashka/fs {:mvn/version "0.5.24"} ring/ring-jetty-adapter {:mvn/version "1.10.0"} ;; stick with version that works on jdk8 - ch.qos.logback/logback-classic {:mvn/version "1.3.14" + ch.qos.logback/logback-classic {:mvn/version "1.3.15" :exclusions [org.slf4j/slf4j-api]} - org.slf4j/jcl-over-slf4j {:mvn/version "2.0.16"} - org.slf4j/jul-to-slf4j {:mvn/version "2.0.16"} - org.slf4j/log4j-over-slf4j {:mvn/version "2.0.16"}} + org.slf4j/jcl-over-slf4j {:mvn/version "2.0.17"} + org.slf4j/jul-to-slf4j {:mvn/version "2.0.17"} + org.slf4j/log4j-over-slf4j {:mvn/version "2.0.17"}} :exec-fn clj-http.lite.test-util.http-server/run} :test {:extra-paths ["test"] @@ -32,12 +32,12 @@ {:git/tag "v0.5.1" :git/sha "dfb30dd"}} :main-opts ["-m" "cognitect.test-runner"]} ;; for consistent linting we use a specific version of clj-kondo through the jvm - :clj-kondo {:extra-deps {clj-kondo/clj-kondo {:mvn/version "2024.08.29"}} + :clj-kondo {:extra-deps {clj-kondo/clj-kondo {:mvn/version "2025.02.20"}} :override-deps {org.clojure/clojure {:mvn/version "1.11.3"}} :main-opts ["-m" "clj-kondo.main"]} - :outdated {:extra-deps {com.github.liquidz/antq {:mvn/version "2.9.1221"} - org.clojure/clojure {:mvn/version "1.11.3"} - org.slf4j/slf4j-simple {:mvn/version "2.0.16"} ;; to rid ourselves of logger warnings + :outdated {:extra-deps {com.github.liquidz/antq {:mvn/version "2.11.1276"} + org.clojure/clojure {:mvn/version "1.12.0"} + org.slf4j/slf4j-simple {:mvn/version "2.0.17"} ;; to rid ourselves of logger warnings } :main-opts ["-m" "antq.core" "--exclude=ch.qos.logback/logback-classic@1.4.x" ;; requires min jdk 11, we are jdk8 compatible diff --git a/script/publish.clj b/script/publish.clj index 51786b4e..1965e9b2 100644 --- a/script/publish.clj +++ b/script/publish.clj @@ -141,9 +141,9 @@ ;; followed by any attributes "$1" ;; followed by datestamp (local time is fine) - (str " - " (yyyy-mm-dd-now-utc)) + " - " (yyyy-mm-dd-now-utc) ;; followed by an AsciiDoc anchor for easy referencing - (str " [[v" version "]]") + " [[v" version "]]" ;; followed by section content "$2" ;; followed by link to commit log