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

    结果

  • 相关阅读:
    采坑总结01
    Django设置联合唯一约束 -- migrate时报错处理
    Web前端开发资源整理
    kindEditor 使用
    Django模版语言自定义标签-实现前端 关联组合过滤查询
    django views视图函数返回值 return redirect httpresponse总结
    前端图片实现以瀑布流样式显示
    性能优化中CPU、内存、磁盘IO、网络性能的依赖(转)
    几种浏览器内核(百度百科)
    特殊格式文件(视频、声音等) 在数据库中的存储方式
  • 原文地址:https://www.cnblogs.com/anni-qianqian/p/8583602.html
Copyright © 2011-2022 走看看