虽说是Gradle学习笔记,但是由于Gradle是脱胎于Groovy的,所以该笔记是以Groovy为基础写的。
二、正文此学习已经默认了学习者安装并配置了Gradle环境,并且有相应的编码基础
Gradle构建语言称之为 Gradle DSL或 域特定语言
Gradle提供了Groovy版本,所以Groovy语言也可以使用,另外也可以使用java,Scale等任何JVM语言进行编写
gradle --version 查看Gradle版本号、Groovy版本号、Ant版本号、JVM版本号、OS版本号 gradle --stop 停止后台正在运行的任务 gradle 任务名 执行gradle任务
注:执行的任务一般编写在build.gradle文件里面,如果想执行指定文件里面的gradle任务,需要使用以下命令
gradle -b xxx.gradle 任务名 (任务名可以简写 例如:HelloWorld 可以简写成HW,要记得以单词首字母大写分割开,开始的字母倒是可以小写。另外如果是两个词组成的,可以只写第一个单词)
注 :单引号 会把包括的内容全部输出 ,双引号会对里面的内容进行检查,并判断是否需要计算
2、任务的编写:任务(task)一般编写在build.gradle的文件里面,也可以编写在 以.gradle为扩展名的文件里面。
任务示例如下:
task helloWorld << { println "Hello, World!" } 当然也可以写成 task helloWorld { println "Hello, World!" }
不过结果有所差异,除了执行时间第一个比第二个少之外,别的暂时未知,执行结果如下图:
Gradle执行的话必须包含一种任务 以下代码如无格外提醒,全部以下面格式编写:
task groovy<< {} //代码内容
执行方式为命令行中书写
gradle groovy
代码执行成功的标志是 最后一行有 BUILD SUCCESSFUL 的输出语句
3、语法基本特点:Gradle是一种可选的语言类型,这意味着只要你想,你可以给出所有的变量类型,如果不想这么做,则可以仅仅是用 def来声明变量
通过在字符串里面声明美元符号$ 我们可以执行简单的Groovy代码
动态输入可以对不同的数据类型之间进行重新赋值,虽然易于展示,但不是一个好的做法。示例代码如下:
def foo = 6.5 println "foo has value $foo" println "Let's do some match. 5 + 6 = ${5 + 6}" println "foo is type: ${foo.class} and has value: $foo" foo = "a string" println "foo is type: ${foo.class} and has value: ${foo}"
执行结果如下:
Groovy中函数没有返回类型,所以也没有类似于Java的返回语句,函数中的最后一个即是返回结果。
在Groovy中加法就是重载的意思
示例代码如下:
def doubleIt(n){ n + n } def foo = 5 println "doubleIt($foo) = ${doubleIt(foo)}" foo = "foobar" println "doubleIt($foo) = ${doubleIt(foo)}"
执行结果如下:
当函数中需要传递的参数等于一个或超过一个的时候Groovy可以省去圆括号(但是对于列表来说不可以省去等于号,例如 def myList = ["Gradle", "Groovy", "Android"]),但对于新手来说不建议这么使用,因为写出的代码很容易使程序产生困惑而导致出错
示例代码如下所示:
def noArgs(){ println "Called the noArgs function" } def oneArgs(x){ println "Called the 1 Args function with $x" x } def tworgs(x, y){ println "Called the 2 Args function with $x and $y" x + y } oneArgs 500 tworgs 300,500 //noArgs 写法错误 //下面尝试嵌套函数的使用 oneArgs tworgs (300,500) //oneArgs tworgs 300,500 写法错误 //oneArgs (tworgs 300,500) 写法错误 tworgs oneArgs (300), 500 //tworgs oneArgs 300, 500 写法错误 //tworgs (oneArgs 300), 500 写法错误
程序执行结果如下:
- groovyGradle User Guide 中文版Gradle 使用指南其他Gradle资料Gradle翻译指南Gradle for AndroidGradle Android插件用户指南翻译Gradle论坛远程仓库搭建:https://jfrog.com/distribution/?bintrayRD=1Gradle最新地址Android Gradle最新版本Groovy环境搭建gradle语言用户指南Groovy documentation:Groovy 的详细介绍文档Groovy API Reference:Groovy 的 API 文档,必要的时候查阅Gradle User Guid:Gradle 的详细介绍文档,很有必要过一遍Gradle Build Language Reference:Gradle DSL 参考,重点的几个 DSL 过一下,其他的用到再查邓凡平老师的 Gradle 介绍Gradle User Guide 中文版
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)