From 362818530ace6fbd766e55406be415b941461a3e Mon Sep 17 00:00:00 2001 From: Michiel Borkent Date: Tue, 29 Oct 2024 17:04:29 +0100 Subject: [PATCH] Fix bb compat, fixes #549 --- .github/workflows/test-bb.yml | 29 +++++++++++++++++++++++++++++ bb.edn | 9 +++++++++ src/honey/sql.cljc | 6 ++++-- 3 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/test-bb.yml create mode 100644 bb.edn diff --git a/.github/workflows/test-bb.yml b/.github/workflows/test-bb.yml new file mode 100644 index 0000000..434e8cb --- /dev/null +++ b/.github/workflows/test-bb.yml @@ -0,0 +1,29 @@ +name: Pull Request + +on: [pull_request] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-java@v4 + with: + distribution: 'temurin' + java-version: ${{ matrix.java }} + - name: Clojure CLI + uses: DeLaGuardo/setup-clojure@master + with: + cli: '1.12.0.1479' + bb: latest + - name: Cache All The Things + uses: actions/cache@v4 + with: + path: | + ~/.m2/repository + ~/.gitlibs + ~/.clojure + ~/.cpcache + key: ${{ runner.os }}-${{ hashFiles('**/deps.edn', '**/bb.edn') }} + - name: Run Tests + run: bb test diff --git a/bb.edn b/bb.edn new file mode 100644 index 0000000..25ecb47 --- /dev/null +++ b/bb.edn @@ -0,0 +1,9 @@ +{:paths ["src"] + :tasks + {test + {:extra-paths ["test"] + :extra-deps {io.github.cognitect-labs/test-runner + {:git/tag "v0.5.1" :git/sha "dfb30dd"} + org.clojure/core.cache {:mvn/version "RELEASE"}} + :task (exec 'cognitect.test-runner.api/test) + :exec-args {:patterns ["^(?!honey.cache).*-test$"]}}}} diff --git a/src/honey/sql.cljc b/src/honey/sql.cljc index 7141f9d..3904357 100644 --- a/src/honey/sql.cljc +++ b/src/honey/sql.cljc @@ -419,7 +419,8 @@ (defn- format-simple-var ([x] (let [c (if (keyword? x) - #?(:clj (str (.sym ^clojure.lang.Keyword x)) ;; Omits leading colon + #?(:bb (str (symbol x)) + :clj (str (.sym ^clojure.lang.Keyword x)) ;; Omits leading colon :default (subs (str x) 1)) (str x))] (format-simple-var x c {}))) @@ -437,7 +438,8 @@ ;; for multiple / in the %fun.call case so that ;; qualified column names can be used: (let [c (if (keyword? x) - #?(:clj (str (.sym ^clojure.lang.Keyword x)) ;; Omits leading colon + #?(:bb (str (symbol x)) + :clj (str (.sym ^clojure.lang.Keyword x)) ;; Omits leading colon :default (subs (str x) 1)) (str x))] (cond (str/starts-with? c "%")