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


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

group = rootProject.group

def sdkVersion = gitVersion()

publishing {
    publications {
        mavenJava(MavenPublication) {
            groupId = project.group
            artifactId = 'payapi-sdk'
            version = sdkVersion
            from components.java
        }
    }
    repositories {
        maven {
            // change URLs to point to your repos, e.g. http://my.org/repo
            def releasesRepoUrl = "http://ykt-nx.supwisdom.com/repository/ecard-repo/"
            def snapshotsRepoUrl = "http://ykt-nx.supwisdom.com/repository/ecard-repo/snapshot/"
            url = version.endsWith('dirty') ? snapshotsRepoUrl : releasesRepoUrl
            credentials(PasswordCredentials) {
                username = nxUser
                password = nxPassword
            }
        }
    }
}

bootJar {
    enabled = false
}

dependencies {
    implementation project(':payapi-common')

    implementation 'org.springframework.cloud:spring-cloud-dependencies:Finchley.SR3'
    implementation 'org.springframework.cloud:spring-cloud-starter-openfeign:2.1.2.RELEASE'

    implementation 'javax.servlet:javax.servlet-api:4.0.1'
//    compile 'com.github.mwiede:feign-validation:1.0'

    testImplementation 'org.springframework:spring-test'
    testImplementation 'org.springframework.boot:spring-boot-test'
    testImplementation 'junit:junit:4.12'
    testAnnotationProcessor 'org.projectlombok:lombok:1.18.8'
    testCompileOnly 'org.projectlombok:lombok:1.18.8'
    testImplementation 'org.hamcrest:hamcrest:2.1'
    testImplementation project(':payapi-common')

}

jar {
    enabled = true
    baseName = "payapi-sdk"
    manifest {
        attributes('Payapi-SDK-Version': sdkVersion)
    }
}

publish.dependsOn(jar)