Как вы программно получаете доступ к разрешенным зависимостям реализации? - PullRequest
1 голос
/ 01 мая 2020

Я хотел бы получить доступ к метаданным о разрешенной зависимости реализации, чья версия установлена ​​через платформу 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.

Любая помощь будет принята с благодарностью, ура!

1 Ответ

1 голос
/ 04 мая 2020

С Gradle 6.0 следующие build.gradle:

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 конфигурация будет отображаться на пути к классам компиляции, как показано на следующем рисунке, который я взял из Плагин Java .

https://docs.gradle.org/current/userguide/img/java-main-configurations.png

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...