什么是Gradle的$ rootDir / gradle目录?

时间:2017-07-27 11:24:05

标签: gradle build

什么是({。1}}目录(不是.gradle)?在构建期间默认情况下是否读取此目录中的任何内容?关于应该放在这个目录中的内容是否有约定?

2 个答案:

答案 0 :(得分:3)

嗯,gradle目录用于存储Gradle包装器的分布式版本,它还具有成为某种约定,以放置子项目中使用的大多数常用脚本,然后可以扩展,在一个例子中:

repositories.gradle

repositories {
    mavenLocal()
    maven {
        url "http://nexus"
    }
}

因此,每个子项目都不需要在其脚本中使用此项,您只需

apply from: "$rootDir/gradle/repositories.gradle"

或者让我们说你有一些特定于Java的东西,你不想用主要的脚本等等。

它使事物保持清洁和可读性,而不是将所有内容都放在一个脚本中并永远滚动它。

它还可以保存配置属性,JUnit配置,log4j配置等,基本上是你想要的一切,在一个例子中:

environment.groovy

oracle {
  home = "C:/"   
  tablespace = "TABLE"
  dbaUser = "user"
  dbaPassword = "psswrd"
}

文件夹本身不是特殊的' Gradle在开始评估脚本之前读取的特殊文件夹是buildSrc,这是创建一些自定义任务,插件等的地方。

答案 1 :(得分:0)

到目前为止,我只看到了这个目录的两个用途:

1)Gradle包装器使用它来存储包装器JAR文件以及一些属性。

2)在“Gradle In Action”中,作者使用此目录在$rootDir/gradle中为手写版本控制插件存储属性,然后像这样使用它:

versioning.gradle

这似乎是一个保持构建插件属性的好地方,这些属性与特定项目并不严格相关,应该检入存储库。