Версия зависимости не разрешена из блока ext build.gradle - PullRequest
1 голос
/ 06 мая 2020

Я добавил некоторую зависимость в свой build.gradle файл вроде этого

ext {
  boxableVersion = '1.5.bq'
}
dependencies {
  implementation group: "com.github.dhorions", name:'boxable', version:${boxableVersion}
}

Это работало без проблем, пока я не изменил свою версию JDK с 1.8 на 11. Теперь, когда я пытаюсь собрать проект , следующая ошибка появляется в моем build.gradle файле

Не удалось запустить действие поэтапной сборки с использованием распределения Gradle 'https://services.gradle.org/distributions/gradle-6.0-bin.zip'. Файл сборки '/home/christine/christine/projectsFromGit/pdfcreator/build.gradle' строка: 43 Возникла проблема при оценке root проекта 'pdfcreator'. Не удалось найти метод $ () для аргументов [build_4fl1snfk49qgbmumnf1gg989h$_run_closure3$_closure11@d7c9f2a] для объекта типа org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

Если я даю версию прямо вот так , проект успешно строится

implementation group: "com.github.dhorions", name:'boxable', version:'1.5.bq'

Как я могу предоставить версии извне, как делал раньше?

Ответы [ 2 ]

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

Следующий синтаксис version:${boxableVersion} в вашем объявлении зависимости недействителен. Это не связано с вашей версией JDK, просто ${...} ничего не означает в Gradle DSL или синтаксисе Groovy.

Если вы хотите определить версию в свойстве 'ext', вы можете ссылаться на это свойство напрямую с помощью version: boxableVersion (свойства ext доступны непосредственно в скрипте через «groovy magi c»), или вы можете использовать Groovy интерполяцию строк (обратите внимание на двойное- цитата ")

 version: "${boxableVersion}"

Или проще:

implementation "com.github.dhorions:boxable:${boxableVersion}"
0 голосов
/ 07 мая 2020

Просто попробуйте:

ext {
    boxableVersion = '1.5.bq'
}
dependencies {
    implementation group: "com.github.dhorions", name:'boxable', version:"${boxableVersion}"
}
...