gradleのeclipseプラグイン

2018年7月15日

ややこしいのだが、ここで取り上げるものは、gradleのeclipseプラグインであって、eclipseのgradleプラグインではない。

  • gradleのeclipseプラグイン
    gradleに含まれるeclipse用の設定ファイル生成プラグイン。基本的にはgradleさえあれば、eclipse-IDEがなくても動作する(はず)。単にeclipseで必要なファイルを生成するだけなので。
  • eclipseのgradleプラグイン
    eclipse-IDEに追加されるgradleサポートのためのプラグイン。STS、buildship、EGradleの種類があり、eclipse-IDE上でgradleを使用したプロジェクトを楽に扱うことを意図している。

ここでとりあげる「gradleのeclipseプラグイン」は、eclipse-IDEなしでもよい(はず)。実際にeclipse-IDE無しで使おうという人はいないはずなのだが、動作のみであれば原理的にはEclipse-IDEは不要。

gradleのeclipseプラグインの意図しているもの。

本家gradleのマニュアル日本語訳はここにある

このマニュアルは一般に、読んでみても何のことやらわからない記述ばかりなのだが、しかし、やるべきこととしては、build.gradleに以下の記述を行う。

apply plugin: 'eclipse'

すると、eclipseの設定ファイルを削除したり、作成したりするためのタスクが定義されるということ。しかし、面倒と思う必要はない。上記のマニュアルには、「Eclipseプラグインは多くのタスクをプロジェクトに追加しますが、主に利用するのは eclipse と cleanEclipse タスクだけです 」とあるように、何も考えずに二つのタスクを使用すればよい。

タスクの呼び出しとEclipse用設定ファイルの生成

これらタスクを呼び出すことで、例えば、個人的に最も欲しいものは、dependenciesに列挙したライブラリjarをeclipseのビルドパスに入れてもらうことなのだが、自動でそれを行ってくれるということ。

通常は、Eclipse-IDE用のgradleプラグインから実行すればよいのだが(本記事で説明するgradleのeclipseプラグインではなく、IDEの方。ややこしい)、ここではあえてコマンドラインからやってみる。単に二つのタスクを連続して呼び出すだけなので、「gradle cleanEclipse eclipse」を実行すればよい。

これを行うと、(他すべてのケースでそうなのだが)Eclipseの知らないうちに、それ自身の設定ファイルが書き換えられるのでプロジェクト全体をリフレッシュした方がよい。

すると、eclipseプロジェクトのトップにある.projectファイルが書き換えられ、ビルドパスにライブラリが
追加されることがわかる。ビルドパスは例えば以下のようになる。

eclipseの.classpathに書き込まれるべきものの制御

複数のソースフォルダもしくはソースフォルダの変更

通常、eclipseのソース・ファイルフォルダはプロジェクト直下のsrcというフォルダがデフォルトだが、これに加え、他のフォルダもソースにしたいとする。この場合、build.gradleに以下のように記述する。

sourceSets {
  main {
    java {
      srcDir 'src';
      srcDir 'src_extra';
    }
    resources {
      srcDir 'src';
      srcDir 'src_extra';
    }
  }
}

この設定の後で「gradle cleanEclipse eclipse」すれば、ビルドパスのソースが正しく設定される。

リポジトリ管理をしていない自作ライブラリの追加

通常は、dependenciesに記述されたライブラリがビルドパスのライブラリに設定されるのだが、ここに現れない自作ライブラリを含めたいものとする。ここでは、プロジェクト直下のlibフォルダにあるすべてのjarファイルを含めることにする。

参考ページ