【问题标题】:How to access collection of source directories of all included build in composite build of Gradle?如何访问 Gradle 复合构建中所有包含构建的源目录集合?
【发布时间】:2020-09-28 17:24:20
【问题描述】:

我有一个使用复合构建的 gradle 项目。我必须获取要在 jacoco 仪器中使用的源文件集合。是否有任何获取所有包含构建的源目录。

settings.gradle

rootProject.name = 'my-composite'

includeBuild 'my-app'
includeBuild 'my-utils'

我目前正在使用files方法来获取build.gradle中的集合

project.ext.files1 = 
fileTree("C:/my-composite/my-app/src").matching {
    include '*.java'
}

project.ext.files2 = 
fileTree("C:/my-composite/my-utils/src").matching {
    include '*.java'
}

project.ext.allFiles = project.ext.files1.plus(project.ext.files2) 

我们可以使用 gradle.includedBuild('my-app') 动态生成源列表吗? (或者) 有没有办法使用任务来返回每个 inculdede 构建的源目录? 还是有其他方法可以做到?

【问题讨论】:

    标签: java gradle groovy build-tools


    【解决方案1】:

    应该可以做到:

    fileTree(gradle.includedBuild("my-app").projectDir.resolve("src")).matching {
        include("*.java")
    }
    

    【讨论】:

    • 如果源文件夹名称不同则不起作用。有什么方法可以使用任务返回每个包含的构建的源目录。
    • 我看不到... includedBuild 返回的对象没有 sourceSets :-(
    猜你喜欢
    • 1970-01-01
    • 2017-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-31
    • 1970-01-01
    • 2014-01-26
    • 1970-01-01
    相关资源
    最近更新 更多