zoukankan      html  css  js  c++  java
  • gradle使用心得

    gradle是语言式构建,和maven配置型还是差别挺大,琢磨了2天

    1.在解析setting.gradle之后,开始解析build.gradle之前,这里如果要干些事情(更改build.gradle校本内容),可以写在beforeEvaluate

    2.在所有build.gradle解析完成后,开始执行task之前,此时所有的脚本已经解析完成,task,plugins等所有信息可以获取,task的依赖关系也已经生成,如果此时需要做一些事情,可以写在afterEvaluate

    参考文档: https://segmentfault.com/q/1010000004503896/a-1020000004504034

    3.自定义的task如  

    task task1(type:Copy){

    //code

    }

    象这样定义的task, 不管执行gradle哪个默认task如build,clean等都会执行 task1

    4.task的执行顺序,比如定义了task1, 我们希望执行完系统build task后执行自定义task1可以这样写

    project.build.doLast{

    tasks.each{

    task->

    if(task.name.equals("task1")){

    task.execute()

    }

    }

    }

    5.如果想buid打包的时候去除一些文件,可以加上如下代码

    processResources{

    exclude {"**/*.properties"}   //去除properties

    }

    6.task不可以重名,会报错, 如果通过apply 加载其他gradle文件,task重名也会报错

    apply from:"../test.gradle"

    tasks.each{

    task->

    if(task.name.equals("task1")){

    task.execute()

    }}

    apply from:"../test2.gradle"

    tasks.each{

    task->

    if(task.name.equals("task1")){

    task.execute()

    }}

    如果test1.gradle, test2.gradle里面都有个叫task1的task, 这样会报错

  • 相关阅读:
    林大妈的JavaScript基础知识(二):编写JavaScript代码前的一些简单工作
    林大妈的JavaScript基础知识(一):JavaScript简史
    制作X509证书
    浏览器对象模型
    JS事件
    CSS操作
    Element节点
    Document节点
    Dom中的一些接口
    DOM节点的属性和方法
  • 原文地址:https://www.cnblogs.com/devilwind/p/8039715.html
Copyright © 2011-2022 走看看