diff --git a/.clj-kondo/imports/taoensso/encore/config.edn b/.clj-kondo/imports/taoensso/encore/config.edn index 487e233..975c943 100644 --- a/.clj-kondo/imports/taoensso/encore/config.edn +++ b/.clj-kondo/imports/taoensso/encore/config.edn @@ -3,4 +3,5 @@ {taoensso.encore/defalias taoensso.encore-hooks/defalias taoensso.encore/defaliases taoensso.encore-hooks/defaliases taoensso.encore/defn-cached taoensso.encore-hooks/defn-cached - taoensso.encore/defonce taoensso.encore-hooks/defonce}}} + taoensso.encore/defonce taoensso.encore-hooks/defonce + taoensso.encore/def* taoensso.encore-hooks/def*}}} diff --git a/.clj-kondo/imports/taoensso/encore/taoensso/encore_hooks.clj b/.clj-kondo/imports/taoensso/encore/taoensso/encore_hooks.clj index a574107..d133f73 100644 --- a/.clj-kondo/imports/taoensso/encore/taoensso/encore_hooks.clj +++ b/.clj-kondo/imports/taoensso/encore/taoensso/encore_hooks.clj @@ -64,8 +64,8 @@ binding-vec body))))})) -(defn defonce - [{:keys [node]}] +(defn -def-impl + [{:keys [node]} core-macro-sym] ;; 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]) @@ -73,10 +73,16 @@ 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) + [(hooks/token-node core-macro-sym) sym+meta init-expr])] + #_(println "old node:" node) + #_(println "new node:" rewritten) {:node rewritten})) + +(defn def* [arg] (-def-impl arg 'def)) +(defn defonce [arg] (-def-impl arg 'clojure.core/defonce)) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index be2d5cc..dffa939 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -74,7 +74,7 @@ jobs: - { name: 'graalvm', short-name: 'graal' } - { name: 'graalvm-community', short-name: 'graalce' } java-version: - - '24' + - '25' clojure-version: [ '1.12' ] name: ${{matrix.os.name}} ${{matrix.distribution.short-name}} jdk${{matrix.java-version}} clj${{ matrix.clojure-version }} diff --git a/deps.edn b/deps.edn index f1e0d3d..fc0b3d3 100644 --- a/deps.edn +++ b/deps.edn @@ -26,10 +26,10 @@ {:extra-paths ["build"] :deps {io.github.clojure/tools.build {:mvn/version "0.10.10"} slipset/deps-deploy {:mvn/version "0.2.2"} - babashka/fs {:mvn/version "0.5.26"}} + babashka/fs {:mvn/version "0.5.27"}} :ns-default build} ;; for consistent linting we use a specific version of clj-kondo through the jvm - :clj-kondo {:extra-deps {clj-kondo/clj-kondo {:mvn/version "2025.07.28"}} + :clj-kondo {:extra-deps {clj-kondo/clj-kondo {:mvn/version "2025.09.19"}} :override-deps {org.clojure/clojure {:mvn/version "1.12.2"}} :main-opts ["-m" "clj-kondo.main"]} :eastwood {:extra-deps {jonase/eastwood {:mvn/version "1.4.3"}}