[clojure] lein-ancientで依存ライブラリのバージョンチェック[plugin]
依存ライブラリのバージョンをチェック
Clojureプロジェクトのビルドツール、leiningenでは依存ライブラリをproject.cljで管理しますが、 しばらく開発を続けているうちに、ライブラリの新しいバージョンがいつのまにかリリースされていることがあります。 通常であれば自分でリリース情報を確認して更新しなければなりませんが、lein-ancientプラグインを使用すれば、 依存ライブラリのバージョンを自動で確認し、更新も行うことができます。
環境構築方法
今回使用した動作環境は以下のとおりです。
- OS : MacOS X 10.7.5
- leiningen : 2.2
leinコマンドが使える状態にしておいてください。
lein-ancientの動作確認
1.lein-ancientをインストール
まずはlein-ancientプラグインをインストールします。leiningenの設定ファイル、 ~/.lein/profiles.cljを開き(なければ作成)、下記内容を記述します。
{:user { :plugins [ [lein-ancient "0.4.3"] ] }}
すでに他にプラグインを追加している人は、lein-ancientを追記すればOKです。
2.leiningenでプロジェクトを作成
leiningenでサンプルプロジェクトを作成しましょう。
% lein new ancientSample
lein-ancientを試すため、project.cljにcompojureを追加します。最新版より少し古いバージョンを記述します。
(defproject mcljsample "0.1.0-SNAPSHOT" :description "FIXME: write description" :url "http://example.com/FIXME" :license {:name "Eclipse Public License" :url "http://www.eclipse.org/legal/epl-v10.html"} :dependencies [[org.clojure/clojure "1.5.1"] [compojure "1.1.3"]])
3.ancientを使って依存ライブラリの確認&更新
ancientコマンドで依存ライブラリの確認をしてみましょう。 現在の最新バージョンは1.1.5なので、ancientコマンドを実行すると最新バージョンを教えてくれます。 ※ちなみに、:allow-snapshotsオプションを使用すると、SNAPSHOTバージョンも対象に含めることができます。
% lein ancient [compojure "1.1.5"] is available but we use "1.1.3"
最新バージョンのancientでは、最新バージョンへアップグレードすることもできます。 下記のように:upgradeオプションを使って実行してみましょう。
% lein ancient :upgrade Upgrade to [compojure "1.1.5"] from "1.1.3"
実行後、project.cljを見ると依存ライブラリのバージョンも更新されています。 なお、アップグレード時に:interactiveオプションも使用すると、アップグレードするかどうか個別に確認されます。