java - 在 Gradle 中创建多个 sourceSet

标签 java gradle pmd

我有一个项目,其中有包含不同 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/

相关文章:

java - pmd:DataflowAnomalyAnalysis 会为增强型 for 循环生成误报吗?

Java从firebase数据库检索用户数据并存储在变量Android Studio中

java - 音频处理服务器平台

android - 错误 :Project :app declares a dependency from configuration 'compile' to configuration 'default' which is not declared in the descriptor for project

Android Studio 项目结构打开失败

gradle - ActiveJDBC检测:无法检测Jar中的模型类

java - PMD 和 FindBugs 有什么区别?

java - 突出显示包含 HTML 的字段

java - 由 : java. lang.ClassNotFoundException : org. mortbay.jetty.Handler 引起

java - Joshua Bloch 的 Builder 模式和 PMD 警告