本文的示例是在Windows
环境下基于Groovy
的Gradle
构建。app
basic-demo
在项目的命令行(例如个人当前目录就是G:\basic-demo
)里面执行gradle init
指令,遇到选项直接按回车键使用默认配置便可(这样默认建立的是基于Groovy
脚本的项目)。执行成功输出关键内容以下:ide
Get more help with your project: https://guides.gradle.org/creating-new-gradle-builds BUILD SUCCESSFUL in 1m 28s 2 actionable tasks: 2 executed
Gradle
项目初始化成功后会生成一系列文件,内容以下所示(下面展现的是基于Groovy
脚本的项目,基于Kotlin
的项目,部分文件的文件名后缀为kts
)gradle
├── build.gradle ├── gradle │ └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle
build.gradle
用于配置当前项目的Gradle构建脚本gradle-wrapper.jar
为Gradle Wrapper
可执行JARgradle-wrapper.properties
为Gradle Wrapper
的配置gradlew
为基于Unix
的系统的Gradle Wrapper
脚本gradlew.bat
为适用于Windows
的Gradle Wrapper
脚本settings.gradle
用于配置Gradle
构建时的配置信息Gradle
提供了经过Groovy
或者Kotlin
建立和配置任务的API
,这些API
也被称为任务库。ui
src
目录src
目录建立一个myfile.txt
文件,并在里面添加一行内容Hello, World!
在build.gradle
文件新增一个名字为copy
的任务,这个任务会将src
目录的文件复制到dest
目录(dest
目录不存在时,任务会自动建立),关键代码以下插件
task copy(type: Copy, group: "Custom", description: "Copies sources to the dest directory") { from "src" into "dest" }
task copy
中的copy
表示任务名称,为调用任务时的关键参数。type
为任务类型,Gradle
提供了一系列封装好的任务API
,这类选择使用的是任务库中Copy
这个API
,它能够将文件从一个位置复制到另外一个位置。group
为任务组,description
为任务简介,目前暂时不须要用上,后面会介绍。from
和into
是Copy API
的两个参数,from
表示数据源,into
表示复制的目的地调用copy
任务,在控制台输入gradlew copy
便可,执行结果以下:命令行
BUILD SUCCESSFUL in 1s 1 actionable task: 1 executed
gradlew <task>
格式便可调用对应的任务Gradle
提供了一系列实用的插件,咱们能够在Gradle插件市场中检索须要的插件。code
下面将会经过使用base
插件来进行演示ip
在build.gradle
新增插件配置(须要注意插件配置内容要在文件最顶部)get
plugins { id "base" }
添加一个将src
目录中的文件打包成一个zip
包的任务it
task zip(type: Zip, group: "Archive", description: "Archives sources in a zip file") { from "src" setArchiveName "basic-demo-1.0.zip" }
task copy
中的zip
表示任务名称,为调用任务时的关键参数。type
为任务类型,Zip
是base
插件提供的API
。group
为任务组,description
为任务简介,目前暂时不须要用上,后面会介绍。from
和setArchiveName
是Zip API
的两个参数,from
表示数据源,setArchiveName
表示打包后的压缩包名称任务执行输出内容以下:
BUILD SUCCESSFUL in 1s 1 actionable task: 1 up-to-date
而后就能够在根目录下的build\distributions
目录下看到对应的压缩包了