zoukankan      html  css  js  c++  java
  • 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'
            }
        }
    
    
  • 相关阅读:
    HTML5进阶段内联标签汇总(小篇)
    Html5元素及基本语法
    HTML5中判断横屏竖屏
    用H5+Boostrap做简单的音乐播放器
    html5学习笔记(3)--主题结构元素-1
    css3制作旋转立方体相册
    css3的媒体查询(Media Queries)
    认识和理解css布局中的BFC
    getattr、setattr、hasattr
    Python-有名匿名函数、列表推导式
  • 原文地址:https://www.cnblogs.com/rainymemory/p/10126782.html
Copyright © 2011-2022 走看看