• gradle学习(一)


    projects和tasks

    任何一个Gradle构建都是由一个或者多个project组成
    每个project都有多个tasks构成
    每个task都代表了构建执行过程中的一个原子性操作.例如 编译 打包
    

    构建一个gradle应用

    通过在命令行运行gradle命令来执行构建,gradle命令会从当前目录下寻找build.gradle文件来进行构建。
    
    • 编写build.gradle
       task hello {
         doLast {
             println 'Hello world!'
         }
       }
    
    • 快速定义任务
       task hello << {
        println 'Hello World!'
       }
    
    • 采用groovy语法编写task
        task hello << {
            String str = "mY_nAmE"
            println 'orginal: '+ str
            println 'Upper case: ' + str.toUpperCase()
        }
    
    • 任务依赖 (添加依赖 task 也可以不必首先声明被依赖的 task)
        task hello << {
            println 'hello world'
        }
    
        task intro(dependsOn hello) << {
            println "I'm Gradle"
        }
    
    • 动态任务
        4.times{counter ->
            task "task$counter" <<{
                println "I'm task number $counter"
            }
        }
    
    
    • 任务操纵
        4.times { counter ->
            task "task$counter" << {
                println "I'm task number $counter"
            }
        }
        task0.dependsOn task2, task3
    
    • 增加自定义属性
        task myTask {
            ext.myProperty = "myValue"
        }
        
        task printTaskProperties << {
            println myTask.myProperty
        }
    
    • 定义默认任务
        defaultTasks 'clean', 'run'
        task clean << {
            println 'Default Cleaning!'
        }
        task run << {
            println 'Default Running!'
        }
        task other << {
            println "I'm not a default task!"
        }
    
    • 依赖任务的不同输出
        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'
            }
        }
    
    
  • 相关阅读:
    OneDay!——冲刺日志9(05-06)
    Hail_Hydra2—代码规范
    Hail_Hydra2—凡事预则立
    Alpha冲刺的问题总结
    Hail_Hydra2—冲刺日志集合
    Hail_Hydra2—总结随笔
    Hail_Hydra2—测试随笔
    Hail_Hydra2—冲刺日志(10)
    Hail_Hydra2—冲刺日志(9)
    Hail_Hydra2—冲刺日志(8)
  • 原文地址:https://www.cnblogs.com/rainymemory/p/10126782.html
Copyright © 2020-2023  润新知