Gradle:获取依赖项和许可证列表

标签 gradle

我需要获取所有依赖项及其许可证的列表。

到目前为止,我已经尝试了几个插件,但它们处于各种无法工作的状态......

看来我最好的选择可能是生成 maven pom.xml 并调用 maven 许可证插件......

有什么建议吗?

最佳答案

问题

问题是插件(hierynomus/license-gradle-plugin)默认采用不可解析的依赖配置。 github 存储库中打开了一些问题。

似乎最新的 Gradle 版本或这个插件版本破坏了某些东西。我希望尽快找到解决方案..

这是关于 resolvable dependencies in Gradle documentation 的主题

解决方案

获取报告的解决方法如下。

  1. 应用插件
  2. 配置您想要的依赖关系类型 已生成报告。例如对于 Java 项目来说 配置可以是compileClasspath或runtimeClasspath。

下面的构建脚本示例(在 Groovy 中)

/**
 * Apply licence report plugin.
 */
plugins {
  id "com.github.hierynomus.license-report" version"0.16.1"
}

/**
 * You will have to specify for which configuration dependencies should be resolved.
 * Note check in Gradle documentation about configuration types that can be resolved.
 * https://docs.gradle.org/current/userguide/declaring_dependencies.html#sec:resolvable-consumable-configs
 *
 * Following are resolvable by default:
 * - compileClasspath
 * - runtimeClasspath
 */
downloadLicenses {
  includeProjectDependencies = true
  dependencyConfiguration = 'runtimeClasspath'
  // or
  // dependencyConfiguration = 'compileClasspath'
}

执行后报告应位于 build/reports/licence

enter image description here

关于Gradle:获取依赖项和许可证列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67393005/

相关文章:

curl - 在Groovy中将JSON传递给curl似乎取决于平台

java - Gradle:如何通过gradle执行git pull?

android - Gradle 高级构建插件 : Cannot invoke canRead()?

java - Gradle 语法是否被 1.0 版卡住了?

gradle - 阅读gradle插件的SonarQube属性

java - 使用共享库构建 Gradle 会导致多个菜单图标

gradle - gradle的作用

java - 如何从liberty-server build.gradle文件中排除传递依赖项

gradle - 尝试在自定义 gradle 任务中获取我的 build.gradle 依赖项的组名称和版本

android - 如何获取 gradle sync 的详细消息?