我有一个项目,其中有包含不同 zip 存档的文件夹。我想提取它们并为每个进行一些检查。但要报告分开。例如 pmd 检查。 因此,要将每个 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
所以我想根据 zips 的名称声明这个不同的 sourceSets 而不是手动执行,但不知道如何。
sourceSets {
sourcest1{
java {
srcDirs file("...")
}
}
}
是否有另一种简单的方法来分离检查而无需为每个 zip 创建新的 sourceSets?
最佳答案
开始的一种方法是为每个 zip 创建专门的任务。这可以在循环中完成:
["source1", "source2", "source3"].each{ sourceName ->
tasks.create("pmd${sourceName}", Pmd){
reports.html.reportsDir = "$buildDir/reports/pmd${sourceName}"
source = zipTree("file/to/$sourceName.zip")
...
}
}
干杯
关于java - 在 Gradle 中创建多个 sourceSet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21526648/