2007年12月20日

[ruby-list:44368] Re: Rake改善プロジェクト

るびきちです。

具体例がないので的を外しているかもしれません。

> タスクごとの引数を渡せるようにする
> コマンド引数からタスクへ、引数を渡すことができる機能。

task :with_arg do

puts ENV['arg']
end

環境変数で渡せます。
こんなRakefileで
$ rake with_arg arg=hoge
とやると
hoge
と表示されます。

実際に僕自身がこんな感じでパッケージ内をegrepするタスクを運用しています。
$ rake egrep q=query

> Sake*1
> 共通の Rakefile をどこかに置いておいて、それを取り込む機能。

importがあります。

> 親ディレクトリの Rakefile を継承
> 上記の Sake と似ているが、親ディレクトリにある Rakefile を自動的に取り込む機能。

ディレクトリを上へたどるコードを書けばいいのでは?

> タスクの fire
> タスク内で、他の任意のタスクを起動する機能。たとえば、あるタスク実行後に他のタスク
> を起動したりすることができるようになる。

task :first do
puts "first"
Rake::Task[:second].invoke
end

task :second do
puts "second"
end

こうすればよいです。

$ rake first
first
second

> 「もしかして」機能
> タスク名をスペルミスしたときなどに、近い名前のタスクを提示してくれる機能。

これはシェルの補完でまかなえばいいと思います。

> 「合わせて使いたい」
> あわせて使いたいタスクを提示する機能。

よくわからないですがnamespaceで同じ名前空間に登録するとかじゃだめですか?

> 「この次はこれ」
> 「あわせて使いたい」とほぼ同じ。次に頻出するタスクを提示する機能。

task :all => [:first, :second, :third]
で自動実行するのはだめですか?引数は環境変数で渡せますし。

> 「やっときました」
> 「この次はこれ」のタスクを勝手にやってくれる機能。

これこそ依存関係で指定できます。

> gem を作るタスク
> gem パッケージを作るためのタスクを作る機能。

require 'rake/gempackagetask'
でしょう。あるいはhoeを使うか。

--
rubikitch
Blog: http://d.hatena.ne.jp/rubikitch/
Site: http://www.rubyist.net/~rubikitch/

投稿者 xml-rpc : 2007年12月20日 05:13
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/67837
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。