PEAR channel server おまけ2

相変わらず具体的な進展は無いんだけどメモ。

PEAR_PackageFileMnager で、ファイルリストを生成するプラグインは今のところ file か cvs のどちらかを使う事が出来る。バージョン管理を CVS から SVN に乗り換えた後なので、ここでもできれば SVN を使いたい。

cvs プラグインのソースを軽く眺めた感じでは、CVS/Entries の中身を見てそこから『あるべきファイル』をぶっこ抜いている様子。特に cvs コマンドを経由して情報をとっている感じは無い。php 組み込み関数として CVS 操作が用意されている一方で SVN 操作は用意されていなかったと思うので、その辺の影響(cvs どまりな理由)があったりするのかなぁと思ったりもしたけどそんな事は無かった。まあ、『既存ディレクトリ』を指定しなきゃいけないって時点でそれは無いんだけど。

で、ここで『作った!』と言えればいいんだけど、そんな事は無い。一応、(仕事上の)タスクとして割り振られているので今週の勤務中には書く事になると思うけど、今は確認どまり。まあ、file プラグインを継承して cvs プラグインを真似したら割と簡単にできるかな、と。問題は CVS/Entries と .svn/entries の違いを確認してないって所かな。まあ、SVN のエントリーリストは単純な xml だから simplexml とか使えば特に問題は無いと思う。性質的に日本語なんか考慮する必要もないだろうし。…、ファイル(ディレクトリ)名に日本語使ってなかったよな?

さて、まずは厄介なタスクから片付けないと。これに取りかかるのは週末頃かなぁ(それまでにどっかでプラグインが公開されてたりすると楽だったりするんだけど…)。


パッケージングの流れを想像してみたり…

% svn update -r HEAD PACKAGE_DIR
% php make_package_xml.php package.yml
% pear package
% pear build package.xml
? パッケージのアップロード(Web 管理画面?rsync とか?)

多分、最終的にはシェルスクリプトとかで1つにまとめて実行するだろうけど、今のところこんな感じかな、と。パッケージング対象のディレクトリは "svn co"であらかじめリポジトリからチェックアウトしている。で、パッケージング前に最新の状態にしておく(リビジョン指定とかが必要ならそれはそれ)。で、package.xml を生成するスクリプトを、パラメータを記述した YAML を読み込んで実行させる。YAML にしたのは微妙だけど、いちいちスクリプト書き直すのは手間な気がするし、スクリプトは使い回したい。あと、引数指定するにしては変更可能性のあるパラメータが多い気がしたから。最初から手書きで XML いじれって気もしないでもないけど、見た目的に分かりやすいかなと(安全面からも)。で、パッケージングして、その後に一応 build テスト。この辺は自動化すべきかよく分からない。最後にアップロードだけど、ここは手順がまだよくわかってない。Web 管理画面使えばいいんだろうけど、自動化できるならそれにこした事は無い。管理画面のインターフェースを軽く見た感じではファイルアップロードだけだったと思うんだけど、よくわからないので要調査。

プロフィール

このブログ記事について

このページは、koshigoeが2006年4月 9日 20:55に書いたブログ記事です。

ひとつ前のブログ記事は「PEAR channel server おまけ」です。

次のブログ記事は「趣味(家PG)と実益(仕事PG)が重なると厄介」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。