zoukankan      html  css  js  c++  java
  • 《Gradle权威指南》--Gradle构建脚本基础

    No1:

    设置文件默认名是setting.gradle,放在根目录下,大多数作用都是为了配置子工程

    No2:

    一个Project包含很多个Task。Task就是一个操作,一个原子性的操作。其实它是Project对象的一个函数

    No3:

    task customTask1{
        doFirst{
            println 'customTask1:doFirst'
        }
        doLast{
            println 'customTask1:doLast'
        }
    }
    
    tasks.create("customTask2"){
        doFirst{
            println 'customTask2:doFirst'
        }
        doLast{
            println 'customTask2:doLast'
        }
    }

    结果

    说明这两个任务是一样的

    No4:

    依赖:用于控制执行顺序

    task ex35Hello<<{
        println 'hello'
    }
    
    task ex35Main(dependsOn:ex35Hello){
        doLast{
            println 'main'
        }
    }

    结果

    No5:

    多重依赖

    task ex35Hello<<{
        println 'hello'
    }
    
    task ex35World<<{
        println 'world'
    }
    
    task ex35MultiTask{
        dependsOn ex35Hello,ex35World
        doLast{
            print 'multiTask'
        }
    }

    结果

    注:方法名后面的<<可以不要

    No6:

    交互

    task ex36Hello<<{
        println 'dowLast1'
    }
    
    ex36Hello.doFirst{
        println 'dowFirst'
    }
    
    ex36Hello.doLast{
        println project.hasProperty('ex36Hello')
        println 'dowLast2'
    }

    结果

    Project在创建该任务的时候,同时把该任务对应的任务名注册为Project的一个属性,类型是Task

    project.hasProperty('ex36Hello')用来判断是否有这个属性

    No7:

    自定义属性:ext

    //自定义一个Project的属性
    ext.age = 18
    
    //通过代码块同时自定义多个属性
    ext{
        phone = 13342342
        address = ''
    }
    
    task ex37CustomProperty<<{
        println "年龄是:${age}"
        println "电话是:${phone}"
        println "地址是:${address}"
    }

    结果

    No8:

    SourceSet

    apply plugin :"java"
    ext.age = 18
    ext{
        phone=13123
        address=''
    }
    
    sourceSets.all{
        ext.resourcesDir=null
    }
    
    sourceSets{
        main{
            resourcesDir='main/res'
        }
        test{
            resourcesDir='test/res'
        }
    }
    
    task ex38CustomProperty<<{
        println "年龄是:${age}"
        println "电话是:${phone}"
        println "地址是:${address}"
        
        sourceSets.each{
            println "${it.name}的resourceDir是:${it.resourcesDir}"
        }
    }

    结果

  • 相关阅读:
    不要在linux上启用net.ipv4.tcp_tw_recycle参数
    Linux如何用查看域名解析
    APP请求超时问题-ios超时-android超时
    写给正在入坑linux系统的伙伴
    产品经理必看书单
    Mysql遍历大表(Mysql大量数据读取内存溢出的解决方法)
    产品上线标准
    测试时间的评估【搬运】
    如何估算测试工作量(一)常规的估算测试工作量的方法
    测试工作量的评估方法
  • 原文地址:https://www.cnblogs.com/anni-qianqian/p/8583602.html
Copyright © 2011-2022 走看看