Maven 图书馆查询主要clojure回购协议

Maven 图书馆查询主要clojure回购协议,maven,clojure,clojars,Maven,Clojure,Clojars,是否有clojure库提供查询主要clojure存储库(如clojars和maven central)的功能?我在想这样的事情: (query-repos "reage") => {reagent ("0.6.0-SNAPSHOT" "0.6.0-rc" "0.6.0-alpha2" ...) reagent-forms ("0.5.25" ...)} 在clj中,有函数version字符串,但这似乎只有在给定正确的工件名称时才起作用。(像是试剂)看起来clojars有。下面的内

是否有clojure库提供查询主要clojure存储库(如clojars和maven central)的功能?我在想这样的事情:

(query-repos "reage")
=> {reagent ("0.6.0-SNAPSHOT" "0.6.0-rc" "0.6.0-alpha2" ...)
    reagent-forms ("0.5.25" ...)}
clj中,有函数
version字符串,但这似乎只有在给定正确的工件名称时才起作用。(像是试剂

看起来clojars有。下面的内容应该足以开始。只需要cljhttp

(defn get-release
  [lib]
  (let [url (str "https://clojars.org/api/artifacts/" lib)
        resp (:body (clj-http.client/get url {:accept :edn}))
        info (clojure.edn/read-string resp)]
    (println "Name: " (:jar_name info) "\nLatest release: " (:latest_release info))))


user=> (get-release "reagent")
Name:  reagent 
Latest release:  0.6.0-rc

我现在意识到,您可能只是在寻找一种方法来进行部分匹配,因为您可能不知道回购协议的完整名称,因此,这可能无法回答您的问题,但它可能会帮助其他人,因此我将留下它。上面的链接包含纯文本形式的完整列表信息,可以轻松解析,通过这种方式您可以轻松找到部分匹配项。

注意,Clojars还提供了一个搜索API,返回json响应: