《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 ...
随机推荐
- [C++]数组与指针(纯代码-复习用)
#include<iostream> #include<cmath> //C++ //#include<math.h> //C #include<ctime& ...
- extern的作用
#include <stdio.h>extern int a;static int a;extern int b;int b;static int c;extern int c;
- 论文笔记系列-Simple And Efficient Architecture Search For Neural Networks
摘要 本文提出了一种新方法,可以基于简单的爬山过程自动搜索性能良好的CNN架构,该算法运算符应用网络态射,然后通过余弦退火进行短期优化运行. 令人惊讶的是,这种简单的方法产生了有竞争力的结果,尽管只需 ...
- 在Spring(4.3.22)中集成Hibernate(5.4.0)
(1)pom中添加相关依赖 <dependency> <groupId>org.hibernate</groupId> <artifactId>hibe ...
- Linux下的换行符\n\r以及txt和word文档的使用
Linux doc WINDOWS下记事本编写的文档和LINUX下VIM或者GEDIT等编写的文档的不同! 例如WINDOWS下编写的SH脚本,放到LINUX下执行可能会出错. 解决方法: 原因是:W ...
- 【逆向工具】IDA使用1-VS2015版本debug查找Main函数,加载符号文件
IDA 常见操作 空格,切换反汇编视图 选择CALL或是跳转 进入函数内部或是跳转处 返回键 ESC daq.exe 分析32位程序 ,生成的IDA数据库文件是 .idb Idap64.exe 分析6 ...
- 【转】SSH服务详解
[转]SSH服务详解 第1章 SSH服务 1.1 SSH服务协议说明 SSH 是 Secure Shell Protocol 的简写,由 IETF 网络工作小组(Network Working Gro ...
- 【转】Python之函数与变量
[转]Python之函数与变量 本节内容 函数介绍及其作用 函数的定义与调用 函数的参数说明 变量与作用域 值传递和引用传递 一.函数的介绍及其作用 编程语言中的函数与数学中的函数是有区别的:数学中的 ...
- nRFgo Studio 和 Nrfjprog 无法找到JLinkARM.dll的解决方法
Segger在第一次安装的时候,会在注册表中添加安装路径的字段,nRF的两个软件就根据这两个注册表字段来寻找JLinkARM.dll.而当你卸载/更新Segger的时候,注册表的相关的字段是不会被修改 ...
- dubbo系列六、SPI扩展Filter隐式传参
一.实现Filter接口 1.消费者过滤器:ConsumerTraceFilter.java package com.dubbo.demo.Filter; import com.alibaba.dub ...