web-dev-qa-db-ja.com

Rakeとは正確には何ですか?

簡単に言えば、Rakeは何をしますか?どんな目的がありますか?私はそれがビルドツールであることを理解していますが、もう少し詳細を探しています。 (単純に。)

75
Skip

詳細については、Rakeに関するMartin Fowlerの記事を参照してください。

http://martinfowler.com/articles/rake.html

彼の前文は:

Rakeはビルド言語であり、makeとantの目的が似ています。 makeやantと同様、ドメイン固有言語です。これら2つとは異なり、Ruby言語でプログラムされた内部DSLです。この記事では、rakeを紹介し、このWebサイトをビルドするためのrake:依存関係モデル、合成タスク、カスタムビルドルーチン、ビルドスクリプトのデバッグ。

プロジェクトのホームページで利用可能な、またはリンクされている詳細情報もあります。

http://rake.rubyforge.org/

52
David M

これらの回答は、DSLが何であるか、またはMakeまたはAntに精通していることを前提としています。そうでない場合は、次のようになります(おそらく非常に単純化された答えです)。

RakeRuby プロジェクトで使用できるツールです。 Rubyコードを使用して、コマンドラインで実行できる「タスク」を定義できます。

Rakeは ダウンロードして含める in Ruby projects as a Ruby gem。

インストールしたら、プロジェクトに追加する「 Rakefile 」という名前のファイルでタスクを定義します。

Rakeには file operations (作成、削除、名前変更、移動など)ファイル)、 [〜#〜] ftp [〜#〜] / [〜#〜] ssh [〜#〜] 、および 実行中テスト

詳細については、プロジェクトのドキュメントを参照してください。 http://rake.rubyforge.org/

72
bryanbraun

RakeRubyプログラミング言語依存ベースの宣言型プログラミング の実装です。基本的に、RakeはRuby what Make はCです。ただし、Makeは外部 [〜#〜] dsl [〜 #〜] 、Rakeは内部DSLです。

11
Jörg W Mittag

Rakeでは、Nice名前空間apiを介してRubyコードを実行できます。例はrake db:migrateです。他のタスクの前後にタスクを自動的に実行できます。それだけです。

8
August Lilleaas