《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}"
}
}
结果

《Gradle权威指南》--Gradle构建脚本基础的更多相关文章
- Gradle构建脚本基础
Gradle构建脚本,内部是基于 Groovy 的 DSL(领域特点语言),而Maven是基于XML的,Groovy相比XML更加简洁.灵活和强大. Groovy 因为给 Java 开发人员提供了最大 ...
- 【Gradle】Gradle构建脚本基础
Gradle构建脚本基础 Settings文件 在Gradle中,定义了一个设置文件,用于初始化以及工程树的配置.设置文件的默认名为settings.gradle,放在根工程目录下. 设置文件大多数的 ...
- 【转载】Gradle学习 第六章:构建脚本基础
转载地址:http://ask.android-studio.org/?/article/11 6.1. Projects and tasks 项目和任务Everything in Gradle si ...
- 读书笔记--Android Gradle权威指南(下)
前言 最近看了一本书<Android Gradle 权威指南>,收获挺多,就想着来记录一些读书笔记,方便后续查阅. 本篇内容是基于上一篇:读书笔记--Android Gradle权威指南( ...
- 读书笔记--Android Gradle权威指南(上)
本篇文章已授权微信公众号 dasu_Android(大苏)独家发布 最近看了一本书<Android Gradle 权威指南>,对于 Gradle 理解又更深了,但不想过段时间就又忘光了,所 ...
- Gradle系列之构建脚本基础
原文发于微信公众号 jzman-blog,欢迎关注交流. 前面两篇文章分别介绍了 Gradle 基础知识以及 Groovy 相关基础知识,这也是学习 Gradle 所必需了解的,文章链接如下:: Gr ...
- 《gradle权威指南》--Gradle入门
No1: Window下搭建Gradle:添加GRADLE_HOME环境变量,然后把GRADLE_HOME\bin添加到PATH系统变量里保存即可.完成后打开CMD,运行gradle -v来验证 No ...
- 《Gradle权威指南》--Android Gradle多渠道构建
No1: Build Variant = Build Type + Product Flavor Build Variant:构建的产物 Build Type:构建的类型 Product Flavor ...
- 《Gradle权威指南》--Android Gradle多项目构建
No1: Android多项目设置 目录结构: MyProject/ setting.gradle app/ build.gradle libraries/ lib1/ build.gradle li ...
随机推荐
- 第16月第10天 poco target
1. void TCPServer::start() { poco_assert (_stopped); _stopped = false; _thread.start(*this); } void ...
- 使用Sphinx生成本地的Python帮助文档
第一步:安装Sphinx 首先我们需要安装Sphinx,如果已经安装了Anaconda,那么只需要使用如下命令即可安装,关于其中的参数 -c anaconda,可以在链接[1]中查看: conda i ...
- POJ 2503 Babelfish (STL)
题目链接 Description You have just moved from Waterloo to a big city. The people here speak an incompreh ...
- MySQL(二)MySQL的启动或链接失败
有时候用命令mysql -u root -p 或者服务器启动mysql数据库的时候,会出现抛出异常并失败. 以下是遇过的异常. 1.1)抛出的异常:出现ERROR 2002 (HY000): Can' ...
- 改变checkbox的默认样式
针对于CheckBox默认样式的改变,和选中状态的改变 <label class="checkBox"><input type="checkbox&qu ...
- android camera(一):camera模组CMM介绍【转】
转自:https://blog.csdn.net/kevinx_xu/article/details/8821818 androidcmm图像处理工作手机三星 关键词:android camera ...
- C++:vector中的v.at(0)和v[0]的区别
设v是一个vector的对象, 如果v是非空的,则v.at(0)和v[0]是没有区别的,都是取数组中第一个值: 如果v是空的,则v.at(0)会抛出异常(exception std::out_of_r ...
- linux系统下安装tomcat及配置
一.下载TOMCAT压缩包 apache-tomcat-6.0.44-client.zip 或 apache-tomcat-7.0.69.tar.gz 点击进入官网:http://tomcat.apa ...
- ORACLE 利用SCN恢复误delete的表
--kg是误删除的表 SQL> select count(*) from kg; COUNT(*) ---------- 820861 SQL> delete from kg; ...
- 003_Linux的Cgroup<实例详解>
为什么要有cgroup Linux系统中经常有个需求就是希望能限制某个或者某些进程的分配资源.也就是能完成一组容器的概念,在这个容器中,有分配好的特定比例的cpu时间,IO时间,可用内存大小等.于是就 ...