2016-08-19 3 views
1

主要なclojureリポジトリ(clojarsやmaven centralなど)を照会する機能を提供するclojureライブラリはありますか? clj-ancientlibrary to query major clojure repos

(query-repos "reage") 
=> {reagent ("0.6.0-SNAPSHOT" "0.6.0-rc" "0.6.0-alpha2" ...) 
    reagent-forms ("0.5.25" ...)} 

しかし、正しいアーティファクト名が指定されている場合にのみ動作するように思われる機能version-string!がある:私はこのような何かを考えていました。 ('reagentのように)

答えて

1

クロージャのように見えるのは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 

私はあなただけでは完全なレポ名を知らないかもしれないので、部分一致を行う方法を探していることができることを今実現する、ので、多分これは、あなたの質問に答えていないが、それは私ので、他の人を助けるかもしれませんそれを残す。上記のリンクには、プレーンテキストで簡単に解析できる完全なリスト情報があり、この方法で簡単に部分一致を見つけることができます。

+0

Clojarsには、jsonレスポンスを返す検索APIもあります。https://github.com/clojars/clojars-web/wiki/Data#json-search-results –