Skip to content
Open
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
217 changes: 126 additions & 91 deletions project.clj
Original file line number Diff line number Diff line change
Expand Up @@ -25,20 +25,20 @@

(def pdb-dev-deps
(concat
'[[ring/ring-mock "0.4.0"]
[timofreiberg/bultitude "0.3.1"]
'[[ring/ring-mock]
[timofreiberg/bultitude]
[org.openvoxproject/trapperkeeper :classifier "test"]
[org.openvoxproject/kitchensink :classifier "test"]
[org.openvoxproject/trapperkeeper-webserver-jetty10 :classifier "test"]
[org.flatland/ordered "1.15.12"]
[org.clojure/test.check "1.1.1"]
[com.gfredericks/test.chuck "0.2.14"]
[riddley "0.2.0"]
[clj-commons/clj-yaml "1.0.27"]
[org.flatland/ordered]
[org.clojure/test.check]
[com.gfredericks/test.chuck]
[riddley]
[clj-commons/clj-yaml]
[org.yaml/snakeyaml]

;; Only needed for :integration tests
[org.openvoxproject/trapperkeeper-filesystem-watcher "1.3.0"]]))
[org.openvoxproject/trapperkeeper-filesystem-watcher]]))

;; Don't use lein :clean-targets so that we don't have to repeat
;; ourselves, given that we need to remove some protected files, and
Expand Down Expand Up @@ -98,11 +98,8 @@
(def pdb-jvm-opts (when (< 8 (:feature pdb-jvm-ver) 17)
["--illegal-access=deny"]))

