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

    结果

  • 相关阅读:
    ASP.NET MVC路由规则
    VS2013 修改TFS的本地映射路径
    新安装的VS的一些设置
    ASP.NET MVC验证标注的扩展-checkbox必选
    进入做Mvc项目的时候 返现某个文件夹下面css js png等静态文件都访问不了
    Mac入门 (二) 使用VMware Fusion虚拟机
    Mac入门(一)基本用法
    软件测试面试 (二) 如何测试网页的登录页面
    软件测试面试 (一) 如何测试一个杯子
    Python自动化测试 (二) ConfigParser模块读写配置文件
  • 原文地址:https://www.cnblogs.com/anni-qianqian/p/8583602.html
Copyright © 2011-2022 走看看