我看到很多Gradle构建的Java / Groovy项目的例子,它们具有以下结构:
some-app/
src/
main/
test/
docs/
README.md
build.gradle
gradlew
gradlew.bat
settings.gradle
gradle.properties
gradle/
*.gradle
我了解 build.gradle 是主要的构建脚本,而 gradle.properties 是其属性文件。但 settings.gradle 真的让我失望。在里面我看到了:
rootProject.name = "someApp"
但这似乎属于gradle.properties
。我还想知道gradlew
和gradlew.bat
文件来自何处,它们似乎已生成。
最后,我想知道为什么gradle/
目录下有这么多 *。gradle 文件:是这些插件还是某种扩展脚本。它们都是从主build.gradle
中拉出来的,如下所示:
apply "gradle/fizz.gradle"
apply "gradle/buzz.gradle"
etc.
所以:
settings.gradle
中 应该在gradle.properties
进入哪些属性?gradlew
/ gradlew.bat
个文件?*.gradle
文件?为什么不只是一个大的build.gradle
buildscript?答案 0 :(得分:1)
1)gradle.properties
是普通属性文件,而settings.gradle
也是构建脚本。您可以添加一些将在构建期间执行的代码。通常,当您拥有多模块项目时,需要此文件。
2)当您在项目构建目录中键入gradle tasks
时(空build.gradle足以看到它)您将看到wrapper
任务。此任务用于生成您要询问的脚本。更多info。
3)原因是所有这些文件都有不同的职责,干净利落地分开。