2014-09-25
Mavenをgemのように使う『Teapot』
[ PR ]
私はJavaを得意としますが、Rubyがいいと思うことも多々あります。
その中でも、RubyGemsはRuby最大の魅力と言っても過言はありません。
Rubyにとって最も大きな資産であり、これこそがRubyを飾る宝石=Gemsだと思うからです。
Maven
もちろんJavaにも同様の資産はあります。それはMaven=専門家です。お茶の専門家であり、あらゆるブレンド(Jar)を知り尽くしている彼を操作するには、それなりの専門用語(XML)が必要です。
Gemsの魅力は、誰でも操れることであり、専門用語は不要です。
そこで私は、JavaにとってのGemsであるTeapotを作りました。
Teapot
使い方は簡単です。まず最新のTeapotをダウンロードしてきます。
(Teapot <急須> がJar <茶瓶> で配布されているというのは可笑しな話ですね。)
そして、~/.bashrc
に次のように書き込みます。(Windowsではdoskeyを使って下さい。)
alias teapot="java -jar teapot-xxx.jar"
これで準備は完了です。
ヘルプ
このティーポットはシンプルですが多機能です。
teapot -h
usage: teapot [command] [args...] [option...] command: help --- show help search [query] --- search jar with query versions [group-id] [artifact] --- search versions of [group-id].[artifact] install [group-id] [artifact] [version] --- install jars and dependencies (without test scope) install-all [group-id] [artifact] [version] --- install jars and dependencies (include test scope and optional) jar [group-id] [artifact] [version] --- install jar only pom [group-id] [artifact] [version] --- download pom-file [version] of [group-id].[artifact] option: -v | --version --- print version -h | --help --- show help -Dproperty=value --- define property. use this if the property is undefined -Dproperty=* --- define property as latest version (in bash, this will be -Dproperty=\*) -d [directory] --- set file output directory -l [number] --- set list count for display
検索
まずはJar(茶瓶)を探します。
teapot search commons
# Search Results:
# commons (net.dongliu.commons)
# commons (com.watchrabbit)
# commons (com.cisco.oss.foundation)
# commons (org.opencb.commons)
# commons (org.apache.commons)
# ...
バージョン一覧
目的のバージョンを探します。
teapot versions commons-io commons-io
# Versions:
# 2.4
# 2.3
# 2.2
# 2.1
# 2.0.1
# 2.0
# 1.4
# 1.3.2
# 1.3.1
# ...
インストール
Jarとバージョンが決定したところで、早速インストール(pour)してみます。
teapot install commons-io commons-io 2.4 -d libs
# Installing commons-io:commons-io (2.4)...
# [Phase 1/4] Downloading Pom...
# [Phase 2/4] Check Dependencies...
# [Phase 3/4] Installing Dependencies... OK
# [Phase 4/4] Installing commons-io:commons-io (2.4)...
# Complete!
簡単ですね!Maven(専門家)を操るより、自分のTeapotで注ぐ方が簡単です。
Teapotのダウンロードページ
まとめ
ちょっと今回は新しいテイストで紹介してみました。
ちなみにどの用語も本当にそういう意味があるんですよ。
Java(ジャワティー)にちなんで、用語はすべてお茶関係に統一してあるんですね。