Плагин Gradle Project-Report небезопасно разрешает настройки - PullRequest
0 голосов
/ 21 марта 2019

Когда я настроил Gradle, чтобы выполнить следующие действия для агрегирования отчета о зависимостях html в моей многопроектной сборке:

apply plugin: 'project-report'

htmlDependencyReport {
    projects = project.allprojects
}

Я получаю кучу предупреждений:

Конфигурация была решена без доступа к проекту в безопасном режиме. Это может случиться когда конфигурация разрешается из потока, не управляемого Gradle или из другого проекта. Увидеть https://docs.gradle.org/5.2.1/userguide/troubleshooting_dependency_resolution.html#sub:configuration_resolution_constraints Больше подробностей. Это поведение устарело и запланировано подлежит удалению в Gradle 6.0.

То, что я вижу по трассировке стека, происходит из этой задачи:

at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.resolveToStateOrLater(DefaultConfiguration.java:535)
 *  at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.access$2200(DefaultConfiguration.java:136)
 *  at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$ConfigurationResolvableDependencies.assertArtifactsResolved(DefaultConfiguration.java:1415)
 *  at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$ConfigurationResolvableDependencies.access$3500(DefaultConfiguration.java:1303)
 *  at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$ConfigurationResolvableDependencies$LenientResolutionResult.resolve(DefaultConfiguration.java:1430)
 *  at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$ConfigurationResolvableDependencies$LenientResolutionResult.getRoot(DefaultConfiguration.java:1443)
 *  at org.gradle.api.reporting.dependencies.internal.JsonProjectDependencyRenderer.createDependencies(JsonProjectDependencyRenderer.java:166)
 *  at org.gradle.api.reporting.dependencies.internal.JsonProjectDependencyRenderer.access$000(JsonProjectDependencyRenderer.java:112)
 *  at org.gradle.api.reporting.dependencies.internal.JsonProjectDependencyRenderer$1.transform(JsonProjectDependencyRenderer.java:155)
 *  at org.gradle.api.reporting.dependencies.internal.JsonProjectDependencyRenderer$1.transform(JsonProjectDependencyRenderer.java:149)
 *  at org.gradle.util.CollectionUtils.collect(CollectionUtils.java:205)
 *  at org.gradle.util.CollectionUtils.collect(CollectionUtils.java:200)
 *  at org.gradle.api.reporting.dependencies.internal.JsonProjectDependencyRenderer.createConfigurations(JsonProjectDependencyRenderer.java:149)
 *  at org.gradle.api.reporting.dependencies.internal.JsonProjectDependencyRenderer.renderProject(JsonProjectDependencyRenderer.java:141)
 *  at org.gradle.api.reporting.dependencies.internal.JsonProjectDependencyRenderer.render(JsonProjectDependencyRenderer.java:127)
 *  at org.gradle.api.reporting.dependencies.internal.HtmlDependencyReporter.generateJsFile(HtmlDependencyReporter.java:79)
 *  at org.gradle.api.reporting.dependencies.internal.HtmlDependencyReporter.access$100(HtmlDependencyReporter.java:46)
 *  at org.gradle.api.reporting.dependencies.internal.HtmlDependencyReporter$1.render(HtmlDependencyReporter.java:68)
 *  at org.gradle.api.reporting.dependencies.internal.HtmlDependencyReporter$1.render(HtmlDependencyReporter.java:59)
 *  at org.gradle.reporting.HtmlReportRenderer.render(HtmlReportRenderer.java:42)
 *  at org.gradle.api.reporting.dependencies.internal.HtmlDependencyReporter.render(HtmlDependencyReporter.java:59)
 *  at org.gradle.api.reporting.dependencies.HtmlDependencyReportTask.generate(HtmlDependencyReportTask.java:136)
 *  at java.lang.reflect.Method.invoke(Method.java:498)

Есть ли способ агрегировать этот отчет без получения этого предупреждения?

Я на самом деле пытался воспользоваться советом:

В большинстве случаев предупреждение об устаревании можно исправить, определив Конфигурация в проекте, где происходит разрешение и установка его на расширение из конфигурации в другом проекте.

до крайности, и создание новой конфигурации в моем корневом проекте, которая расширяет конфигурацию подпроекта для каждого конфигураций в каждом из моих подпроектов программно, и вынуждает их (безопасно) разрешаться только до на выполнение задачи htmlDependencyReport. Я могу наблюдать за их решением, никаких проблем. Затем, когда эта задача запускается, она все равно выдает эту ошибку.

Так есть ли способ снять это предупреждение? Я предполагаю, что команда Gradle исправит внутренности этого плагина до выпуска 6.0, но я хочу продолжать работать с этим отчетом и не хочу видеть это в моих результатах сборки до этого момента.

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