Я только что обнаружил странную проблему.
Последние недели я работал над одним проектом. С самого начала я использовал gradle в качестве инструмента сборки и некоторые аннотации ломбока.
Сегодня утром сборка сломалась, ошибка в том, что код ломбока не вводится.
С помощью git bisect Я нашел вчерашний коммит, который работал нормально. Глядя на разницу, никаких изменений в файлах конфигурации не было.
Теперь, когда я переключаюсь на более новую фиксацию, я могу без проблем построить проект (со всеми моими новыми изменениями), но если я очищу проект, проблема здесь снова.
Подводя итог
- Если я удалю каталог сборки, а затем построю проект, он сломается, потому что код, введенный ломбоком, отсутствует.
- Если я проверю какой-то конкретный коммит, а затем построю, все будет хорошо, когда я верну в самую новую точку и перестрою проект.
Это мой build.gradle. kts файл
plugins {
java
id("io.freefair.lombok") version "5.1.0"
}
group = "example"
version = "1.0-SNAPSHOT"
repositories {
mavenCentral()
}
dependencies {
testImplementation("org.junit.jupiter", "junit-jupiter-api", "5.6.2")
testRuntimeOnly("org.junit.jupiter", "junit-jupiter-engine", "5.6.2")
testImplementation("org.assertj", "assertj-core", "3.15.0")
}
configure<JavaPluginConvention> {
sourceCompatibility = JavaVersion.VERSION_1_8
}
tasks.test {
useJUnitPlatform()
}
tasks.jar {
manifest {
attributes(
"Main-Class" to "my.main.Class"
)
}
}
Как видите, у меня даже нет зависимостей времени выполнения (это требование, jar должен быть полностью независимым).
По правде говоря, я могу жить с это странное исправление прыжков назад и вперед при моих коммитах, но тот факт, что это происходит, и я не знаю, почему меня убивает.