Grails and BluePrintCSS | Tomás Lin's Programming Brain Dump

Grailsは楽しいんだけど,GORMに比べるとあまりにもGSPが地味でDynamic Scaffoldより先に進むのがおっくうだった。まあ,いちいちタグ打ちしたくない/でもあっさりしたUIもイヤだという身勝手以外のナニモノでもない欲求に振り回されてただけなんだけど。:-P


そんな折にみつけたのが,このエントリ。BlueprintCSSというCSSフレームワークGrailsに組み込む方法だそうな。ながなが書いてあるけど,やることは次の2つ。

1. BlueprintCSSのblueprintディレクトリを $GRAILS_APP_HOME/web-app/css にコピーする。
2. $GRAILS_APP_HOME/grails-app/views/layout/main.gsp のヘッダ部に以下の内容を追記する。

<link rel="stylesheet" href="${createLinkTo(dir:'css/blueprint',
 file:'screen.css')}" type="text/css" media="screen, projection">

<link rel="stylesheet" href="${createLinkTo(dir:'css/blueprint',
 file:'print.css')}" type="text/css" media="print">

<!--[if IE]><link rel="stylesheet" href="${createLinkTo(dir:'css/blueprint',
 file:'ie.css')}" type="text/css" media="screen, projection"><![endif]-->

「BlueprintCSSって何?」と思って,Google先生に聞いてみたら,いくつか役立つページを教えてくれた。

むむ。960 Grid Systemみたいなもんか?って,960gsのほうをちゃんと理解してなかったんだけど,もっかして,こいつも似たような事してたのかしらん?

とは言え,960gsの時は気がつかなかったんだから,BlueprintCSSのほうが(あたしには)分かりやすかったんだな。うんうん。


ps.
理想というかなんつうか,タグ打ちが好きではないあたしとしてはSwingBuilderっぽくGrailsのUI作れたらうれしいなぁと妄想している。

NetBeansのbuild.xmlはテストがコケてもfailするから,Hudsonさんが判断に困るよ

という話。Hudsonさんがビルドの結果を失敗と見なす理由の一つに「ジョブで動かしたプログラムの終了コードが0以外」ってのがありまして,これを拾うと問答無用でビルド失敗(赤ランプ)となります。
#「理由の一つ」とか言ってみたものの,他の理由は知らないよ。えへへ。


それに対して不安定(黄色ランプ)になるのは「ジョブは正常終了したけど,テストレポートに失敗が含まれる」なので,NetBeansが生成するbuild.xmlのようにテストが失敗すると,

== nbproject/build-impl.xml より ==
<target depends="init,compile-test,-pre-test-run,-do-test-run" if="have.tests" name="-post-test-run">
  <fail if="tests.failed">Some tests failed; see details above.</fail>
</target>

という風にfailしているのはHudson的に好ましくない。だから,こんな具合にbuild.xmlで元のターゲットを上書きすることにしたよ。
#build-impl.xmlを書き換えるのは気が引けたので。

<target depends="init,compile-test,-pre-test-run,-do-test-run" if="have.tests" name="-post-test-run">
  <fail if="tests.failed" status="0">Some tests failed; see details above.</fail>
</target>

ps.
NetBeansの地味な特徴に「ビルドシステムがAntベース」ってのがある。これのおかげで融通利かないところもあるんだけど,比較的行儀の良いbuild.xmlを生成してくれるので,build.xmlエディタとして高い評価をしている。:-)


いや,ほんと。ゼロベースでbuild.xml作るくらいならNetBeansのプロジェクトに取り込んで,NetBeansが生成したbuild.xml使った方がすごく楽だよ。