制作 gradle 依赖任务以在其结果中排除测试依赖

make gradle dependency task to exclude test dependencies in its result

当我 运行 ./gradlew dependencies 我得到整个依赖树,包括 prod/main 和测试。

如何在 dependencies task

的结果中获取仅 production/main 依赖项的列表

官方文档https://docs.gradle.org/current/userguide/viewing_debugging_dependencies.html 建议如何显示特定配置所需的依赖项,比如在 Java 项目中测试 运行time 类路径:

`gradle -q dependencies --configuration testRuntimeClasspath`

谷歌搜索后,我找到了命令gradlew dependencies --configuration compileClasspath 它的结果是否也包含 运行 时间依赖性?

如何获取依赖项列表,排除依赖项任务结果中的测试依赖项?

如果您想要的是“生产”运行时依赖项,请使用 --configuration runtimeClasspath

Gradle 中的配置就像一桶桶依赖项。 Java 插件贡献的内容被描述为 here.

最有趣的是这些:

  • compileClasspath:编译工程需要的依赖。扩展扩展 compile(已弃用)、compileOnlyimplementation.
  • runtimeClasspath:运行时需要的依赖。扩展 runtime(已弃用)、runtimeOnlyimplementation

正如您所注意到的,上面两个版本还有用于编译和 运行 单元测试的“测试”版本。