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 = buildVersion
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}"

}