(def kitchensink-version "3.5.3")
(def trapperkeeper-version "4.3.0")
(def trapperkeeper-webserver-jetty10-version "1.1.0")
(def jackson-version "2.15.4")
(def i18n-version "1.0.2")
(def jackson-version "2.20.1")
(def slf4j-version "2.0.17")
(defproject org.openvoxproject/puppetdb pdb-version
:description "OpenVox-integrated catalog and fact storage"
Expand All @@ -124,100 +121,138 @@
;; defined under :dependencies ends up causing an error due to :pedantic? :abort,
;; because it is a dep of a dep with a different version, move it here.
:managed-dependencies [[org.clojure/clojure "1.12.4"]
[org.clojure/core.async "1.5.648"]
[org.clojure/core.match "1.1.1"]
[org.clojure/core.memoize "1.0.257"]
[org.clojure/data.generators "1.1.1"]
[org.clojure/java.jdbc "0.7.12"]
[org.clojure/math.combinatorics "0.3.0"]
[org.clojure/test.check "1.1.1"]
[org.clojure/tools.logging "1.2.4"]
[org.clojure/tools.macro "0.2.2"]
[org.clojure/tools.namespace "0.2.11"]
[org.clojure/tools.nrepl "0.2.13"]
[org.clojure/tools.reader "1.3.6"]

[org.slf4j/slf4j-api ~slf4j-version]
[org.slf4j/jul-to-slf4j ~slf4j-version]
[org.slf4j/log4j-over-slf4j ~slf4j-version]

[org.openvoxproject/kitchensink ~kitchensink-version]
[org.openvoxproject/kitchensink ~kitchensink-version :classifier "test"]
[org.openvoxproject/trapperkeeper ~trapperkeeper-version]
[org.openvoxproject/trapperkeeper ~trapperkeeper-version :classifier "test"]
[org.openvoxproject/trapperkeeper-webserver-jetty10 ~trapperkeeper-webserver-jetty10-version]
[org.openvoxproject/trapperkeeper-webserver-jetty10 ~trapperkeeper-webserver-jetty10-version :classifier "test"]

[bidi "2.1.6"]
[cheshire "5.10.2"]
[clj-commons/clj-yaml "1.0.27"]
[clj-commons/fs "1.6.312"]
[clj-http "3.13.1"]
[clj-kondo "2025.10.23"]
[clj-stacktrace "0.2.8"]
[clj-time "0.11.0"]
[com.fasterxml.jackson.core/jackson-core ~jackson-version]
[com.fasterxml.jackson.core/jackson-databind ~jackson-version]
[com.fasterxml.jackson.core/jackson-annotations ~jackson-version]
[com.fasterxml.jackson.module/jackson-module-afterburner ~jackson-version]
[com.fasterxml.jackson.dataformat/jackson-dataformat-cbor ~jackson-version]
[com.fasterxml.jackson.dataformat/jackson-dataformat-smile ~jackson-version]

[com.fasterxml.jackson.module/jackson-module-afterburner ~jackson-version]
;; For some reason, this version is 2.20 without a .1. Update this back to
;; ~jackson-version when they match again.
[com.fasterxml.jackson.core/jackson-annotations "2.20"]
[com.gfredericks/test.chuck "0.2.14"]
[com.github.seancorfield/honeysql "2.3.911"]
[com.github.seancorfield/next.jdbc "1.3.1086"]
[com.rpl/specter "1.1.6"]
[com.taoensso/nippy "3.1.1" :exclusions [org.tukaani/xz]]
[com.zaxxer/HikariCP "5.0.1"]
[commons-codec "1.20.0"]
[commons-io "2.21.0"]
[compojure "1.7.1"]
[digest "1.4.10"]
[fast-zip "0.4.0"]
[instaparse "1.5.0"]
[joda-time "2.12.5"]
[metrics-clojure "2.10.0"]
[murphy "0.5.3"]
[net.logstash.logback/logstash-logback-encoder "7.3"]
[org.apache.commons/commons-lang3 "3.20.0"]
[org.bouncycastle/bcpkix-jdk18on "1.83"]
[org.bouncycastle/bcpkix-fips "1.0.8"]
[org.bouncycastle/bc-fips "1.0.2.6"]
[org.bouncycastle/bctls-fips "1.0.19"]

[ring/ring-core "1.8.2"]
[ring/ring-codec "1.3.0"]
[instaparse "1.5.0"]
[commons-codec "1.20.0"]
[clj-time "0.11.0"]
[org.flatland/ordered "1.15.12"]
[org.slf4j/slf4j-api ~slf4j-version]
[org.slf4j/jul-to-slf4j ~slf4j-version]
[org.slf4j/log4j-over-slf4j ~slf4j-version]
[org.openvoxproject/comidi "1.1.2"]
[org.openvoxproject/i18n ~i18n-version]
[org.openvoxproject/kitchensink "3.5.5"]
[org.openvoxproject/kitchensink "3.5.5" :classifier "test"]
[org.openvoxproject/ssl-utils "3.6.2"]
[org.openvoxproject/stockpile "1.0.0"]
[org.openvoxproject/structured-logging "1.0.0"]
[org.openvoxproject/trapperkeeper "4.3.2"]
[org.openvoxproject/trapperkeeper "4.3.2" :classifier "test"]
[org.openvoxproject/trapperkeeper-authorization "2.1.5"]
[org.openvoxproject/trapperkeeper-authorization "2.1.5" :exclusions [io.dropwizard.metrics/metrics-core]]
[org.openvoxproject/trapperkeeper-filesystem-watcher "1.5.1"]
[org.openvoxproject/trapperkeeper-metrics "2.1.5"]
[org.openvoxproject/trapperkeeper-metrics "2.1.5" :exclusions [io.dropwizard.metrics/metrics-core]]
[org.openvoxproject/trapperkeeper-status "1.3.1"]
[org.openvoxproject/trapperkeeper-status "1.3.1" :exclusions [io.dropwizard.metrics/metrics-core]]
[org.openvoxproject/trapperkeeper-webserver-jetty10 "1.1.3"]
[org.openvoxproject/trapperkeeper-webserver-jetty10 "1.1.3" :classifier "test"]
[org.postgresql/postgresql "42.7.8"]
[org.yaml/snakeyaml "2.0"]
[joda-time "2.12.5"]
[cheshire "5.10.2"]]

:dependencies [[org.postgresql/postgresql "42.7.8"]
[org.clojure/clojure]
[org.clojure/core.async "1.5.648"]
[org.clojure/core.match "1.1.1"]
[org.clojure/core.memoize "1.0.257"]
[org.clojure/data.generators "1.1.1"]
[org.clojure/java.jdbc "0.7.12"]
[org.clojure/tools.macro "0.2.2"]
[org.clojure/tools.namespace "0.2.11"]
[org.clojure/math.combinatorics "0.3.0"]
[org.clojure/tools.logging "1.2.4"]
[org.clojure/tools.nrepl "0.2.13"]

;; OpenVox specific
[org.openvoxproject/comidi "1.1.1"]
[org.openvoxproject/i18n ~i18n-version]
[org.openvoxproject/kitchensink]
[org.openvoxproject/ssl-utils "3.6.1"]
[org.openvoxproject/stockpile "1.0.0"]
[org.openvoxproject/structured-logging "1.0.0"]
[org.openvoxproject/trapperkeeper]
[org.openvoxproject/trapperkeeper-webserver-jetty10]
[org.openvoxproject/trapperkeeper-metrics "2.1.0"]
[org.openvoxproject/trapperkeeper-status "1.3.0"]
[org.openvoxproject/trapperkeeper-authorization "2.1.0"]

;; Various
[prismatic/schema "1.4.1"]
[riddley "0.2.0"]
[ring/ring-codec "1.3.0"]
[ring/ring-core "1.8.2"]
[ring/ring-mock "0.4.0"]
[robert/hooke "1.3.0"]
[timofreiberg/bultitude "0.3.1"]
[trptcolin/versioneer "0.2.0"]]

:dependencies [[org.clojure/clojure]
[org.clojure/core.async]
[org.clojure/core.match]
[org.clojure/core.memoize]
[org.clojure/data.generators]
[org.clojure/java.jdbc]
[org.clojure/math.combinatorics]
[org.clojure/tools.logging]
[org.clojure/tools.macro]
[org.clojure/tools.namespace]
[org.clojure/tools.nrepl]
[bidi]
[cheshire]
[clj-stacktrace "0.2.8"]
[clj-commons/fs]
[clj-http]
[clj-stacktrace]
[clj-time]
[com.rpl/specter "1.1.6"]
[com.github.seancorfield/next.jdbc "1.3.1086"]
[com.taoensso/nippy "3.1.1" :exclusions [org.tukaani/xz]]
[digest "1.4.10"]
[fast-zip "0.4.0"]
[com.fasterxml.jackson.core/jackson-databind]
[com.github.seancorfield/honeysql]
[com.github.seancorfield/next.jdbc]
[com.rpl/specter]
[com.taoensso/nippy :exclusions [org.tukaani/xz]]
[com.zaxxer/HikariCP]
[commons-io]
[compojure]
[digest]
[fast-zip]
[instaparse]
[murphy "0.5.3"]
[clj-commons/fs "1.6.312"]
[metrics-clojure "2.10.0"]
[robert/hooke "1.3.0"]
[trptcolin/versioneer "0.2.0"]
[metrics-clojure]
[murphy]
;; We do not currently use this dependency directly, but
;; we have documentation that shows how users can use it to
;; send their logs to logstash, so we include it in the jar.
[net.logstash.logback/logstash-logback-encoder "7.3"]
[com.fasterxml.jackson.core/jackson-databind]

;; Filesystem utilities
[org.apache.commons/commons-lang3 "3.20.0"]

;; Database connectivity
[com.zaxxer/HikariCP "5.0.1"]
[com.github.seancorfield/honeysql "2.3.911"]

;; WebAPI support libraries.
[bidi "2.1.6"]
[clj-http "3.13.1"]
[commons-io "2.21.0"]
[compojure "1.7.1"]
[ring/ring-core]]
[net.logstash.logback/logstash-logback-encoder]
[org.apache.commons/commons-lang3]
[org.openvoxproject/comidi]
[org.openvoxproject/i18n]
[org.openvoxproject/kitchensink]
[org.openvoxproject/ssl-utils]
[org.openvoxproject/stockpile]
[org.openvoxproject/structured-logging]
[org.openvoxproject/trapperkeeper]
[org.openvoxproject/trapperkeeper-authorization]
[org.openvoxproject/trapperkeeper-metrics]
[org.openvoxproject/trapperkeeper-status]
[org.openvoxproject/trapperkeeper-webserver-jetty10]
[org.postgresql/postgresql]
[ring/ring-core]
[robert/hooke]
[trptcolin/versioneer]]

