複雑ですが興味深い状況です。これは私のフォルダ構造のツリー図です:
root
|___ settings.gradle
|___ p1
|___ p2 // depends on p3/sp1
|___ p3
|____|___sp1
|____|___sp2
それで状況が説明できるといいのですが。
sp1
の依存関係としてp2
を追加するにはどうすればよいですか?
これまでのところ、私のルートsetting.gradle
には、
rootProject.name = root
include 'p1'
include 'p2'
include 'p3'
p2
build.gradleには、
dependencies {
compile project (':p3:sp1')
}
ただし、これを行ってもp2
の依存関係は解決されません。未定義の定義に関するエラーが引き続き表示されます。
どうすれば修正できますか?
余談ですが、sp1
が他の依存関係をどのように解決するかを考えます。sp2
に依存している場合と同様に、p3
?
プロジェクトを想定しているsp1
およびsp2
はプロジェクトのsubprojects
p3
、やりたい場合:
dependencies {
compile project(':p3:sp1')
}
次に、settings.gradle
から:
rootProject.name = root
include ':p1'
include ':p2'
include ':p3' // Keep this if this folder contains a build.gradle
include ':p3:sp1'
include ':p3:sp2'
あなたが見ているかもしれない人のための答えを追加するために、あなたのsettings.gradleに
include ':p1',':p2',':p3:sp1',':p3:sp2'
sp1がsp2に依存する場合
次に、sp1のgradleへの依存関係を追加します
dependency {
compile project(":p3:sp2")
}