本文的示例是在Windows环境下基于Groovy的Gradle构建。
Gradle项目初始化成功后会生成一系列文件,内容如下所示(下面展示的是基于Groovy脚本的项目,基于Kotlin的项目,部分文件的文件名后缀为kts)
├── 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也被称为任务库。
在项目的根目录创建一个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插件市场中检索需要的插件。
下面将会通过使用base插件来进行演示
在build.gradle新增插件配置(需要注意插件配置内容要在文件最顶部)plugins { id "base" } 添加一个将src目录中的文件打包成一个zip包的任务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目录下看到对应的压缩包了