Gradle 第四讲 之 ant使用 与 methods使用

经过前几讲的介绍,我们已经对使用有了一定的了解,本讲将会进一步学习gradle的使用

1.gradle如何与ant结合使用

2.gradle中method的定义与使用

3.默认任务

4.钩子的使用


1.gradle如何与ant结合使用

task loadfile << {

    def files = file('./antLoadfileResources').listFiles().sort()       //遍历文件夹里面的文件

    files.each { File file ->

        if (file.isFile()) {

            ant.loadfile(srcFile: file, property: file.name)           //调用ant来加载文件

            println " *** $file.name ***"

            println "${ant.properties[file.name]}"

        }

    }

}

输入: wudideMacBook-Pro:gradle  ***$ gradle -q loadfile

 *** antfile ***

content

PS:我们在当前文件夹下建立了一个antLoadfileResources文件夹,并且在里面加了一个文件测试使用


2.gradle中method的定义与使用

task loadfile << {

    fileList('./antLoadfileResources').each { File file ->

            ant.loadfile(srcFile: file, property: file.name)

            println " *** $file.name ***"

            println "${ant.properties[file.name]}"

        }

}


File[] fileList(String dir){

    file(dir).listFiles({file -> file.isFile() } as FileFilter).sort()

}


输入:wudideMacBook-Pro:gradle ***$ gradle -q loadfile

 *** antfile ***

content

从上面我们可以看出来效果是一样的,只是我们将之前的一部分内容,提取到了我们自定义的函数中了,这个就是自定义函数的使用


3.默认任务

defaultTasks 'clean', 'run'


task clean << {

    println 'Default Cleaning!'

}


task run << {

    println 'Default Running!'

}


task other << {

    println "I'm not a default task!"

}

输入:wudideMacBook-Pro:gradle ***$ gradle -q other

I'm not a default task!


输入:wudideMacBook-Pro:gradle ***$ gradle -q

Default Cleaning!

Default Running!


这个一看就很简单了,如果设置了默认的话,当不输入具体的task名时,就会出发defaulttask了


4.钩子的使用

task distribution << {

    println "We build the zip with version=$version"

}


task release(dependsOn: 'distribution') << {

    println 'We release now'

}


task test(dependsOn: 'release') << {

    println 'We test now'

}


gradle.taskGraph.whenReady { taskGraph ->

    if (taskGraph.hasTask(release)) {

        version = '1.0'

    } else {

        version = '1.0-SNAPSHOT'

    }

}


输入:wudideMacBook-Pro:gradle ***$ gradle -q release

We build the zip with version=1.0

We release now


输入:wudideMacBook-Pro:gradle ***$ gradle -q test

We build the zip with version=1.0

We release now

We test now


输入:wudideMacBook-Pro:gradle ***$ gradle -q distribution

We build the zip with version=1.0-SNAPSHOT

这里的钩子其实就是第三个,目的吗,其实就是在执行之前做一些准备工作,相当于callback。

但不同的是,这里不管运行那一个,都会执行这个钩子,并且初始化值


好了,到此,关于gradle的基础知识就算介绍结束了,下一讲讲会介绍在java中的使用。

关于之前介绍过的所有demo,我们均会在下面网址中可以下载到

http://download.csdn.net/detail/u010479969/9318159



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值