gpt4 book ai didi

gradle - Gradle使用空的构建文件进行评估

转载 作者:行者123 更新时间:2023-12-03 03:32:20 25 4
gpt4 key购买 nike

尝试运行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'  

sub-project.gradle没有分配给子项目。

有什么问题?如何将实际的构建文件分配给项目?

最佳答案

您的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"

然后将构建文件分配给项目是一种更好的方法

关于gradle - Gradle使用空的构建文件进行评估,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33477102/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com