如何访问 Gradle 组合构建中所有包含构建的源目录集合?

3

我有一个使用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') 动态生成源列表吗? (或者) 是否有一种方法可以使用任务返回每个包含构建的源目录? 还是有其他方法可以实现?
1个回答

1
应该能够做到:

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

如果源文件夹名称不同,则它无法正常工作。是否有办法使用任务返回每个包含构建的源目录? - Vazid
并没有我能看到的...includedBuild返回的对象没有sourceSets :-( - tim_yates

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接