3

Gradle マルチプロジェクト構造

RootProject には、build.gralde と settings.gradle があります。common,subProj1 と subProj2 は settings.gradle のサブプロジェクトです

middleDirはサブプロジェクトではありません! subProj1、subProj2 は関連しているため、それらをグループ化するためだけに使用されます。

ルート ディレクトリで「gradle eclipse」を実行するたびに、intermediateDir にも .classpath および .project ファイルを取得します。したがって、基本的に、intermediateDir は、settings.gradle になくても、一部のタスクのサブ プロジェクトと見なされます。これを回避する簡単な方法はありますか?

4

1 に答える 1

8

あなたが書いたようsettings.gradleに、中間ディレクトリサブプロジェクトです。多くの場合、中間プロジェクトに独自のファイルやタスクがなくても、子プロジェクトを簡単に構成して一度に実行できるため、これは望ましいことです。

中間プロジェクトの望ましくない動作を取り除くには、その動作 (例: apply plugin: "eclipse") をそのプロジェクトに適用しないようにするか (おそらく、現在適用している)、中間プロジェクトを作成しないようにallprojects変更します。settings.gradle例えば:

include "common"   
// name it any way you like, but not 
// "intermediateDir:subProj1", i.e. no ":"
include "subProj1" 
include "subProj2"

project(":subProj1").projectDir = file("intermediateDir/subProj1")
project(":subProj2").projectDir = file("intermediateDir/subProj2")
于 2014-01-09T15:48:49.413 に答える