やりたいこと
Mustache.javaを触りたいけどEclipseやらMavenやらの環境が沈没していたので、簡単に楽して触って動かそうと思った次第。
とっっってもも簡単でした!
環境構築
Javaをインストール済みだったのでgemから開始します(ヒドイ)
Linuxなら以下のコマンドを打つとgemというGroovy関連のパッケージマネージャをDL&インストールしてくれます。
curl -s get.gvmtool.net | bash
ターミナルを再起動してから、Groovy2.4.0をインストール。
gvm install groovy 2.4.0
おまちかねのgroovyの実行。
ターミナル経由だと文字列のクォートがどちらだったか忘れちゃいますね。
$ groovy -e "println 'hello world!'"
hello world!
ここまでわずか5分の出来事。
うちクォートのハマりが結構比重占めた結果に。
開発
参考サイトを見ながらコーディング。
Mustacheのテンプレートは{{name}}, {{description}}!"
と基本的なものを利用します。
Mustache.java自体がJavaなので、ほぼGroovy感は無くなりました。
@Grab(group='com.github.spullara.mustache.java', module='compiler', version='0.9.0')
import com.github.mustachejava.DefaultMustacheFactory;
import com.github.mustachejava.Mustache;
import com.github.mustachejava.MustacheFactory;
scopes = ["name": "Mustache{{", "description": "Prfect!"]
Writer writer = new OutputStreamWriter(System.out);
MustacheFactory mf = new DefaultMustacheFactory();
Mustache mustache = mf.compile(new StringReader("{{name}}, {{description}}!"), "example");
mustache.execute(writer, scopes);
writer.write("\n");
writer.flush();
実行と結果
groovy grab.groovy
を実行
Mustache{{, Prfect!!
がコンソールに出力されることを確認。
良かれと思い実行結果にMustacheのアイデンティティの{{
入れましたけどバグみたいになっちゃいました…
初回起動は遅かったですが(おそらくMavenリポへの問い合わせ)、二回目以降はキビキビ動いてくれました。
素晴らしい!
まとめ
Groovy/Grapeの出来の良さに魂が震えました、本当にありがとうございました。
参考
-
groovy文法
- 結構ガッツり文法説明
-
groovyコマンドオプション
- portでリッスンするオプションがあったり面白い
-
Mustache.java - Github
- Mustache.java本家のサイト