10

この質問は、あるソースセットを別のソースセットに依存させることに似ています

メインの SourceSet の他に、testenv SourceSet もあります。testenv SourceSet のコードはメイン コードを参照するため、メイン SourceSet を testenvCompile 構成に追加する必要があります。

sourceSets {
  testenv
}

dependencies {
  testenvCompile sourceSets.main
}

sourceSets を依存関係として直接追加できないため、これは機能しません。これを行うための推奨される方法は次のとおりです。

sourceSets {
  testenv
}

dependencies {
  testenvCompile sourceSets.main.output
}

しかし、これは eclipse では正しく機能しません。gradle ビルド フォルダーを消去すると、gradle ビルドに依存するため、eclipse がコンパイルできなくなるためです。また、メイン コードを変更した場合、Eclipse で変更を有効にするには、gradle でプロジェクトを再構築する必要があります。

依存関係を正しく宣言するにはどうすればよいですか?

編集:

これ

sourceSets {
  testenv
}

dependencies {
  testenvCompile files(sourceSets.testenv.java.srcDirs, sourceSets.testenv.resources.srcDirs)
}

メインソースで動作しますが、.java ファイルを参照するようになったため、Annotation-Processor から生成されたクラスがありません:(

4

1 に答える 1