博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Gradle 语法
阅读量:5241 次
发布时间:2019-06-14

本文共 2246 字,大约阅读时间需要 7 分钟。

参考文章:

(http://www.cnblogs.com/CloudTeng/p/3417970.html)

(https://segmentfault.com/a/1190000006915937)

Gradle 中的语法

目录

1.创建task

cmd:  gradle -q [taskname]

-q 表示不打印输出日志信息。即仅显示结果。

task有两个生命周期,配置阶段和执行阶段

1. <<     (追加)  *  在gradle5.0后会被去掉,建议使用doLast代替

  即向任务名追加执行过程。

task hello << {   println 'hello, this world'      }

2. doLast(执行时加载)和doFirst(配置时加载)

task hello{	doLast{		println "I'm this last"	}	doFirst{		println "I'm this first"	}}

3. tasks

所有的task都存在一个TaskContainer容器中,是Project的属性。可创建task来查看

task showTask{	println tasks.class	println tasks.size()}------------------------------------------------class org.gradle.api.internal.tasks.DefaultTaskContainer_Decorated3

4. create

可通过TaskContainer的创建方法来构造task

tasks.create(name:'createTask') {	println "i create my task..."}

5.dependsOn

task之间的依赖

tasks.create(name:'createTask',dependsOn:'hello') {	println "i create my task..."}

   [taskname].dependsOn [taskname]

6.task的属性(Properties)定义

  每个task有两个默认的属性 description和 logger,

  特定Task会有额外的一些属性(例:Copy有from和to属性)。

  使用ext自定义properties

task hello{	doLast{			println hell			println hell2	}}hello {	ext.hell = "Hell........"	ext.hell2 = "Hell2...."	description = "description is default's Properties"}

 

2.自定义task:

  @Optional:表示定义项可选

  @TaskAction 表示task要执行的过程

class MyDefineTask extends DefaultTask{	@Optional	String message;		@TaskAction	def hello(){		println "my defined message:   $message "	}}task helloMy(type: MyDefineTask){	message = "hello world.."}task DefineHello(type: MyDefineTask){	message = " my defined...."}

 

 

3. Project:

Gradle在默认情况下已经为Project定义了很多Property,其中比较常用的有:

  • project:Project本身
  • name:Project的名字
  • path:Project的绝对路径
  • description:Project的描述信息
  • buildDir:Project构建结果存放目录
  • version:Project的版本号

1. 自定义Properties(使用ext):

ext{	pro1="I'm defined pro1"}或ext.pro2 = "I'm defined pro2"println pro2

 

 4. Closure And Action

 Closure(闭包)是一段单独的代码块,它可以接收参数,返回值,也可以被赋值给变量。即将一段代码段赋值给一个变量,

可以在调用的地方被使用。<< (Closure) 在gradle5.0已经不被使用,Action代替。

Closure cl = { task -> println "I'm $task.project.name"}task hello2 << clproject(':MavenCore') {    task hello2 << cl}project(':MavenView') {    task hello2 << cl}

 

Closure cl = {task -> println "I'm $task.project.name"}

task hello2{doLast cl}

 Action指一段代码段 ,一个Task由多个Action组成。

 

转载于:https://www.cnblogs.com/DennyZhao/p/7736582.html

你可能感兴趣的文章
百度贴吧图片抓取工具
查看>>
服务器内存泄露 , 重启后恢复问题解决方案
查看>>
ajax post 传参
查看>>
2.1命令行和JSON的配置「深入浅出ASP.NET Core系列」
查看>>
android一些细节问题
查看>>
KDESVN中commit时出现containing working copy admin area is missing错误提示
查看>>
利用AOP写2PC框架(二)
查看>>
【动态规划】skiing
查看>>
java定时器的使用(Timer)
查看>>
Android实现静默安装与卸载
查看>>
ef codefirst VS里修改数据表结构后更新到数据库
查看>>
boost 同步定时器
查看>>
[ROS] Chinese MOOC || Chapter-4.4 Action
查看>>
简单的数据库操作
查看>>
解决php -v查看到版本与phpinfo()版本不一致问题
查看>>
iOS-解决iOS8及以上设置applicationIconBadgeNumber报错的问题
查看>>
亡灵序曲-The Dawn
查看>>
Redmine
查看>>
帧的最小长度 CSMA/CD
查看>>
xib文件加载后设置frame无效问题
查看>>