您如何以编程方式访问已解决的实现依赖性?

问题描述 投票:1回答:1

我想访问有关已解决的实现依赖性的元数据,该元数据的版本是通过平台Bom设置的

  dependencies {
      implementation platform("internal.spinnaker:clouddriver-bom:${spinnakerRelease}")
      annotationProcessor platform("internal.spinnaker:clouddriver-bom:${spinnakerRelease}")
      testAnnotationProcessor platform("internal.spinnaker:clouddriver-bom:${spinnakerRelease}")

      implementation "com.netflix.spinnaker.clouddriver:clouddriver-web"
      implementation "com.netflix.spinnaker.clouddriver:clouddriver-core"
      implementation "com.netflix.spinnaker.clouddriver:clouddriver-security"
  }

我希望能够以编程方式访问已解决的clouddriver-web版本。我可以在网上找到的所有解决方案都像这样引用代码。

configurations.compile.resolvedConfiguration.firstLevelModuleDependencies

您无法使用实现配置,因为它会引发有关无法解析的错误。

最终目标是使已解决的依赖关系成为META-INF / build-info.properties中的一项,以便可以这样使用它:https://www.vojtechruzicka.com/spring-boot-version/

我不知道如何在任务或Gradle文件中获取版本。

任何帮助,万分感谢!

java gradle dependencies dependency-management
1个回答
0
投票
plugins { id 'java' } repositories { jcenter() } dependencies { implementation 'com.google.guava:guava:29.0-jre' } task log { doLast { println(configurations.compileClasspath.resolvedConfiguration.firstLevelModuleDependencies) } }

使用时:

./gradlew :log

打印:

> Task :log
[com.google.guava:guava:29.0-jre;compile]

implementation配置中的任何依赖关系都将显示在编译类路径上,如我从The Java Plugin中获取的下图所示。

https://docs.gradle.org/current/userguide/img/java-main-configurations.png
© www.soinside.com 2019 - 2024. All rights reserved.