plugins {
    id 'org.springframework.boot' version '2.7.17'
    id 'io.spring.dependency-management' version '1.1.3'
    id 'java'
//	id "org.sonarqube" version "4.2.1.3168"
}

bootJar.enabled = true
jar.enabled = false

group = 'com.eactive'
version = '2.0.0'
sourceCompatibility = "1.8"
targetCompatibility = "1.8"

configurations {
    annotationProcessor
    configureEach {
        exclude module: 'spring-boot-starter-logging'
    }
}

compileJava {
    options.annotationProcessorPath = configurations.annotationProcessor
    options.encoding = 'UTF-8'
}

repositories {
    mavenCentral()
}

dependencies {
    annotationProcessor "org.mapstruct:mapstruct-processor:1.5.5.Final"

    implementation 'org.mapstruct:mapstruct:1.5.5.Final'
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'org.springframework.data:spring-data-envers'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.boot:spring-boot-starter-validation'
    implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
    implementation 'org.springframework.boot:spring-boot-starter-security'
    implementation 'org.springframework.boot:spring-boot-starter-log4j2'
    implementation 'org.springframework.boot:spring-boot-starter-websocket'
    implementation 'nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect'
    implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity5'
    implementation 'com.navercorp.lucy:lucy-xss-servlet:2.0.1'
    implementation group: 'com.lmax', name: 'disruptor', version: '3.4.4'

//	implementation 'io.springfox:springfox-boot-starter:3.0.0'
    implementation 'org.apache.httpcomponents:httpclient:4.5.14'
    implementation 'com.hazelcast:hazelcast:4.2.8'
    implementation 'com.hazelcast:hazelcast-spring:4.2.8'

//    implementation("org.graalvm.polyglot:polyglot:24.1.0")
//    implementation("org.graalvm.polyglot:js:24.1.0")


    implementation 'org.apache.commons:commons-lang3:3.12.0'
    implementation 'org.apache.commons:commons-math3:3.6.1'
    implementation 'commons-io:commons-io:2.11.0'
    implementation 'com.jayway.jsonpath:json-path:2.9.0'
    implementation 'io.netty:netty-all:4.1.97.Final'

    implementation('commons-beanutils:commons-beanutils:1.9.4') {
        exclude group: 'commons-collections', module: 'commons-collections'
    }
    runtimeOnly 'com.h2database:h2:1.4.200'
    runtimeOnly 'org.springframework.boot:spring-boot-devtools'
    implementation 'org.mdkt.compiler:InMemoryJavaCompiler:1.3.0'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

bootJar {
    archiveFileName = "elink-test-master.jar"
}

test {
    useJUnitPlatform()
}
