2005-01-14(Fri) [長年日記]
■1 『完全版 水木しげる伝(下)戦後編』
上中巻に比べるとすさまじく駆け足なのが少し寂しい。が、それよりもこれをもって本作は完結、もう続きを読めない。もっと寂しい。ガブーッ!!
■2 「JavaよりもずっとAgileでFlexible」で「『Javaアプリケーションのスクリプティング』の標準的言語の地位を確立している」言語で記述した経験を告白します
某maven.xml
ゆえあって、2のファイルのタイムスタンプをビルド時に比較しなければならなくなった。ちょっとした好奇心から試してみたらできてしまったんです。ごめんなさい。
<project xmlns:j="jelly:core" xmlns:u="jelly:util" ...> <goal name="checkTimestamp"> <!-- ファイルのフルパスを取得 --> <j:set var="some.file.path" value="${basedir}/${some.file.name}" /> <j:set var="another.file.path" value="${basedir}/${another.file.name}" /> <!-- java.io.Fileのインスタンスを生成 --> <u:file var="someFile" name="${some.file.path}" /> <u:file var="anotherFile" name="${another.file.path}" /> <!-- Fileのタイムスタンプをlongで取得 --> <j:set var="someFileLm" value="${someFile.lastModified()}" /> <j:set var="anotherFileLm" value="${anotherFile.lastModified()}" /> <!-- Fileのタイムスタンプを示すjava.util.Dateを生成 --> <j:new var="someFileLmDate" className="java.util.Date" /> <j:setProperties object="${someFileLmDate}" time="${someFileLm}" /> <j:new var="anotherFileLmDate" className="java.util.Date" /> <j:setProperties object="${anotherFileLmDate}" time="${anotherFileLm}" /> <!-- 2つのDateを比較(なんかJEXLでlt演算がうまくでけない) --> <j:if test="${anotherFileLmDate.before(someFileLmDate)}"> <fail message="FILE TIMESTAMP ERRROR: ..."/> </j:if> </goal> .... </project>
Maven使ってると<jelly:forEach>とか<jelly:if>とかフツウに使うとはいえ、<jelly:new>に初めて遭遇したときは改めてオドロキを受けた。
でもまあ、buzzwordの潮流はこっちなんですよね? 不勉強なのでよく知らないのですが。
■3 丸山先生レクチャーシリーズ 第3回@2005/01/28
申し込んでみた。デブサミ2005で参加するコマはあといくつか埋めれば完成予定。