我有一个项目,其中有不同的zip档案文件夹。我想提取它们并为每个进行一些检查。但希望报告分开。例如 pmd check。 因此,从每个zip文件中分离文件必须是在不同的sourseSets和调用时
gradle check
为每个目标生成带有支票的报告。
输入文件: 的 sources1.zip,sources2.zip,sources3.zip,sources4.zip 每个zip包含单独的项目。 例如:
src/main/java/sources1/Example.java
src/main/java/sources2/App.java
.... 运行检查时生成
build/reports/pmd/sources1SourceSet.html
build/reports/pmd/sources2SourceSet.html
build/reports/pmd/sources3SourceSet.html
build/reports/pmd/sources4SourceSet.html
所以我想根据拉链的名称声明这个不同的sourceSets而不是手动执行,但不知道如何。
sourceSets {
sourcest1{
java {
srcDirs file("...")
}
}
}
是否有另一种简单的方法来分隔检查而不为每个zip创建新的sourceSet?
答案 0 :(得分:3)
一种启动方式可以为每个zip创建专用任务。这可以循环完成:
["source1", "source2", "source3"].each{ sourceName ->
tasks.create("pmd${sourceName}", Pmd){
reports.html.reportsDir = "$buildDir/reports/pmd${sourceName}"
source = zipTree("file/to/$sourceName.zip")
...
}
}
欢呼声