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

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

def sdkVersion = gitVersion()


apply from: rootProject.file('gradle/swnx-publish.gradle')

publishing {
    publications {
        mavenJava(MavenPublication) {
            groupId = project.group
            artifactId = 'payapi-sdk'
            version = sdkVersion
            from components.java
        }
    }
}

bootJar {
    enabled = false
}

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

    implementation "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
    implementation "org.springframework.cloud:spring-cloud-starter-openfeign"

}

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

publish.dependsOn(jar)

tasks.withType(JavaCompile) {
    options.encoding = "UTF-8"
}
