WindowsでLeiningen
Clojureのビルド・ツールとしてデファクトになっているのは、Leiningenです。なんかMavenより使いやすそうだし、Mavenリポジトリも使えるので、とりあえず使ってみることにしました。
インストールの手順はLeiningenのサイトに書いてあるとおりです。
- lein-win32.zipをダウンロードします。
- 適当なフォルダに解凍します。
- 解凍したフォルダにPATHを通します。
- "lein self-install"を実行します。(同梱されているwget.exeで必要なファイルをとってくるようです。)
実行時のログです。
C:\Windows\system32>lein self-install --00:00:58-- http://github.com/downloads/technomancy/leiningen/leiningen-1.3.1- standalone.jar => `C:\java\lein\leiningen-1.3.1-standalone.jar' Resolving github.com... done. Connecting to github.com[207.97.227.239]:80... connected. HTTP request sent, awaiting response... 301 Moved Permanently Location: https://github.com/downloads/technomancy/leiningen/leiningen-1.3.1-sta ndalone.jar [following] --00:00:59-- https://github.com/downloads/technomancy/leiningen/leiningen-1.3.1 -standalone.jar => `C:\java\lein\leiningen-1.3.1-standalone.jar' Connecting to github.com[207.97.227.239]:443... connected. HTTP request sent, awaiting response... 302 Found Location: http://cloud.github.com/downloads/technomancy/leiningen/leiningen-1.3. 1-standalone.jar [following] --00:01:00-- http://cloud.github.com/downloads/technomancy/leiningen/leiningen- 1.3.1-standalone.jar => `C:\java\lein\leiningen-1.3.1-standalone.jar' Resolving cloud.github.com... done. Connecting to cloud.github.com[216.137.53.39]:80... connected. HTTP request sent, awaiting response... 200 OK Length: 6,623,453 [application/octet-stream] 100%[====================================>] 6,623,453 7.39M/s ETA 00:00 00:01:01 (7.39 MB/s) - `C:\java\lein\leiningen-1.3.1-standalone.jar' saved [6623 453/6623453]
新しいプロジェクトを作る
新しいプロジェクトを作るコマンドは、次のようになります。
lein new projectname
C:\Users\hoge\workspace>lein new helloweb Created new project in: helloweb
できあがったフォルダの中身は次のようになっています。
C:\Users\hoge\workspace>tree /F helloweb フォルダ パスの一覧: ボリューム Partition_1 ボリューム シリアル番号は ****-**** です C:\USERS\HOGE\WORKSPACE\HELLOWEB │ .gitignore │ project.clj │ README │ ├─src │ └─helloweb │ core.clj │ └─test └─helloweb └─test core.clj
Mavenのpom.xmlにあたるのは、project.cljです。デフォルトでは、次のようになっています。まだ、この時点ではclojure-1.2.0.jarなどは、プロジェクトフォルダに入っていません。
(defproject helloweb "1.0.0-SNAPSHOT" :description "FIXME: write" :dependencies [[org.clojure/clojure "1.2.0"] [org.clojure/clojure-contrib "1.2.0"]])
依存ライブラリを取得する。
lein deps
project.cljに記述した依存ライブラリを取得します。
C:\Users\hoge\workspace\helloweb>lein deps Copying 2 files to C:\Users\hoge\workspace\helloweb\lib C:\Users\hoge\workspace\helloweb>tree /F . フォルダ パスの一覧: ボリューム Partition_1 ボリューム シリアル番号は ****-**** です C:\USERS\HIGE\WORKSPACE\HELLOWEB │ .gitignore │ project.clj │ README │ ├─classes ├─lib │ clojure-1.2.0.jar │ clojure-contrib-1.2.0.jar │ ├─src │ └─helloweb │ core.clj │ └─test └─helloweb └─test core.clj
よく使うタスク
$ lein new NAME # 新しいプロジェクトを生成する。 $ lein deps # 依存ライブラリを lib/ にインストールする。 $ lein test [TESTS] # TESTS名前空間にあるテスト、またはすぺてのテストを実行する。 $ lein repl # REPL(Read-Eval-Print-Loop)セッションとソケット・サーバを起動する。 $ lein jar # プロジェクト全体を、jarファイルにパッケージする。 $ lein uberjar # 依存ライブラリも含めて、jarファイルにパッケージする。 $ lein install [NAME VERSION] # プロジェクトをインストールする。