diff --git a/.github/workflows/clojure.yml b/.github/workflows/clojure.yml index e567d8e..1a5c488 100644 --- a/.github/workflows/clojure.yml +++ b/.github/workflows/clojure.yml @@ -15,7 +15,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v6 + uses: actions/checkout@v7 - name: Setup Java uses: actions/setup-java@v5 @@ -24,12 +24,12 @@ jobs: distribution: 'corretto' - name: Install clojure tools - uses: DeLaGuardo/setup-clojure@13.6.0 + uses: DeLaGuardo/setup-clojure@13.6.1 with: - cli: 1.12.5.1645 + cli: 1.12.5.1664 - name: Cache clojure dependencies - uses: actions/cache@v5 + uses: actions/cache@v6 with: path: | ~/.m2/repository diff --git a/.gitignore b/.gitignore index 2d9afe1..6b4ae60 100644 --- a/.gitignore +++ b/.gitignore @@ -2,7 +2,8 @@ *.asc .idea .cpcache -.clj-kondo/.cache +!.clj-kondo/config.edn +.clj-kondo/* .nrepl-port *.iml .*preview diff --git a/deps.edn b/deps.edn index 29013da..a6babb6 100644 --- a/deps.edn +++ b/deps.edn @@ -14,10 +14,10 @@ {:extra-paths ["test" "test-resources"] :extra-deps {io.github.cognitect-labs/test-runner {:git/tag "v0.5.1" :git/sha "dfb30dd"} - io.github.hlship/trace {:mvn/version "1.4"} + io.github.hlship/trace {:mvn/version "1.5"} io.github.tonsky/clj-reload {:mvn/version "1.0.0"} - nubank/matcher-combinators {:mvn/version "3.10.0"} - babashka/babashka {:mvn/version "1.12.218"}} + nubank/matcher-combinators {:mvn/version "3.11.0"} + babashka/babashka {:mvn/version "1.13.219"}} :exec-fn cognitect.test-runner.api/test :jvm-opts ["-Dclj-commons.ansi.enabled=true"] :exec-args @@ -25,16 +25,16 @@ :pom {:extra-deps {org.clojure/tools.cli {:mvn/version "1.4.256" :optional true} - babashka/fs {:mvn/version "0.5.33" :optional true} + babashka/fs {:mvn/version "0.5.34" :optional true} babashka/process {:mvn/version "0.6.25" :optional true} - selmer/selmer {:mvn/version "1.13.1" :optional true} - org.babashka/cli {:mvn/version "0.8.67" :optional true}}} + selmer/selmer {:mvn/version "1.13.5" :optional true} + org.babashka/cli {:mvn/version "0.12.86" :optional true}}} :1.11 {:override-deps {org.clojure/clojure ^:antq/exclude {:mvn/version "1.11.4"}}} :lint - {:deps {clj-kondo/clj-kondo {:mvn/version "2026.04.15"}} + {:deps {clj-kondo/clj-kondo {:mvn/version "2026.08.04"}} :main-opts ["-m" "clj-kondo.main" "--lint" "src" "test"]} :build diff --git a/resources/clj-kondo.exports/io.github.hlship/cli-tools/cli_tools/hooks.clj b/resources/clj-kondo.exports/io.github.hlship/cli-tools/cli_tools/hooks.clj index f4dbc62..d4173a2 100644 --- a/resources/clj-kondo.exports/io.github.hlship/cli-tools/cli_tools/hooks.clj +++ b/resources/clj-kondo.exports/io.github.hlship/cli-tools/cli_tools/hooks.clj @@ -38,7 +38,14 @@ (let [pairs (partition 2 opts) collector (api/token-node (gensym "options")) map-terms (mapcat (fn [[sym v]] - [(api/keyword-node (-> sym str keyword)) v]) + [(api/keyword-node (-> sym str keyword)) + ;; Trying to defeat clj-kondo, which sees the vectors that define arguments or options + ;; a literals that are always true, or not a string. + ;; This passes each vector through identity which, for the meantime, hides from clj-kondo + ;; its type which prevents certain warnings. + (api/list-node + (list `identity + v))]) pairs)] [collector (api/map-node (vec map-terms)) diff --git a/test/net/lewisship/cli_tools/bb_test.clj b/test/net/lewisship/cli_tools/bb_test.clj index 4d6ba0c..02e703c 100644 --- a/test/net/lewisship/cli_tools/bb_test.clj +++ b/test/net/lewisship/cli_tools/bb_test.clj @@ -46,5 +46,5 @@ ;; This is quite minimal and may be expanded in the future. (is (match? {:status 1, - :err "Error in bb find: Coerce failure: cannot transform input \"xyz\" to long (option :id, value \"xyz\")\n",} + :err "Error in bb find: Invalid value for option --id: cannot transform input \"xyz\" to long (option :id, value \"xyz\")\n"} (dispatch "bb" "find" "--id" "xyz"))))