Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions .clj-kondo/imports/taoensso/encore/config.edn
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{:hooks
{:analyze-call
{taoensso.encore/defalias taoensso.encore/defalias
taoensso.encore/defn-cached taoensso.encore/defn-cached
taoensso.encore/defonce taoensso.encore/defonce}}}
{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}}}
82 changes: 82 additions & 0 deletions .clj-kondo/imports/taoensso/encore/taoensso/encore_hooks.clj
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
(ns taoensso.encore-hooks
"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 [[alias src-raw _attrs body] (rest (:children node))
src (or src-raw alias)
sym (if src-raw (hooks/sexpr alias) (symbol (name (hooks/sexpr src))))]
{:node
(with-meta
(hooks/list-node
[(hooks/token-node 'def)
(hooks/token-node sym)
(if body
(hooks/list-node
;; use :body in the def to avoid unused import/private var warnings
[(hooks/token-node 'or) body src])
src)])
(meta src))}))

(defn defaliases
[{:keys [node]}]
(let [alias-nodes (rest (:children node))]
{:node
(hooks/list-node
(into
[(hooks/token-node 'do)]
(map
(fn alias->defalias [alias-node]
(cond
(hooks/token-node? alias-node)
(hooks/list-node
[(hooks/token-node 'taoensso.encore/defalias)
alias-node])

(hooks/map-node? alias-node)
(let [{:keys [src alias attrs body]} (hooks/sexpr alias-node)
;; workaround as can't seem to (get) using a token-node
;; and there's no update-keys (yet) in sci apparently
[& {:as node-as-map}] (:children alias-node)
{:keys [attrs body]} (zipmap (map hooks/sexpr (keys node-as-map))
(vals node-as-map))]
(hooks/list-node
[(hooks/token-node 'taoensso.encore/defalias)
(or alias src) (hooks/token-node src) attrs body])))))
alias-nodes))}))

(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}))
2 changes: 1 addition & 1 deletion .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Setup
uses: ./.github/workflows/shared-setup
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/shared-setup/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ runs:
restore-keys: cljdeps-

- name: Setup Java
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: ${{ inputs.jdk }}
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Setup
uses: ./.github/workflows/shared-setup
Expand All @@ -36,7 +36,7 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Setup
uses: ./.github/workflows/shared-setup
Expand All @@ -58,7 +58,7 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Setup
uses: ./.github/workflows/shared-setup
Expand Down
14 changes: 7 additions & 7 deletions deps.edn
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,16 @@
:1.9 {:override-deps {org.clojure/clojure {:mvn/version "1.9.0"}}}
:1.10 {:override-deps {org.clojure/clojure {:mvn/version "1.10.3"}}}
:1.11 {:override-deps {org.clojure/clojure {:mvn/version "1.11.4"}}}
:1.12 {:override-deps {org.clojure/clojure {:mvn/version "1.12.1"}}}
:1.12 {:override-deps {org.clojure/clojure {:mvn/version "1.12.2"}}}
:build
{:extra-paths ["build"]
:deps {io.github.clojure/tools.build {:mvn/version "0.10.9"}
:deps {io.github.clojure/tools.build {:mvn/version "0.10.10"}
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.12.1"}}
:extra-deps {babashka/fs {:mvn/version "0.5.25"}
:override-deps {org.clojure/clojure {:mvn/version "1.12.2"}}
:extra-deps {babashka/fs {:mvn/version "0.5.26"}
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.15"
:exclusions [org.slf4j/slf4j-api]}
Expand All @@ -32,11 +32,11 @@
{: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 "2025.06.05"}}
:override-deps {org.clojure/clojure {:mvn/version "1.12.1"}}
:clj-kondo {:extra-deps {clj-kondo/clj-kondo {:mvn/version "2025.07.28"}}
:override-deps {org.clojure/clojure {:mvn/version "1.12.2"}}
:main-opts ["-m" "clj-kondo.main"]}
:outdated {:extra-deps {com.github.liquidz/antq {:mvn/version "2.11.1276"}
org.clojure/clojure {:mvn/version "1.12.1"}
org.clojure/clojure {:mvn/version "1.12.2"}
org.slf4j/slf4j-simple {:mvn/version "2.0.17"} ;; to rid ourselves of logger warnings
}
:main-opts ["-m" "antq.core"
Expand Down
2 changes: 1 addition & 1 deletion test/clj_http/lite/client_sanity_test.clj
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
:throw-exceptions false})))))

(deftest exception-test
(try (client/get "https://site.com/broken")
(try (client/get "https://httpbin.org/status/404")
(is false "should not reach here")
(catch Exception e
(is (:headers (ex-data e))))))
Expand Down
Loading