plugins {
    id 'java'
    id 'org.springframework.boot' version '3.3.1'
    id 'io.spring.dependency-management' version '1.1.5'
}

group = 'org.example'
version = '0.0.1-SNAPSHOT'

java {
    toolchain {
        languageVersion = JavaLanguageVersion.of(21)
    }
}

repositories {
    mavenCentral()
    mavenLocal()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation group: 'org.springframework.kafka', name: 'spring-kafka', version: '3.2.1'
    implementation group: 'org.springframework.boot', name: 'spring-boot-starter-data-jpa', version: '3.2.5'
    implementation group: 'com.fasterxml.jackson', name: 'jackson-bom', version: '2.17.1'
    implementation group: 'org.apache.kafka', name: 'kafka_2.13', version: '3.7.0'
    implementation 'org.springframework.boot:spring-boot-starter-actuator'
    implementation group: 'org.springframework.cloud', name: 'spring-cloud-starter-netflix-eureka-client', version: '4.1.2'
    implementation group: 'org.springframework.cloud', name: 'spring-cloud-starter-config', version: '4.1.1'
    compileOnly 'org.projectlombok:lombok'
    annotationProcessor 'org.projectlombok:lombok'
    implementation group: 'org.postgresql', name: 'postgresql', version: '42.7.3'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
    testRuntimeOnly 'org.junit.platform:junit-platform-launcher'

    implementation 'org.shuttle:shared:1.0.1'
}

tasks.named('test') {
    useJUnitPlatform()
}
