gradle 教程学习笔记(一)

gradle是一个很不错的东西,前段在公司,项目大神用gradle脚本规划了整个项目的结构,这个东西确实很强大,之前学过一些maven,这两个东西其实也差不多原理的。废话不多说这个也只是我的一个学习笔记而已,

gradle来说任何东西在gradle上都是两个基本的概念,项目和任务,gradle在构建一个或者多个项目,这些项目被一个多或者多任务进行构建,他可以被编译成class文件,jar包,生成javadoc等。下面是一个hello world的脚本,

build.gradle

task hello{
        doLast{
                println "hello world"
        }
}
在目录下敲入命令gradle -q hello,就能够输出hellowrold 这里-q参数的意思是显示log的信息,其实这里是groovy来进行执行的,虽然我还没学groovy 但是语法几乎和java差不多,很简单。


  任务一:定义一个任务,然后在里面写groovy的代码

task upper << {
        String str = "hello WORLD"
        println "Original: "+ str
        println "Upper case: "+str.toUpperCase()
}

输入命令 gradle -q upper 就会看到字母变成了大写字母

 任务二:任务依赖

在执行一个任务B之前,可以定义一个任务A,让A先执行 gradle  -q intro

task upper << {
        String str = "hello WORLD"
        println "Original: "+ str
        println "Upper case: "+str.toUpperCase()
}
task intro(dependsOn: upper)<<
{
        println "end"
}

任务三:动态任务

在执行命令的动态的给任务添加参数   执行命令 gradle -q task2  这个时候2就会附加到输出内容里面去 

4.times { counter->
        task "task$counter" <<{
                println "i am task number $counter"
        }
}

任务四:操作已经存在的任务

  意思就是能够调用其他任务,因为我们定义的是任务0调度其他任务这里就需要输入 gradle -q task0

4.times { counter->
        task "task$counter" <<{
                println "i am task number $counter"
        }
}
task0.dependsOn task2,task3

结果可以自己运行一下


任务四:内部调度函数

自己内置了一些函数,在不同的时期进行调用,输入命令 gradle  -q helo

task hello << {
	println "hello Earth"
}
hello.doFirst {
	println "hello Venus"
}
hello.doLast {
	println "Hello Mars"
}
hello << {
	println "hello Jupiter"
}
可以看到如下结果

hello Venus

hello Earth

Hello Mars

hello Jupiter


任务五:访问任务的属性

 这里在任务内部定义了一个属性, 其他任务可以进行访问 我就不写命令了,基本都是一样的命令

task myTask{
	ext.myProperty="value"
}
task printTask << { 
	println myTask.myProperty
}

任务六:遍历文件

dsf是脚本对于的目录下的文件,脚本感觉是jquery和java的合体

task loadfile << {
	def files = file("dsf").listFiles().sort()
	files.each {
		File file -> if(file.isFile()){
			
			println "** $file.name **"

		}
	}
}


任务六:定义默认调用的方法

这个时候执行命令 gradle -q  后面不需要加入参数就会调用默认的两个方法,other不会被调用,相反如果你加了指定的task之后,默认的就不会被调用

defaultTasks 'clean', 'run'
task clean << {
	println "default clean"
}
task run << {
	println "default run"
}
task other << {
	println "other method"
}


 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值