根据文档:
If you use -b option then settings.gradle file is not used.
但我创建了这个简单的项目:
.
├── anotherBuild.gradle
├── build.gradle
└── settings.gradle
与
build.gradle
包含:task taskA{
doLast{
println "taskA from build.gradle"
}
}
anotherBuild.gradle
包含:task taskA{
doLast{
println "taskA from anotherBuild.gradle"
}
}
和
settings.gradle
包含:println "From settings.gradle, executed during initialization phase"
当我运行时:
gradle -q -b anotherBuild.gradle taskA
无论如何,我可以看到 gradle 打印“来自 settings.gradle,在初始化阶段执行”。为什么?
不应该
settings.gradle
使用 -b
时被忽略?
最佳答案
settings.gradle
可能是一个错误。使用 -b
已指定,但 -b
无论如何,仅用于快速测试和实验。
在我看来,您应该始终拥有 settings.gradle
e. G。明确指定根项目名称,而不是从根项目目录名称派生它。
如果您确实需要彼此相邻的不同构建脚本,您可以做的是也有不同的设置脚本指向不同的构建脚本,然后使用 -c
选择正确的设置脚本而不是使用 -b
.
关于gradle - 当 -b 被指定时,settings.gradle 仍然被使用,即使它不应该被使用。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46580105/