plugins {
    id 'org.springframework.boot' version '2.7.0'
    id "org.sonarqube" version "3.3"
    id 'io.spring.dependency-management' version '1.0.11.RELEASE'
    id 'java'
}

group = 'org.egovframe.cloud'
version = '0.1'
sourceCompatibility = '1.8'

repositories {
    mavenCentral()
}

ext {
    set('springCloudVersion', "2021.0.3")
    set('log4j2.version', "2.17.2") // log4j 보안 패치
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-actuator'
    implementation 'org.springframework.boot:spring-boot-starter-security'
    implementation 'org.springframework.boot:spring-boot-starter-webflux'
    implementation 'org.springframework.cloud:spring-cloud-starter-gateway'
    implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client'
    implementation 'org.springframework.cloud:spring-cloud-starter-config'    // config
    implementation 'org.springframework.cloud:spring-cloud-starter-bootstrap' // config
    implementation 'org.springframework.cloud:spring-cloud-starter-bus-amqp'  // bus
    implementation 'org.apache.tomcat.embed:tomcat-embed-el:9.0.73'
    implementation 'net.logstash.logback:logstash-logback-encoder:7.2'        // logstash logback
    implementation 'io.jsonwebtoken:jjwt:0.9.1'
    implementation 'javax.xml.bind:jaxb-api:2.3.1'

    implementation 'org.springdoc:springdoc-openapi-webflux-ui:1.6.9'

    compileOnly 'org.projectlombok:lombok'
    annotationProcessor 'org.projectlombok:lombok'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

dependencyManagement {
    imports {
        mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
    }
}

test {
    useJUnitPlatform()
}
