plugins {
    id 'war'
    id 'org.springframework.boot'
    id 'org.jetbrains.kotlin.jvm'
    id 'org.jetbrains.kotlin.plugin.jpa'
    id 'org.jetbrains.kotlin.plugin.spring'
}

apply plugin: 'io.spring.dependency-management'

group = 'com.supwisdom'
version = payapiVersion
sourceCompatibility = jdkVersion

repositories {
    mavenCentral()
}

war {
    baseName = "payapi-service"
    manifest {
        attributes('Payapi-Version': rootProject.version)
        writeTo(project.buildDir + "/classes/MATE-INF.MF")
    }
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.boot:spring-boot-starter-security'
    implementation 'org.springframework.security:spring-security-oauth2-client'
    implementation 'org.springframework.security:spring-security-oauth2-jose'
    implementation 'com.fasterxml.jackson.module:jackson-module-kotlin'
    implementation 'org.jetbrains.kotlin:kotlin-reflect'
    implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8'

    implementation 'org.postgresql:postgresql:42.2.5'
    implementation 'com.jcabi:jcabi-manifests:1.1'
    implementation group: 'com.google.code.gson', name: 'gson', version: '2.8.5'
    implementation group: 'com.sun.jersey', name: 'jersey-client', version: '1.19'
    implementation group: 'javax.servlet', name: 'jstl', version: '1.2'
    implementation group: 'taglibs', name: 'standard', version: '1.1.2'
    implementation group: 'javax.servlet.jsp', name: 'jsp-api', version: '2.1'
    implementation group: 'log4j', name: 'log4j', version: '1.2.16'
    implementation files('libs/ojdbc6.jar')


    providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

compileKotlin {
    kotlinOptions {
        freeCompilerArgs = ['-Xjsr305=strict']
        jvmTarget = jdkVersion
    }
}

compileTestKotlin {
    kotlinOptions {
        freeCompilerArgs = ['-Xjsr305=strict']
        jvmTarget = jdkVersion
    }
}
