我有一个看起来像这样的结构:
proj/myserver/build.gradle
common/common.gradle
common/server.gradle
build.gradle需要
apply from: '../../common/server.gradle'
和server.gradle需要apply from:'common.grade
。但是这第二个应用程序不起作用,因为
server.gradle
在相对于common.gradle
的位置中寻找build.gradle
...如何获得所有相对路径正确的?
最佳答案
路径总是相对于项目目录解析,而不是相对于调用apply
的脚本插件。在这种情况下,您将必须执行以下操作
apply from: "$projectDir/../../common/common.gradle"
但是,这可能会导致多项目构建的问题(在这种情况下,您应该使用
rootDir
或其他项目,这些项目的相对路径可能会略有不同。在这种情况下,您可能需要设置一个项目属性来指示“公共(public)”文件夹的位置。build.gradle
ext {
commonDir = file("$projectDir/../../common")
}
server.gradle
apply from: "$commonDir/common.gradle"