【问题标题】:library to query major clojure repos用于查询主要 clojure 存储库的库
【发布时间】:2016-12-26 16:12:50
【问题描述】:

是否有 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-ancient 中有函数version-string!,但它似乎只有在给出正确的工件名称时才有效。 (如'reagent

【问题讨论】:

    标签: maven clojure clojars


    【解决方案1】:

    看起来clojars 有an API。以下应该足以开始。只需要 clj-http。

    (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
    

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

    【讨论】:

    猜你喜欢
    • 2019-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多