看懂Gradle脚本(6)- Hello Groovy, Goodbye Getters&Setters

本篇文章很简单,就是把下面这段Gradle脚本打回原形:

version = 1.0

Groovy语法糖

Java程序员对JavaBeansGetter/Setter方法肯定不陌生,所以就不过多介绍了。虽然现代的IDE都提供了快捷方式,可以很方便的给字段生成Getter和Setter方法,但我还是很讨厌他们。还好,有Groovy的语法糖在手,就可以跟Getter/Setter方法说再见了!上面的脚本,实际上是调用Project接口的setVersion方法

project.setVersion(1.0)

Project接口还定义了getVersion方法,所以我们能用下面的方式得到项目的版本信息:

println project.version // Groovy
println(project.getVersion()) // Java

设置Task属性

再看看下面的脚本:

task helloWorld {
    group = 'myTasks'
    description = 'Prints hello world.'
    doLast {
        println 'Hello World!'
    }
}

好吧,重点是在Task配置闭包中,我们可以隐式的操纵任务。groupdescription,只是Task的两个属性而已:

public void setGroup(String group)
public String getGroup()
public void stDescription(String description)
public String getDescription()

结论

Gradle的领域对象,大多提供了很多属性(也就是Getter和Setter),在build脚本中,我们可以很方便的设置和访问这些属性。

看懂Gradle脚本(6)- Hello Groovy, Goodbye Getters&Setters,布布扣,bubuko.com

时间: 2024-09-27 22:55:49

看懂Gradle脚本(6)- Hello Groovy, Goodbye Getters&Setters的相关文章

看懂Gradle脚本(3)- Groovy AST转换

延续上一篇文章 上篇文章末尾有一段脚本,定义了一个Task: task 'myTask' { doLast { println 'hello world!' } } 我们已经知道,这段脚本其实是调用Project的task方法,并且传入两个参数:一个是Task的名字,另外一个是闭包,用来配置Task(在这段脚本中,给Task添加了一个Action). Task名的引号去哪儿了? 但是Gradle官方推荐的写法,是像下面这样定义Task: task myTask { // <-- doLast {

看懂Gradle脚本(2)- Groovy语言的闭包语法

本篇文章讨论下面这一小段Gradle脚本: repositories { mavenCentral() } 闭包字面量 闭包字面量看起来像Java里的代码块:用一对儿花括号包起来.前面讨论过,方法调用的圆括号可以省略,补上圆括号之后,脚本看起来是这样: repositories({ // <-- mavenCentral() }) 如果闭包是方法的最后一个参数,那么闭包可以放在圆括号外面 也就是说,上面的代码写成这样也是可以的: repositories() { // <-- mavenCen

看懂Gradle脚本(1)- Groovy语言的Map语法糖

这一系列文章是写给刚开始使用Gradle,并且对Groovy语法不是特别了解的Java程序员看的. 本篇文章的目标是解释清楚下面这行Gradle脚本: apply plugin: 'java' 行尾的分号是可选的 用过JavaScript语言的人对这个语法糖应该比较熟悉,下面是补上分号后的脚本: apply plugin: 'java'; Map字面量(Literal) Java语言只有基本类型.String和数组是有字面量的,如下所示: boolean b = false; int i = 1

看懂Gradle脚本(5)- 跟Gradle学领域驱动设计

领域驱动设计(DDD) 如果第一次听说领域驱动设计,那么赶紧买一本,或借一本Eric Evans写的那么同名经典书补一下课.Gradle是一个自动化build工具,所以Gradle面对的领域就是自动化构建这一领域.Gradle是按照DDD的思想设计和开发的,所以自动化构建领域里的大部分概念,在Gradle的源代码里都有一个接口或类与之对应.本文介绍对Gradle新手来说最重要的三个领域对象:Project.Task.Action. Project Project是Gradle最重要的一个领域对象

看懂Gradle脚本(4)- Groovy语法之运算符重载

继续讨论Task定义 回想一下前一篇文章的样例: task myTask { doLast { println 'hello world!' } } 这段脚本定义了一个名为myTask的任务.而且通过一个闭包对这个任务进行了配置,给它加了一个Action.doLast是Task的一个方法. 由于这样的情况非经常见,所以Gradle提供了一种更加方便的写法,例如以下所看到的: task myTask << { println 'hello world!' } 能够少写两行代码 :) AST转换

看懂sh脚本

1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在这个例子中我们使用/bin/sh来执行程序. 当编写脚本完成时,如果要执行该脚本,还必须使其可执行. 要使编写脚本可执行: 编译 chmod +x filename 这样才能用./filename 来运行 2 注释 在进行shell编程时,以#开头的句子表示注释,直到这一行的结束.我们真诚地建议您在程序中使用注释. 3 变量 在其他编程语言中您必须使用变量.在

Gradle build Android application groovy—DSL特定领域语言

前言 现在,搞APP开发居多,编译/打包等问题立即就成痛点了.一个APP有多个版本,Release版.Debug版.Test版.甚至针对不同APP Store都有不同的版本.在以前ROM的环境下,虽然可以配置Android.mk,但是需要依赖整个Android源码,而且还不能完全做到满足条件,很多事情需要手动搞.一个app如果涉及到多个开发者,手动操作必然会带来混乱. library工程我们需要编译成jar包,然后发布给其他开发者使用.以前是用eclipse的export,做一堆选择.要是能自动

从编程的角度理解gradle脚本??Android Studio脚本构建和编程

本篇文章由嵌入式企鹅圈原创团队.魅族资深工程师degao撰写! 随着Android 开发环境从Eclipse转向Android Studio,我们每个人都开始或多或少要接触gradle脚本,大多数人将gradle看做构建工具,出现问题不知如何着手分析,只能寄希望百度能找到解决方案,其实大可不必. 如果我们把gradle看做编程框架,并理清gradle脚本与gradle对象的关系,通过查阅文档,不但能清晰理解gradle脚本,而且出现问题再也不用百度,通过查阅文档就能轻松解决问题. 本文就通过一个

写完批处理脚本,再写个Gradle脚本,解放双手

前言 上一篇写个批处理来帮忙干活---遍历&字符串处理中,我们已经学习如何写批处理脚本来帮我们做一些简单的重复性工作,本篇继续来学习如何用 Gradle 写脚本,让它也来帮我们干活 Gradle 脚本 需求场景跟上一篇一样,只是需要脚本能够帮我们遍历某个目录下的文件,然后分别针对每个文件执行 java 命令,再输出新的命名格式的文件即可,因此脚本涉及的方面仍然是:文件夹的遍历操作.字符串处理.执行 java 命令.下面开始学习吧: 1. 遍历指定文件夹下的文件 1.1 files() 命令: f