plugins {
    id 'java'
    id 'org.springframework.boot'
    id "com.palantir.git-version"
    id 'com.palantir.docker'
}

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

def ynrccVersion = version
def details = versionDetails()

sourceCompatibility = jdkVersion
def ynrccStartClass = 'com.supwisdom.agent.YnrccAgentApplication'

println("Build version: $ynrccVersion")

bootJar {
    mainClassName = ynrccStartClass
    manifest {
        attributes('YnrccAgent-Version': ynrccVersion)
    }
}

jar {
    baseName = 'ynrcc-agent'
}

docker {
    def imageVersion
    if (details.gitHashFull.startsWith(details.lastTag) || !details.isCleanTag) {
        imageVersion = 'dev'
    } else {
        imageVersion = details.lastTag
    }
    println("Docker image tag : " + imageVersion)
    name 'harbor.supwisdom.com/dali/ynrcc:' + imageVersion
    println(jar.archivePath)
    files jar.archivePath
}

docker.dependsOn(jar)

dependencies {

    implementation project(":payapi-common")

    implementation "org.springframework.boot:spring-boot-starter-web"
    implementation "org.springframework.boot:spring-boot-autoconfigure"
    implementation "javax.ws.rs:javax.ws.rs-api:${javaxWSRSVersion}"

    implementation "org.dom4j:dom4j:${dom4jVersion}"
    implementation "commons-beanutils:commons-beanutils:${beanutilsVersion}"
    implementation "commons-net:commons-net:${commonNetVersion}"

}

