Rake に移行する価値はありますか?
-
09-06-2019 - |
質問
アリからレイクに移行するのは本当に有利なのでしょうか?
Ant から移行して記念碑的なものを見つけた人はいますか?
ご参考までに:現在の環境は Ant for J2ME ビルドです
解決
その通りだと思いますが、私は .NET 環境担当者なので、Java 環境担当者とは異なる視点を持っています。私は msbuild (MS の XML 主導の NAnt の取り組み) で重要なビルド スクリプト (クリーン、アセンブリ情報の生成、ビルド、テスト、カバレッジ、分析、パッケージ) を作成して保守していましたが、これは非常に苦痛でした。
- XML はフレンドリーではありません。とても騒がしいです
- チームの他の誰も、より多くの、より有用な自動化を実行するところまで学習することに興味を持っていませんでした。バス係数が非常に高い(つまり、私がバスに轢かれると、バスはバスに引っかかってしまう)
- それはリファクタリングや改善には適していませんでした。それは「危険にさらされる」ものの 1 つでした。
- ビルドに必要なさまざまなツールを実行するには、カスタム C# タスクを記述する必要がありました (ただし、公平を期すために、これらのタスクはベンダーによって記述されることがよくあります)
約 1 週間の勤務時間 (クリスマスの時期に誰もいないオフィスが大好きになりました!) で、Ruby と rake を十分に学び、すべてをもう少し機能を備えた短い (LOC の点で) スクリプトに置き換えることができました。そして、より分かりやすくなります(とにかく、そう願っています。まだレビューされていません)。
次のような利点があります。- 新しい言語ですが、本物の言語です。私のチームメイトは新しい言語を学ぶのが好きで、これは薄っぺらな言い訳ではありますが、それでも言い訳です ;-) 私の考えが正しければ、これでバス要因が軽減されるかもしれません。- ここから、RoR 世界の自動/リモート/分散導入ツールである capistrano までは、短いホップです (私はそう思います)。MS スタック ショップであるにもかかわらず、最終的に CLI 構成ツールが追加された IIS7 と組み合わせて使用するつもりです。
それで、そうです。走行距離は人によって異なるかもしれませんが、私にとってはそれだけの価値がありました。
他のヒント
Rake は次のような場合に最適です。
- 実際のプログラミング言語へのアクセス。Ant (ほぼ不可能) に比べて、条件文とループはすべて非常に単純です。
- 読みやすく構文チェックも可能なファイル形式
- 変数への値のより直感的/予測可能な割り当て
Rake は次の理由で体に悪いです。
- 多くの基本的なタスク (javac の実行、jar ファイルの作成など) を自分で行う必要があります。のようなプロジェクト カラス 役立つかもしれませんが、依存関係の自動ダウンロードを目的としており、ビルド/デプロイプロセスはあまり自動化されていないようです。さらに、ドキュメントが少し不足しています。
- 自動化できる Java ツールのほとんどは Ant タスクとして実行され、Rake からは簡単に実行できません。ビルド時に JVM の起動が煩わしい場合がある
チェックしてみてはいかがでしょうか ビルダー 同じように。これは、rake 上に構築された高レベルのビルドツールです。私の意見では、Maven の良い機能の多くを取り込み、悪い機能を捨てています。私自身はこれを大きな用途で使用したことはありませんが、使用していて非常に満足している人を知っています。
チェックアウトしたいと思われるもう 1 つのツールは次のとおりです。 ガント ant があなたのニーズを満たしていない場合。これにより、本格的なスクリプト サポートが Ant に追加されますが、必要に応じて Ant タスクを再利用できるようになります。それは、アリの何が気に入らないかによって異なります。