From b4e5bd69f6964999c255930cd228f55d77162d55 Mon Sep 17 00:00:00 2001 From: Gato Date: Sun, 7 Jun 2026 06:11:38 +0200 Subject: [PATCH] chore: migration Groovy DSL + Java 25 via container Podman MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Remplace build.gradle.kts par build.gradle (Groovy DSL) - Le Kotlin DSL est incompatible avec Java 25 (bug de parsing dans le compilateur Kotlin embarqué) - Toolchain configuré sur Java 25, build exécuté dans eclipse-temurin:25-jdk - Lombok 1.18.38 fixé explicitement (supporte Java 25) Co-Authored-By: Claude Sonnet 4.6 --- build.gradle | 69 +++++++++++++++++++++++++++++++++++++++++++++ build.gradle.kts | 69 --------------------------------------------- settings.gradle | 1 + settings.gradle.kts | 1 - 4 files changed, 70 insertions(+), 70 deletions(-) create mode 100644 build.gradle delete mode 100644 build.gradle.kts create mode 100644 settings.gradle delete mode 100644 settings.gradle.kts diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..0c40928 --- /dev/null +++ b/build.gradle @@ -0,0 +1,69 @@ +plugins { + id 'java' + id 'org.springframework.boot' version '3.4.1' + id 'io.spring.dependency-management' version '1.1.7' +} + +group = 'com.olhar' +version = '0.0.1-SNAPSHOT' + +java { + toolchain { + languageVersion = JavaLanguageVersion.of(25) + } +} + +repositories { + mavenCentral() +} + +ext { + testcontainersVersion = '1.20.4' +} + +dependencies { + // Spring Boot starters + implementation 'org.springframework.boot:spring-boot-starter-web' + implementation 'org.springframework.boot:spring-boot-starter-data-jpa' + implementation 'org.springframework.boot:spring-boot-starter-security' + implementation 'org.springframework.boot:spring-boot-starter-validation' + + // Database + runtimeOnly 'org.postgresql:postgresql' + implementation 'org.flywaydb:flyway-core' + implementation 'org.flywaydb:flyway-database-postgresql' + + // OpenAPI / Swagger + implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.7.0' + + // JWT + implementation 'io.jsonwebtoken:jjwt-api:0.12.6' + runtimeOnly 'io.jsonwebtoken:jjwt-impl:0.12.6' + runtimeOnly 'io.jsonwebtoken:jjwt-jackson:0.12.6' + + // Utils + compileOnly 'org.projectlombok:lombok:1.18.38' + annotationProcessor 'org.projectlombok:lombok:1.18.38' + + // Test + testImplementation 'org.springframework.boot:spring-boot-starter-test' + testImplementation 'org.springframework.security:spring-security-test' + testImplementation 'org.testcontainers:junit-jupiter' + testImplementation 'org.testcontainers:postgresql' + testCompileOnly 'org.projectlombok:lombok:1.18.38' + testAnnotationProcessor 'org.projectlombok:lombok:1.18.38' +} + +dependencyManagement { + imports { + mavenBom "org.testcontainers:testcontainers-bom:${testcontainersVersion}" + } +} + +tasks.named('test') { + useJUnitPlatform() +} + +tasks.named('bootJar') { + archiveFileName = 'olhar-api.jar' +} diff --git a/build.gradle.kts b/build.gradle.kts deleted file mode 100644 index 0132979..0000000 --- a/build.gradle.kts +++ /dev/null @@ -1,69 +0,0 @@ -import org.springframework.boot.gradle.tasks.bundling.BootJar - -plugins { - java - id("org.springframework.boot") version "3.4.1" - id("io.spring.dependency-management") version "1.1.7" -} - -group = "com.olhar" -version = "0.0.1-SNAPSHOT" - -java { - toolchain { - languageVersion = JavaLanguageVersion.of(21) - } -} - -repositories { - mavenCentral() -} - -val testcontainersVersion = "1.20.4" - -dependencies { - // Spring Boot starters - implementation("org.springframework.boot:spring-boot-starter-web") - implementation("org.springframework.boot:spring-boot-starter-data-jpa") - implementation("org.springframework.boot:spring-boot-starter-security") - implementation("org.springframework.boot:spring-boot-starter-validation") - - // Database - runtimeOnly("org.postgresql:postgresql") - implementation("org.flywaydb:flyway-core") - implementation("org.flywaydb:flyway-database-postgresql") - - // OpenAPI / Swagger - implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:2.7.0") - - // JWT - implementation("io.jsonwebtoken:jjwt-api:0.12.6") - runtimeOnly("io.jsonwebtoken:jjwt-impl:0.12.6") - runtimeOnly("io.jsonwebtoken:jjwt-jackson:0.12.6") - - // Utils - compileOnly("org.projectlombok:lombok") - annotationProcessor("org.projectlombok:lombok") - - // Test - testImplementation("org.springframework.boot:spring-boot-starter-test") - testImplementation("org.springframework.security:spring-security-test") - testImplementation("org.testcontainers:junit-jupiter") - testImplementation("org.testcontainers:postgresql") - testCompileOnly("org.projectlombok:lombok") - testAnnotationProcessor("org.projectlombok:lombok") -} - -dependencyManagement { - imports { - mavenBom("org.testcontainers:testcontainers-bom:${testcontainersVersion}") - } -} - -tasks.withType { - useJUnitPlatform() -} - -tasks.named("bootJar") { - archiveFileName.set("olhar-api.jar") -} diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 0000000..8a88bbd --- /dev/null +++ b/settings.gradle @@ -0,0 +1 @@ +rootProject.name = 'olhar-api' diff --git a/settings.gradle.kts b/settings.gradle.kts deleted file mode 100644 index 80b3cd2..0000000 --- a/settings.gradle.kts +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = "olhar-api"