gpt4 book ai didi

gradle - 收集 Gradle 项目的依赖约束

转载 作者:行者123 更新时间:2023-12-03 05:20:16 28 4
gpt4 key购买 nike

我正在寻找一种方法来从自定义 Gradle 插件收集给定项目的所有依赖约束(通过常规 platform 和/或 enforcedPlatform 和/或“手动”强制执行)。
在 Maven 世界中,您可以解析一个“工件描述符”,该描述符将允许访问对工件强制执行的所有托管依赖项的有效列表。到目前为止,我无法找到如何在 Gradle 中收集此类信息。
有什么建议吗?谢谢!

最佳答案

基于对问题的澄清 - 下面可以作为一个开始(需要更多的工作 - 出于某种原因,我的本地将配置显示为默认配置 - 而不是编译/运行时)

allprojects {
afterEvaluate {
configurations.findAll {it.canBeResolved==true}.each { println it + "\n" ; it.allDependencies.each { println it } }
}
}

问题(在我看来)是在多模块项目中跨模块共享测试代码
简短的回答 - 否 - 跨模块有直接的测试依赖共享。
通过build设置在模块内部共享测试代码
官方毕业路线 https://docs.gradle.org/current/userguide/java_testing.html#sec:java_test_fixtures
简单破解 testImplementation files(project(':core-module').sourceSets.test.output.classesDirs)在您需要的地方单独添加上面的行,或者在具有适当条件的 subprojects() 的根目录中添加
*还有其他可能的路线*
例如:通过 configuration child.testImplementation extends parent.testImplementation (或运行时)

关于gradle - 收集 Gradle 项目的依赖约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63819077/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com