尝试运行grdle tasks
命令
Evaluating project ':Project1' using empty build file.
Evaluating project ':Project2' using empty build file.
我有多项目构建
Main
|--Root
|----Project1
|----Project2
|--build
|----settings.gradle
|----build.gradle
|----sub-project.gradle
以下是我的settings.gradle
File modulesDir = new File("${rootProject.projectDir}/../Root").canonicalFile
modulesDir.eachFile {
include it.name
}
rootProject.children.each {
it.projectDir = new File(modulesDir, it.name)
it.buildFileName = './sub-project.gradle'
}
此行无效
it.buildFileName = './sub-project.gradle'
子项目.gradle未被分配到子项目。
问题是什么?如何将实际构建文件分配给项目?
答案 0 :(得分:0)
您的settings.gradle
应该包含:
的项目。例如,您可以将项目包括为
def modulesRoot = new File("$rootProject.projectDir.parentFile/Root")
File[] moduleDirs = modulesRoot.listFiles(new FileFilter() {
@Override
boolean accept(File path) {
return path.isDirectory()
}
})
moduleDirs.each {
include ":$it.name"
project(":$it.name").projectDir = new File(modulesRoot, it.name)
project(":$it.name").buildFileName = new File(settingsDir, 'sub-project.gradle')
}
另一种更常见的模式是在项目中包含build.gradle
,需要由sub-project.gradle
为此,请创建文件Root/Project1/build.gradle
并在该文件中添加行apply from: "$project.rootProject.absolutePath/sub-project.gradle"
这是一种更好的方法,然后将构建文件分配给项目