From: Minero Aoki Date: 2001-06-30T01:20:46+09:00 Subject: [ruby-list:30419] Re: setup.rb: pre_*, post_*, task 'all' あおきです。 In mail "[ruby-list:30404] setup.rb: pre_*, post_*, task 'all'" rubikitch@ruby-lang.org wrote: > るびきちです。 > setup.rbに欲しい機能を追加してみました。 > > これを適用すると、TASKの前後に行う処理を記述できます。 > それぞれ、pre_config, post_config, pre_setup, post_setup, pre_install, post_install。 > これでコンパイルの前後に行う仕事などが記述可能になります。 > たとえばRDtoolでいえばraccを実行するとかです。 機能としては異存ありません。いずれつけようと思ってたところです。 ただフックはパッケージそれぞれに用意できるようにしたいので、 setup-config.rb 相当のものはパッケージごとに別ファイルを用意し、 そこで特定名のクラスを定義してもらうようにしましょう。 ファイル名はたとえば lib/setuphook-PACKAGENAME.rb とか。新しく ディレクトリを作って setup/hook-PACKAGENAME.rb でもいいですね。 パッケージ名 tmail を例にすると lib/setuphook-tmail.rb があったらそれをロードして hook = InstallerHook_tmail.new(self) hook.pre_config if hook.respond_to? :pre_config コンフィグ hook.post_config if hook.respond_to? :post_config hook.pre_setup if hook.respond_to? :pre_setup 主処理 hook.post_setup if hook.respond_to? :post_setup hook.pre_install if hook.respond_to? :pre_install インストール hook.post_install if hook.respond_to? :post_install てな感じ。パッケージ名 generic は予約。 ---- それとこの前の /~\z/ ファイルのことですけど、アーカイブのチェック ツールを setup.rb とは別に用意して対処しようと思います。 # ああ、srcdir 対応やってない……わたなべさんごめんなさい ------------------------------------------------------------------- 青木峰郎