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}"
        }
    }

    结果

  • 相关阅读:
    test
    dd 命令 sd卡系统迁移
    关于庖丁分词
    Linux source命令
    Linux系统查看系统是32位还是64位方法总结 in 创新实训
    总结这两天连续干掉的bug In 创新实训 智能自然语言交流系
    穷举法应用——搬砖块
    判断素数类问题汇总
    统计计算学生成绩类问题汇总
    C语言简明数据类型指南
  • 原文地址:https://www.cnblogs.com/anni-qianqian/p/8583602.html
Copyright © 2011-2022 走看看