4

最近、Rake を使用して (Ruby 以外の) パッケージをビルドし始めました。Rake は素晴らしいですが、私が見つけたのは、階層ビルド (サブディレクトリに Rakefile を集約する) を行う方法です。これは他のほとんどのビルド ツールに共通の機能であるため、Rake に詳しい人が良い解決策を持っているかどうか疑問に思っています。

4

4 に答える 4

2

Ruby 以外のビルド タスクには Buildr をお勧めします。これは Rake に基づいています (Rake のすべての機能を使用できるようにするため、Rake の上に置かれます) が、コンパイルされた言語のセマンティクスにより適しています。また、階層ビルドもサポートしています。

于 2008-09-18T05:53:32.633 に答える
1

Builder は、スコープの概念をプロジェクトの名前と組み合わせて使用​​します。

Rake.application.current_scope は、それらの操作方法を発見するためのエントリ ポイントです。これが役立つことを願っています。

于 2010-08-01T12:09:05.680 に答える
1

私も、これを行う方法を理解できませんでした。私はやった:

SUBDIR = "subdir"
task :subtask => SRC_FILES do |t|
    chdir(SUBDIR) do 
        system("rake")
    end
end

task :subtaskclean do |t|
    chdir(SUBDIR) do 
        system("rake clean")
    end
end

task :subtaskclean do |t|
    chdir(SUBDIR) do 
        system("rake clobber")
    end
end

task :default => [:maintask, :subtask]
task :clean => :subtaskclean
task :clobber => :subtaskclobber

ちょっとひどい。実際、本当に最悪です。私はドキュメントを精査しましたが、同等のものを見つけることができませんでした<antcall>

それはすべてRubyであり、Rubyをほとんどrequire知らないので、それまたは何かを行う非常に明白な方法があると確信しています。

于 2008-09-23T20:07:51.407 に答える