美文网首页
gradle task

gradle task

作者: 帅不过如此 | 来源:发表于2018-05-29 20:04 被阅读27次

    1.task

    1.新建文本build.gradle

    2.cd到build.gradle的根目录 

    第一个构建脚本

    task hello {

        doLast {

            println ‘Hello world!’

        }

    }

    在命令行里, 进入脚本所在的文件夹然后输入 gradle -q hello 来执行构建脚本

    第二个构建脚本,快捷闭包任务

    task hello << {

        println ‘Hello world!’

    }

    执行效果跟第一个一致。

    构建脚本代码

    task hello<<{

         String str ="shuzhan"

        String tar = str +" is a good gug".toUpperCase();

        println tar

    }

    2.task dependsOn

     第一个依赖脚本

    task hello<<{

    println"hello !!"

    }

    task world(dependsOn:hello)<<{

    println"world !!"

    }

    第二个依赖脚本

    task taskX(dependsOn:"taskY") << {

    println"taskX"

    }

    task taskY << {

    println"taskY"

    }

    taskX 到 taskY 的依赖在 taskY 被定义之前就已经声明了. 

    说明依赖不需要在被调用者前面声明,另外要注意“taskY”要加上双引号.

    3.动态 task

    4.times { counter ->

    task"task$counter" << {

    println"I'm task number $counter"

        }

    }

    gradle -q task1 命令的输出

    为动态任务添加依赖

    4.times { counter ->

    task"task$counter" << {

    println"I'm task number $counter"

        }

    }

    task0.dependsOn task1,task2

    gradle -q task0 命令的输出

    task加入行为

    task hello << {

    println ‘Hello Earth’

    }

    hello.doFirst {

    println ‘Hello Venus’

    }

    hello.doLast {

    println ‘Hello Mars’

    }

    hello << {

    println ‘Hello Jupiter’

    }

    doFirst 和 doLast 可以被执行许多次. 他们分别可以在任务动作列表的开始和结束加入动作. 第四个操作符<<是doLast的别称

    gradle -q hello 命令的输出

    段标记法

    $ 可以访问一个存在的任务

    task hello << {

    println ‘Hello world!’

    }

    hello.doLast {

    println “Greetings from the $hello.name task." }

    自定义属性

    task myTask {

    ext.s ="myValue"

    }

    task printTask<< {

    println myTask.s

    }

    默认任务

    defaultTasks ‘clean’, ‘run’

    task clean << {

    println ‘Default Cleaning!’

    }

    task run << {

    println ‘Default Running!’

    }

    task other << {

    println “I’m not a default task!”

    }

    gradle -q 命令的输出

    动态配置

    task distribution << {

    println “We build the zip with version=$version" }

    task release(dependsOn: ‘distribution’) << {

    println ‘We release now’

    }

    gradle.taskGraph.whenReady {taskGraph ->

    if (taskGraph.hasTask(release)) {

    version = ‘1.0’

    } else {

    version = ‘1.0-SNAPSHOT’

    }

    }

    相关文章

      网友评论

          本文标题:gradle task

          本文链接:https://www.haomeiwen.com/subject/igaajftx.html