我最近被指示在 Gradle 中实施所有构建/发布工程工作。
所以我是 Gradle 的新手,在这个勇敢的新世界中,一些在 shell 提示下显而易见的东西很难理解。
我的构建创建了一组 jar 文件。
我需要为它们中的每一个执行一个 shell 任务
类似于:
task findBugs (type:Exec, dependsOn: fb23) {commandLine 'java', '-jar',
'./findBugs/findbugs.jar', '-textui', '-progress', '-xml', '-output',
'TrustManagerService.xml', 'TrustManagerService.jar'}
(我不能使用 FindBugs 插件,因为我们在 JDK8 中 - 所以我从预览版外部运行 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 添加到每一行以使它们中断...:(