我最近被指示在Gradle中實現所有構建/發佈工程作業。如何爲Gradle文件集合中的每個文件執行shell命令?
所以我是新來的Gradle,一些在shell提示符下顯而易見的東西在這個勇敢的新世界中很難理解。
我的版本創建了一組jar文件。
我需要執行一個shell任務他們中的每一個類似於
東西:
task findBugs (type:Exec, dependsOn: fb23) {commandLine 'java', '-jar',
'./findBugs/findbugs.jar', '-textui', '-progress', '-xml', '-output',
'TrustManagerService.xml', 'TrustManagerService.jar'}
(我不能usethe FindBugs的插件,因爲我們是在JDK8 - 所以我「M從預覽版本上運行的FindBugs外部...)
我可以得到一個文件的收集和遍歷文件名的東西,如:
FileTree iotTree = fileTree(dir: '.')
iotTree.include '*.jar'
iotTree.each {
File file -> println file.name
println 'A file'
}
或
def iotJars = files(file('./jars').listFiles())
println ''
println iotJars
iotJars.each { File file -> println 'The next file is: ' + file.name }
但對我的生活,我不能看到如何爲返回的每個文件名執行shell命令的最直接的方式做到這一點
的思考?
順便說一句 - 什麼是包含在代碼清單換行符的最佳方式 - 我不得不返回並添加CR的每一行,讓他們打破... :(
參見:http://www.gradle.org/docs/current/userguide/working_with_files.html –