首页 > 其他 > 详细

Gradle Goodness: Automatic Clean Tasks

时间:2014-12-27 21:41:47      阅读:324      评论:0      收藏:0      [点我收藏+]

Gradle adds the task rule clean<Taskname> to our projects when we apply the base plugin. This task is able to remove any output files or directories we have defined for our task. For example we can assign an output file or directory to our task with the outputs property. Or we can use the @OutputFile and @OutputDirectories annotations for custom task classes. The clean<Taskname> rule can delete the output files or directories for the task with the name <Taskname> for us. We don‘t have to write the clean task ourselves we only have define the base plugin in our project. And Gradle will take care of the rest!.

00.apply plugin: ‘base‘
01. 
02.outputDir = file("$buildDir/generated-src")
03.outputFile = file("$buildDir/output.txt")
04. 
05.task generate << {
06.outputDir.mkdirs()
07.outputFile.write ‘Generated by Gradle.‘
08.}
09.generate.outputs.files outputFile
10.generate.outputs.dir outputDir
11. 
12.task showBuildDir << {
13.def files = buildDir.listFiles()
14.files.each {
15.print   it.directory ? ‘Dir:  ‘ : ‘File: ‘
16.println it.name
17.}
18.println "${files.size()} files in $buildDir.name"
19.}

We can first run the generate task and see the output file and directory.

$ gradle -q generate showBuildDir
Dir:  generated-src
File: output.txt
2 files in build

Next we can run the task cleanGenerate, which is added to the project by Gradle, and see the output files are gone.

$ gradle -q cleanGenerate showBuildDir
0 files in build

Gradle Goodness: Automatic Clean Tasks

原文:http://www.cnblogs.com/GoAhead/p/4189143.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!