LoginSignup
2

More than 5 years have passed since last update.

Groovyでテンプレートエンジン{{Mustache}}をGrabして動かす

Last updated at Posted at 2015-06-19

やりたいこと

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.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の出来の良さに魂が震えました、本当にありがとうございました。

参考

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2