gradle系列——Task任务简单使用

今日名言
迷茫就是才华配不上梦想

工程和任务

在 Gradle 的世界中最重要的两个概念就是:工程( Project )和任务( Task )。

每一个 Gradle 的项目都会包含一个或多个工程,而每一个工程的职责又取决于我们对这个工程的定义,比如:一个工程可能是公共的 JAR 库,或者是一个 WEB 的应用程序,也可能是一个用于发布部署的 ZIP 包,而这个 ZIP 包又是通过其它工程编译打包的 JAR 文件组装成的。

每一个工程又由一个或多个任务组成,一个任务代表了一个工作的最小单元,它可以是一次类的编译、打一个 JAR 包、生成一份 Javadoc 或者是向仓库中提交一次版本发布。

任务的简单使用

当我们使用 Gradle 的命令时,比如gradle build,Gradle 命令会去寻找当前目录下的 build.gradle 的文件,这个文件是 Gradle 的脚本文件,它里面定义了工程和工程拥有的所有任务等信息。

下面是一个简单的任务

task hello {
    doLast {
        println("hello world!")
    }
}

在以上代码中,我们定义了一个 hello 的任务,然后为它添加了一个动作( action ),当执行gradle hello命令时,该命令会调用 hello 任务,然后执行它的动作,打印输出了“ Hello world!”,这个动作是一个 groovy 的闭包函数。

任务的依赖关系

我们可以定义一个任务依赖于某个其它的任务,比如一个发布( release )任务必须依赖编译( build )任务,代码如下:

task build {
    doLast {
        println "i'm build task"
    }
}

task release(dependsOn: build) {
    doLast {
        println "I'm release task"
    }
}

输出结果是先执行build里的打印,然后再执行release里的打印

对现有任务添加依赖关系

task build {
    doLast {
        println "i'm build task"
    }
}

task release() {
    doLast {
        println "I'm release task"
    }
}

// 添任务依赖关系
release.dependsOn build

对现有的任务添加动作行为

task hello {
    doLast {
        println 'Hello World!'
    }
}

// 法方一,在doFirst动作中添加
hello.doFirst {
    println 'Hello doFirst'
}

// 法方二 在doLast动作中添加
hello.doLast {
    println 'Hello doLast1'
}

// 法方三 在doLast动作中添加
hello {
    doLast {
        println 'Hello doLast2'
    }
}

执行结果为

Hello doFirst

Hello World!

Hello doLast1

Hello doLast2

访问现有任务的属性值

task hello {
    doLast {
        println "Hello world! from the $hello.name task."
    }
}

在任务中调用 groovy 方法

task hello {
    doLast {
        int a = 1,b = 2;
        int result = add(a,b);
        println "a add b is = " + result;
    }
}

int add(int a,int b) {
    a + b;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ddssingsong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值