我正在嘗試配置一個任務,它將從二進制junit測試結果的集合中生成單個報告,但我無法創建包含所有結果的路徑的FileCollection
文件位於。Gradle獲取父目錄的文件集合
我的任務是這樣定義的
task aggregateTestREports(type: org.gradle.api.tasks.tests.TestSupport) {
destinationDir = reportDir
testResultsDirs = ???
}
凡???是我沒有去工作的部分。
我可以使用下面的代碼來獲得在我們構建結構的output.bin文件的列表,但我需要轉變爲目錄中的文件在列表中選擇此。
fileTree(dir: '.', includes: ['**/test-results/binary/test/output.bin'])
我已經嘗試創建一個從基類這樣的自定義類和該行的結果傳遞給testOutputBinFiles
參數和動態計算文件
class AggregateTestReport extends TestReport {
@Input
def testOutputBinFiles
def getTestResultDirs() {
def parents = []
testOutputBinFiles.each {
File file -> parents << file.parentFile.absoluteFile
}
parents
}
}
,但是這給了我一個錯誤,返回值是不兼容一個FileCollection
FileCollection
的文檔指出獲得新文件的唯一方法是使用files()
函數,但它不能從自定義類中獲得以獲取新文件。