なぜEGradleか?作者の言
これは、egradle FAQの抄訳。
なぜEGradleなのか?
2016年に私の仕事のチームが決定したんです、我々の巨大なエンタプライズプロジェクトのビルドをantからgradleに変更することを。
ですから、私は様々なeclipse用のIDEを試してみたわけです。そして、フラストレーションを抱えることになりました。なぜなら、eclipseとコンソールを交互に使う場合はたびたび問題が発生したからです。例えば、「gradlew cleanEclipse eclipse」ですが、これが既存のワークスペースを破壊してしまうんです。
なぜなら、eclipse統合(プラグイン)が、eclipseのプロジェクトをgradleのやり方とは異なるやり方で定義してしまうからです。gradleが行うのとは別の独自のやり方になってしまうんです。
ですから、私はもっと単純な統合が欲しいと思いました、開発で最も必要される部分のみです。
- 良いエディタ
- コンソールとeclipseが互いに競合しないこと
- ユニットテストがeclipseスタイルで実行可能であるべきだが、gradleでも実行できること
- ビルド結果へのフルのアクセス
- ラウンチ設定
- ビルドに際しての問題の情報、エディタへの直接的なマークアップ(ビルド時にエラーが出たら、エディタがその場所を示すということ)
その時点で自身のプラグインEGradleを開発しだしたんです。
EGradleは、他のIDEとは異なる何をしてくれるのか?
Eclipseには他のgradle統合があります。Gradle IDE(STS)やBuildshipです。では、なぜもう一つ作るのかといえば、EGradleは他の統合環境とは別のやり方で行うんです。
- コンソールの世界とEclipseの世界が同じであること。何の特別なimportも不要だし、何の追加クラスパスのふるまいも不要だし、Eclipseのネイチャー(おそらくプロジェクトそれ自体に組み込まれるプラグインの情報のこと)も不要。いつも「cleanEclipse eclipse」でgradleを呼び出すことができ、生成されたEclipeプロジェクトのデスクリプションをimportすることができる。
- 自身のパワフルなエディタを持つ(アウトラインビュー、コード補完、ハイパーリンク)。
- EGradleはほとんどgradleの単純なUIラッパにすぎない、いくつかの追加機能は付加されているが。
- eclipseとコンソールのブリッジであるが、メインのロジックはそのままgradleの方にある。
- ライトウェイトだ。gradleのスクリプトを解析することはしない。もし、実行するタスクを知らいたいなら、クイックラウンチで「tasks」を呼び出してほしい。
- 既存のビュー、コンセプト、統合を再利用する。例えば、JUnitの結果はJUnitのビューに表示される。
- KISS(Keep It Simple Stupid)パターンを使う(単純ということ)。そして、速く、心地よい。