:jvm-opts ~pdb-jvm-opts

Expand Down Expand Up @@ -294,7 +329,7 @@

:fips [:defaults :fips-settings]

:kondo {:dependencies [[clj-kondo "2025.10.23"]]}
:kondo {:dependencies [[clj-kondo]]}
:ezbake {:dependencies ^:replace [;; NOTE: we need to explicitly pass in `nil` values
;; for the version numbers here in order to correctly
;; inherit the versions from our parent project.
Expand Down
2 changes: 1 addition & 1 deletion src/puppetlabs/puppetdb/pql.clj
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
"Takes an augmented failure object and prints the error message"
[{:keys [line column text reason]}]
(let [opening (tru "PQL parse error at line {0}, column {1}:\n\n{2}\n{3}\n\n"
line column text (failure/marker column))
line column text (failure/marker text column))
full-reasons (distinct (map :expecting
(filter :full reason)))
partial-reasons (distinct (map :expecting
Expand Down
12 changes: 7 additions & 5 deletions test/puppetlabs/puppetdb/http/index_test.clj
Original file line number Diff line number Diff line change
Expand Up @@ -76,11 +76,13 @@

;; Ensure we parse anything that looks like AST/JSON as JSON not PQL
(let [{:keys [status body headers]} (query-response method endpoint "[\"from\",\"foobar\"")]
(is (= (str "Json parse error at line 1, column 17:\n\n"
"[\"from\",\"foobar\"\n"
" ^\n\n"
"Unexpected end-of-input: expected close marker for Array "
"(start marker at [Source: (StringReader); line: 1, column: 1])") body))
(is (re-matches
#"(?s)Json parse error at line 1, column 17:\n\n
\[\"from\",\"foobar\"\n
\s+\^\n\n
Unexpected end-of-input: expected close marker for Array
\(start marker at \[Source: .*; line: 1, column: 1\]\)"
body))
(are-error-response-headers headers)
(is (= HttpURLConnection/HTTP_BAD_REQUEST status)))

Expand Down
Loading