定义 Gradle 包装器的路径

Define path to Gradle Wrapper

为了不弄乱我项目的顶级目录,我希望 gradle 包装器 JAR 位于子目录中,例如infra。我想要这样的东西:

root
 L .infra
    L gradle
       L wrapper
          L gradle-wrapper.jar
          L gradle-wrapper.properties

我希望 archiveBasedistributionBase 能让我到达那里,但即使强行使用这些设置,我仍然会在顶层得到 gradle

configure(rootProject) {

    task wrapper(type: Wrapper) {
        description = 'Generates gradlew and gradlew.bat scripts'
        gradleVersion = '3.2'
        archiveBase = Wrapper.PathBase.PROJECT
        archivePath = ".infra/"
        distributionBase = Wrapper.PathBase.PROJECT
        distributionPath = ".infra/"
    }

}

我做错了什么?

这些路径将在 gradle/wrapper/gradle-wrapper.properties 中设置。

distributionBase=PROJECT
distributionPath=infra/ <---- 
zipStoreBase=PROJECT
zipStorePath=infra/ <----

您可以使用以下属性设置 wrapper scriptjar 的路径。

jarFile = "${project.projectDir}/.infra/gradle-wrapper.jar" // archive
scriptFile = "${project.projectDir}/.infra/gradlew" // wrapper script