gradle task wrapper
2017-09-04 本文已影响106人
act262
wrapper
使用wrapper可以很方便的在当前项目直接使用gradlew命令执行,而不用去部署gradle环境。
使用gradle wrapper命令后将在当前项目下生成 gradle wrapper相关的文件。
wrapper附带的文件:
├─gradle
│ └─wrapper
│ gradle-wrapper.jar
│ gradle-wrapper.properties
├─gradlew
├─gradlew.bat
基本使用
指定gradle版本
修改gradle wrapper的版本,默认是BIN文件,不含源代码的gradle,下载带源码方便学习使用,体积较大
gradle wrapper --gradle-version 4.1
对应的配置文件,gradle/wrapper/gradle-wrapper.properties
#Mon Sep 04 13:49:34 GMT+08:00 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-bin.zip
指定版本和文件类型
gradle wrapper --distribution-type ALL --gradle-version 4.1
#Mon Sep 04 13:55:17 GMT+08:00 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
指定版本、类型、下载地址
由于网络等原因,官网下载gradle 速度往往比较慢,这时我们可以配置下载地址,可以执行内网的文件或者网络较好的镜像站点。
这里使用http://mirrors.flysnow.org/的镜像文件,非常感谢提供。
gradle wrapper --distribution-type ALL --gradle-distribution-url http://mirrors.flysnow.org/gradle/gradle-4.1-all.zip --gradle-version 4.1
#Mon Sep 04 14:23:56 GMT+08:00 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=http\://mirrors.flysnow.org/gradle/gradle-4.1-all.zip
Gradle wrapper 对应的源码
可以查看源码了解到wrapper做了什么东东,包括下载gradle、执行gradle命令等
~/.gradle/wrapper/dists/gradle-4.1-all/bzyivzo6n839fup2jbap0tjew/gradle-4.1/src/wrapper/org/gradle/wrapper/GradleWrapperMain.java
更新wrapper
更新Gradle wrapper时最好是通过执行wrapper task,会自动更新一系列对应的文件,而不用手动复制粘贴。
cli help
gradle help --task wrapper
:help
Detailed task information for wrapper
Path
:wrapper
Type
Wrapper (org.gradle.api.tasks.wrapper.Wrapper)
Options
--distribution-type The type of the Gradle distribution to be used by the wrapper.
Available values are:
ALL
BIN
--gradle-distribution-url The URL to download the Gradle distribution from.
--gradle-version The version of the Gradle distribution required by the wrapper.
Description
Generates Gradle wrapper files. [incubating]
Group
Build Setup
BUILD SUCCESSFUL
Total time: 0.97 secs