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

结果

《Gradle权威指南》--Gradle构建脚本基础的更多相关文章

  1. Gradle构建脚本基础

    Gradle构建脚本,内部是基于 Groovy 的 DSL(领域特点语言),而Maven是基于XML的,Groovy相比XML更加简洁.灵活和强大. Groovy 因为给 Java 开发人员提供了最大 ...

  2. 【Gradle】Gradle构建脚本基础

    Gradle构建脚本基础 Settings文件 在Gradle中,定义了一个设置文件,用于初始化以及工程树的配置.设置文件的默认名为settings.gradle,放在根工程目录下. 设置文件大多数的 ...

  3. 【转载】Gradle学习 第六章:构建脚本基础

    转载地址:http://ask.android-studio.org/?/article/11 6.1. Projects and tasks 项目和任务Everything in Gradle si ...

  4. 读书笔记--Android Gradle权威指南(下)

    前言 最近看了一本书<Android Gradle 权威指南>,收获挺多,就想着来记录一些读书笔记,方便后续查阅. 本篇内容是基于上一篇:读书笔记--Android Gradle权威指南( ...

  5. 读书笔记--Android Gradle权威指南(上)

    本篇文章已授权微信公众号 dasu_Android(大苏)独家发布 最近看了一本书<Android Gradle 权威指南>,对于 Gradle 理解又更深了,但不想过段时间就又忘光了,所 ...

  6. Gradle系列之构建脚本基础

    原文发于微信公众号 jzman-blog,欢迎关注交流. 前面两篇文章分别介绍了 Gradle 基础知识以及 Groovy 相关基础知识,这也是学习 Gradle 所必需了解的,文章链接如下:: Gr ...

  7. 《gradle权威指南》--Gradle入门

    No1: Window下搭建Gradle:添加GRADLE_HOME环境变量,然后把GRADLE_HOME\bin添加到PATH系统变量里保存即可.完成后打开CMD,运行gradle -v来验证 No ...

  8. 《Gradle权威指南》--Android Gradle多渠道构建

    No1: Build Variant = Build Type + Product Flavor Build Variant:构建的产物 Build Type:构建的类型 Product Flavor ...

  9. 《Gradle权威指南》--Android Gradle多项目构建

    No1: Android多项目设置 目录结构: MyProject/ setting.gradle app/ build.gradle libraries/ lib1/ build.gradle li ...

随机推荐

  1. strstr函数字符串匹配问题

    题目链接:http://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Index/problemdetail/pid/2772.html AC代码: #inc ...

  2. mysql案例 ~ 主从复制延迟处理(3)

    一 简介:今天咱们来汇总下如何避免主从延迟 二 方案: 1 集群硬件配置统一,磁盘组更好(SSD最佳),更大的内存 2 linux系统+mysql的配置参数已经优化 3 mysql从库没有任何慢语句进 ...

  3. SpringBoot常用Starter介绍和整合模板引擎Freemaker、thymeleaf 4节课

    1.SpringBoot Starter讲解 简介:介绍什么是SpringBoot Starter和主要作用 1.官网地址:https://docs.spring.io/spring-boot/doc ...

  4. SpringMVC与Struts不同(五)

    springmvc与struts2不同 1.springmvc的入口是一个servlet即前端控制器,而struts2入口是一个filter过滤器. 2.springmvc是基于方法开发(一个url对 ...

  5. box-cox 转换

    box-cox 由于线性回归是基于正态分布的前提假设,所以对其进行统计分析时,需经过数据的转换,使得数据符合正态分布. Box 和 Cox在1964年提出的Box-Cox变换可使线性回归模型满足线性性 ...

  6. ReLu、LeakyRelu、PReLu(转载)

    转载链接:http://blog.csdn.net/cham_3/article/details/56049205

  7. Linux文件系统1---概述

      1.引言 本文所述关于文件管理的系列文章主要是对陈莉君老师所讲述的文件系统管理知识讲座的整理.Linux可以支持不同的文件系统,它源于unix文件系统,也是unix文件系统的一大特色. 本文主要先 ...

  8. java并发编程系列四、AQS-AbstractQueuedSynchronizer

    什么是AbstractQueuedSynchronizer?为什么我们要分析它?  AQS:抽象队列同步器,原理是:当多个线程去获取锁的时候,如果获取锁失败了,当前线程就会被打包成一个node节点放入 ...

  9. lvs基本概念、调度方法、ipvsadm命令及nat模型示例

    LVS类型: NAT:-->(DNAT) DR TUN FULLNAT LVS的常见名词解释 CIP<-->VIP--DIP<-->RIP Direct Routing: ...

  10. 在window是下安装hadoop过程

    详细见http://www.cnblogs.com/kinglau/archive/2013/08/20/3270160.html