Проблема сборки Gradle: не удалось получить библиотеки неизвестных свойств в симуляторе кофеина - PullRequest
0 голосов
/ 07 мая 2020

Раньше я работал над своей вилкой Caffeine's Simulator с помощью Eclipse, и проект был скомпилирован и собран нормально.

Внезапно я начал получать следующую ошибку при запуске сборки Gradle:

Could not get unknown property 'libraries' for object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

Я действительно не понимаю синтаксис «implementation libraries.X» в зависимостях build.gradle симулятора Caffeine.

Чтобы изучить проблему, я создал проект MWE в Eclipse со следующим build.gradle:

plugins {
    id 'java-library'
}

repositories {
    jcenter()
}

dependencies {
    api 'org.apache.commons:commons-math3:3.6.1'
    implementation 'com.google.guava:guava:28.2-jre'
    testImplementation 'junit:junit:4.12'
    implementation libraries.xz
}

Этот MWE выдает ту же ошибку. После удаления строки implementation libraries.xz проект строится нормально.

Я предполагаю, что «библиотеки» - это свойство / переменная, определенная где-то в Caffeine, но не могу их найти.

1 Ответ

0 голосов
/ 07 мая 2020

Манифест зависимостей определен в dependencies.gradle . Файл сборки root применяет это ко всем подпроектам,

subprojects {
  apply plugin: 'biz.aQute.bnd.builder'
  apply plugin: 'java-library'
  apply plugin: 'eclipse'
  apply plugin: 'idea'

  apply from: "${rootDir}/gradle/publish.gradle"
  apply from: "${rootDir}/gradle/codeQuality.gradle"
  apply from: "${rootDir}/gradle/dependencies.gradle"
  ...
}

Центральный манифест позволяет ссылаться на зависимость более абстрактно, так что версии могут быть обновлены глобально и сокращены проблемы с копированием и вставкой.

Похоже, из-за локального изменения сборки она больше не импортирует манифест, и свойство не может быть разрешено.

...