1.9_创建自定义任务类型

请注意,我们看到的用于为构建脚本添加自定义功能的唯一选项是通过临时任务;我们还可以看到类型化任务如何通过重复使用常用功能变的简单,我们现在将了解如何编写自己的任务类型.

在gradle中创建自定义任务类型非常简单,让我们从定义任务类开始,此外由于gradle脚本只是groovy,因此我们可以在构建脚本中定义一个类,通常来说,我们会始终扩展提供任务界面基本知识的默任务类,如我们已经通过MyTask 类扩展了 DefaultTask.

    class MyTask extends DefaultTask {}

它只需要定义一个自定义任务类型,当然由于我们没有为任务提供任何附加功能,因此其功能与在构建脚本中定义临时任务相同,我们需要通过某种方式告诉gradle我们希望任务在执行时所做的工作,幸运的是gradle让这件事也变得十分简单,要向任务类型添加操作,只需定义一个已添加任务注释的方法,让我们从只是简单地将字符串打印到控制台的操作开始.

class HelloTask extends DefaultTask {

    @TaskAction

    void doAction() {

        println 'Hello World'

    }

}

如下,现在我们已经定义一任务类型并为其提供了一个操作,现在我们可以在构建脚本中创建此任务类型的实例,就像我们处理任何其它任务类型一样

task hello(type: HelloTask)

当然,我们也可以为我们自定义的任务类型添加一些自己的属性,

class HelloNameTask extends DefaultTask {

    String firstName

    @TaskAction

    void doAction() {

        println "Hello, $firstName"

    }

}

上面我们已经定义好了任务类型,下面我们在构建脚本中创建其实例 

task helloName(type: HelloNameTask) {

    firstName = 'Jeremy'

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,665评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 179,243评论 25 708
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,282评论 6 342
  • 这一章主要针对项目中可以用到的一些实用功能来介绍Android Gradle,比如如何隐藏我们的证书文件,降低风险...
    acc8226阅读 7,971评论 3 25
  • 昨天玩王者,不觉间就凌晨了,手机提示声一响,哦,是朋友的生日祝福啊。 大家都记得今天是端午节,能记得端午后还有个我...
    我是小表姐阅读 300评论 0 0

友情链接更多精彩内容