Gradle用户指南(2)-基本命令

 

1.定义任务


 

使用task 关键字来定义gradle 任务

例:创建一个 build.gradle 命名的文件:

build.gradle

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

命令行切换到包含 build.gradle 文件的目录,执行 gradle -q hello

输出为:

> gradle -q hello
    Hello world!

PS:命令行加中 -q 的作用

q 是 quiet 的简写,意思是要安静、干净的输出。如果不加 -q 则会输出日志。详见日志,下面是对比

 

还可以使用更简便的定义方式:

build.gradle

    task hello << {
        println 'Hello world!'
    }

结果与doLast一致。

 

2.转换输出为大写


 

 

build.gradle

    task upper << {
        String someString = 'mY_nAmE'
        println "Original: " + someString
        println "Upper case: " + someString.toUpperCase()
    }

 

执行 gradle -q upper 输出

> gradle -q upper
    Original: mY_nAmE
    Upper case: MY_NAME

 

3.循环执行任务


 

 

build.gradle

    task count << {
        4.times { print "$it " }
    }

 

 > gradle -q count
    0 1 2 3

 

4.依赖(可以声明task与其它task的依赖)


 

build.gradle

    task hello << {
        println 'Hello world!'
    }
    task intro(dependsOn: hello) << {
        println "I'm Gradle"
    }

执行 gradle -q intro 输出

 > gradle -q intro
    Hello world!
    I'm Gradle

 

5.创建动态task任务


 

 

build.gradle

    4.times { counter ->
        task "task$counter" << {
            println "I'm task number $counter"
        }
    }

执行 gradle -q task1 输出

> gradle -q task1
    I'm task number 1

 

6.快捷符号


 

 

复制代码
build.gradle

    task hello << {
        println 'Hello Earth'
    }
    hello.doFirst {
        println 'Hello Venus'
    }
    hello.doLast {
        println 'Hello Mars'
    }
    hello << {
        println 'Hello Jupiter'
    }
复制代码

执行 gradle -q hello 输出

> gradle -q hello
    Hello Venus
    Hello Earth
    Hello Mars
    Hello Jupiter

 

7.定义默认执行任务


 

复制代码
build.gradle

    defaultTasks 'clean', 'run'

    task clean << {
        println 'Default Cleaning!'
    }

    task run << {
        println 'Default Running!'
    }

    task other << {
        println "I'm not a default task!"
    }
复制代码

执行 gradle -q 输出

> gradle -q
    Default Cleaning!
    Default Running!

 



如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
posted @   夜行过客  阅读(272)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示