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, 这样会报错

posted on 2017-12-14 20:17  devilwind  阅读(801)  评论(0编辑  收藏  举报