Я использую соглашения Gradle, как описано здесь: https://docs.gradle.org/current/samples/sample_convention_plugins.html
И в плагине соглашения я применяю плагин (io.freefair.gradle:lombok-plugin:6.5.1
), однако теперь мне нужно переопределить зависимость, которую он использует (мне нужно org.projectlombok:lombok:1.18.22
, а не 1.18.24
)
Я пробовал это:
buildscript {
dependencies {
classpath 'org.projectlombok:lombok:1.18.22'
}
}
plugins {
id 'groovy-gradle-plugin'
}
...
dependencies {
implementation 'io.freefair.gradle:lombok-plugin:6.5.1'
...
implementation 'org.projectlombok:lombok:1.18.22'
}
Но использовалась версия 1.18.24
. Я также пытался добавить это в свой build.gradle
:
buildscript {
dependencies {
classpath 'org.projectlombok:lombok:1.18.22'
}
}
plugins {
id 'billforward.java-conventions'
}
но все же использовалось 1.18.24
.
Кроме того, две основные проблемы, которые я пытаюсь решить:
Версия ломбока, используемая io.freefair.lombok
, может быть настроена с помощью свойства расширения lombok
:
plugins {
id "io.freefair.lombok" version "6.5.1"
}
lombok.version = "1.18.22"
Это задокументировано здесь: https://docs.freefair.io/gradle-plugins/6.5.1/reference/#_io_freefair_lombok_base
Добавление самого ломбока в путь к классам buildscript (или путь к классам во время выполнения вашего плагина gradle) ничего не даст.
Отлично, это решило проблему для меня с обновлением. Следующая проблема заключается в том, что github.com/freefair/gradle-plugins/issues/549 на самом деле не решает проблему!
Это строка кода, где плагин lombok добавляет зависимость от Lombok: github.com/freefair/gradle-plugins/blob/…