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 = gitVersion()

group = rootProject.group
version = '1'
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 {
    name 'harbor.supwisdom.com/dali/ynrcc:' + version
    println(jar.archivePath)
    files jar.archivePath
}

docker.dependsOn(jar)

dependencies {

    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.boot:spring-boot-autoconfigure'
    implementation 'commons-codec:commons-codec:1.12'
    implementation 'com.jcabi:jcabi-manifests:1.1'
    implementation 'org.slf4j:slf4j-parent:1.7.26'
    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: 'commons-codec', name: 'commons-codec', version: '1.6'
    implementation 'org.dom4j:dom4j:2.1.1'
    implementation 'commons-beanutils:commons-beanutils:1.9.3'
    implementation 'commons-net:commons-net:3.6'

    implementation project(':payapi-common')

    testImplementation 'org.springframework.boot:spring-boot-starter-test'
    testImplementation 'io.rest-assured:rest-assured:3.3.0'
    testImplementation 'io.rest-assured:spring-mock-mvc:3.3.0'
    testImplementation 'org.hamcrest:hamcrest:2.1'
}

