2015-09-16 10 views
8

EclipseのBuildshipを自分のやり方で設定するときに問題があります。私は現在Eclipseで50以上のプロジェクトを開いていますが、私はEclipseで積極的に取り組んでいるプロジェクトだけに移行したいと考えています。他のプロジェクトは依存関係を解決するためにMavenリポジトリを使用します。Gradle + Buildship - JARとプロジェクトの切り替え依存性

ProjectA(メインを含む)はProjectB(ライブラリプロジェクト)に依存しているとします。 ProjectBがEclipseで開かれている場合は、ProjectAにProjectBを直接使用したいと思います。 ProjectAを実行すると、ProjectBのコードの変更が目立つようになります。しかし、ProjectBが閉じている場合は、ProjectAのbuild.gradleファイルに記載されているMavenリポジトリにあるProjectBのJARを使用したいと思います。

私が話している動作は、詳細hereです。

ビルドシップを使用する方法はありますか?それとも別のGradle Eclipseプラグインを使うべきですか?

答えて

8
  1. Gradle 3.1に新しいcomposite build support機能が追加されました。この機能はゲームのチェンジャーであり、複数のプロジェクトを一度に簡単に処理できます。

  2. dependency substitution rulesを使用すると、ローカルプロジェクトの依存関係を持つリポジトリの依存関係をスワップアウトできます。

  3. それぞれのプロジェクトが別々のgit/subversionリポジトリにある場合は、prezi prideを使用してプロジェクトの「誇り」を管理できます。ビルドシップに(動的に生成された)マルチモジュールビルドをインポートすることができます。

  4. あなたがあなたのワークスペース内のプロジェクトを指すように生成された.classpathファイルを微調整するwhenMergedまたはwithXmlフックを使用する代わりにbuildshipのeclipse pluginを使用したい場合(ノート日食は、現在のコマンドラインをGradleのように、異なる構築していきます)。

2

完了のために、私はLance Javaの示唆しているように依存関係置換に行きました。このアプローチには次の利点があります。

  • サードパーティのソフトウェアは必要ありません。
  • IDEは独立しています。私たちは.classpathファイルを直接操作していません.Eclipseプラグイン(または他のIDEプラグイン)でこれを処理させます。
  • 他のプラグインは、使用したい実際の依存関係にアクセスできます。

    しかし、そのアプローチには、いくつかの落とし穴があります。 build.gradleファイルまたはbuild.gradleファイルから呼び出されるメソッドのいずれかで行う必要があります。

  • 作業領域を更新する必要があります。
+0

私が間違っていると私を修正しますが、この解決策はgradleプロジェクト内でのみ機能します。もし私がgradleビルドに含まれていないワークスペースプロジェクトに依存関係を代入する必要があればどうしますか? – user1482710

関連する問題