ひしだまの変更履歴

ひしだまHPの更新履歴。
主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。

ファイル内容を比較して同期をとるantタスク

2007-03-09 23:48:40 | PG(Java)

ファイルの内容を比較して同期をとるantのタスクを作ってみた。ファイル内の各行に正規表現を適用して、異なるデータでも同じパターンとして判断することが出来る。
ant1.6用だけど、eclipse3のantも1.6だから問題ないでしょう。

使用目的その1は、javadocのコピー
javadocを生成すると全ファイルが作り直されるが、日付のみ変更されたファイルが多くて、実際に表示される内容が変わっているファイルは少なかったりする。今までは生成されたファイルを全て公開用ディレクトリにコピーしていたけど、そこから全ファイルをftp転送するのは時間がかかるんだよね(嘆)
このタスクを使って内容が変更されたファイルだけをコピーできるようになったので、効果抜群♪

使用目的その2は、CVSの作業ディレクトリ間のコピー
ブランチのファイルをトランクに反映させるような場合、「CVS」という名前のディレクトリ内はそのままにして、その他のファイルだけをコピーしたい。
さらに、ブランチとトランクではCVSキーワードの出力内容が異なっているので、それは無視して、内容が実質的に変わっているファイルだけを対象にしたい。
これも出来るようになった♪


ant1.6には、syncという ディレクトリの同期をとる為のタスクが追加されている。でも比較せずに残したいファイルが指定できなかったりして、やりたい事が微妙に出来なかった。
そんな訳でsyncを参考に独自のタスクを作ったんだけど、これがまた例によって拡張性が無くて(嘆)
基本的には内部クラスを継承してメソッドを1つオーバーライドするだけだったんだけど、そのインスタンスがprivateメンバーだった為に全てのメソッドが使用不能…。

「antは拡張性を考えてある」と謳っているようで、確かにcopyタスクなんかはプログラムの中で作り出して呼んだりすることは出来るけど、クラス自体を継承することまで考えてあるのは少ないような…。


それにしても正規表現って、書いて見ると分かりづらい(苦笑)
CVSキーワードを示す正規表現なんて、すごいことになってる(爆)

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

VB.NET2003 WebBrowser

2007-03-09 03:01:15 | PG(VB)

VB.NET2003のウェブブラウザーコントロールについてメモ。初のVBメモ。

VB.NET2003(1.1?)というところがポイント。以前から使っている環境は変えずにアプリだけ改良、ということはよくあるので、新しい技術にすんなり移行できるとは限らない。
VB.NET2005?(2.0)なら、標準でウェブブラウザーコントロールがあって、便利そうな機能がいろいろドキュメント化されているみたいなんだけどなー(嘆)

そうは言っても、今回書いたのはほとんどHPで載っていたものばかり。
でもHTMLのボタンが押されたことをVB側で知る方法は難航した。イベントハンドラーの登録は出来ないのかと諦めかけたし。VB.NET自体に慣れていないので、コーディングをミスってたみたい(恥)

慣れていないと言えば、統合環境も普段一番使っているEclipseと違うのでやりにくい。
インテリセンスで補完したいものを選んでリターンキーを押すと改行されるし。そんでもってVBは途中で改行するとエラーになるもんだから、うざくてたまらん。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする