如何在要用于包装器的项目中包含Gradle分发

时间:2017-11-10 08:21:09

标签: gradle gradlew

我想在项目文件夹中包含特定版本的Gradle,这样当我使用Gradle包装器时,它不会从远程存储库下载它。

我下载了我需要的Gradle版本(gradle-4.0-bin.zip),我将该zip放在项目的gradle/wrapper/文件夹中(使用gradle wrapper命令创建)。 然后我以这种方式编辑了gradle-wrapper.properties文件:

distributionUrl=file:///Users/pathj/to/the/project/gradle/wrapper/gradle-4.0-bin.zip

但是当我运行第一个命令时,例如gradle task,它会返回:

  
      
  • 出了什么问题:配置根项目' 03-gradle-wrapper-local'时出现问题。      
        

    java.io.FileNotFoundException:/Users/myself/.gradle/wrapper/dists/gradle-4.0-bin/3p92xsbhik5vmig8i90n16yxc/gradle-4.0/lib/plugins/gradle-diagnostics-4.0.jar     (没有这样的文件或目录)

      
  •   

如何告诉Gradle从当前项目文件夹获取zip文件,使用相对路径而不是下载它,并使用该zip文件创建要在我的构建中使用的包装器?

1 个答案:

答案 0 :(得分:1)

除了存储gradle包装器本地有意义之外,它是可能的。我假设使用gradle-4.0-rc-3-bin发行版。

这是项目结构:

.
├── gradle
│   └── wrapper
│       ├── gradle-4.0-rc-3-bin.zip
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradlew
└── gradlew.bat

这里是gradle-wrapper.properties的内容:

distributionBase=PROJECT
distributionPath=gradle
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=gradle-4.0-rc-3-bin.zip

由于包装文件将下载到项目目录,建议将gradle/gradle-4.0-rc-3-bin添加到SCM忽略文件。

可以找到演示here