Gradle自定义一个task

0、关于定义一个task的方式,可以参考gradle文档14章和17章

1、根据官方描述,总共有三种方式自定义一个task

1.1 task直接写在build.gradle文件中,这个比较简单,这里不介绍
1.2 task写在buildSrc项目中,操作步骤如下:

** 1.2.1 创建项目结构 **

在项目的根目录下面新建一个文件夹,名为buildSrc,然后依次新建子目录
src/main/groovy,然后可以建自己的包名,这里以demo.gradle.task为例,依次新建
子目录demo/gradle/task,然后在buildSrc根目录下面新建build.gradle文件,里面写入:

apply plugin: 'groovy'

dependencies {
   compile gradleApi()
   compile localGroovy()
}

最终目录结构如下:

QQ截图20160623110839.png

编译之后变成下面的样式:

QQ截图20160623111254.png

** 1.2.2 编写task**
在demo.gradle.task包中,新建一个task类,名为HelloGradleTask.groovy,
注意在sayHello方法上的那个@TaskAction注解的作用。

package demo.gradle.task

import org.gradle.api.DefaultTask
import org.gradle.api.tasks.TaskAction

class HelloGradleTask extends DefaultTask{

    @TaskAction // 加上这个action的作用是当执行这个task的时候会自动执行这个方法
    void sayHello(){
        println "Hello Gradle Custom Task"
    }

}

** 1.2.3 使用task**
在项目中的build.gradle中添加如下脚本:

task myCustomTask(type : demo.gradle.task.HelloGradleTask){
    println("########## custom task ###########")
}

重新编译项目,在项目下面就会多了一个名为myCustomTask的task,执行task,
会打印########## custom task ###########和"Hello Gradle Custom Task"
两句话。

1.3 作为一个独立项目建立task,这个官方文档有详细文档,这里不介绍了。

以上,为自定义task的所有方式。总的来说,如果只是自己项目中要使用,
第一二钟方式就满足了,然后根据task的复杂度来选择使用哪种方式。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Groovy :是一种动态语言。 1:这种语言比较有特点,它和 Java 一样,也运行于 Java 虚拟机中。简单...
    PeytonWu阅读 1,598评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,933评论 18 139
  • Gradle对于很多开发者来说有一种既熟悉又陌生的感觉,他是离我们那么近,以至于我每天做项目都需要他,但是他又是离...
    阿_希爸阅读 9,600评论 10 199
  • 这篇文章讲给大家带来gradle打包系列中的高级用法-自己动手编写gradle插件。我们平常在做安卓开发时,都会在...
    呆萌狗和求疵喵阅读 16,021评论 22 80
  • “你是愿意做鸡头还是做凤尾?”。初中毕业考试因分数不上不下,让我陷入一种两难的抉择中。以我的成绩,完全可以顺利进...
    一朵哈哈花阅读 312评论 0 1