1

主要な clojure リポジトリ (clojars や maven central など) にクエリを実行する機能を提供する clojure ライブラリはありますか? 私は次のようなことを考えていました:

(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)

4

1 に答える 1

1

clojars には 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

完全なリポジトリ名を知らない可能性があるため、部分一致を行う方法のみを探している可能性があることに気付きました。これはあなたの質問には答えないかもしれませんが、他の人には役立つかもしれないのでそのままにしておきます。上記のリンクには、プレーンテキストで簡単に解析できる完全なリストに関する情報が含まれており、この方法で部分一致を簡単に見つけることができます.

于 2016-08-19T14:07:06.357 に答える