plugins {
    id "java-library"
    id "maven-publish"
    id "org.springframework.boot"
}

jar {
    enabled = true
    archiveFileName = "${project.name}-${buildVersion}.${archiveExtension.getOrElse('.jar')}"
    manifest {
        attributes('Implementation-Title': project.name,
                'Implementation-Version': buildVersion)
    }
}
println("Build Version: $buildVersion")
bootJar {
    enabled = false

}

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

publishing {
    publications {
        mavenJava(MavenPublication) {
            from components.java
            version = buildVersion
        }
    }
}

dependencies {
    implementation "commons-beanutils:commons-beanutils:${beanutilsVersion}"
    implementation "commons-codec:commons-codec:${codecVersion}"
    implementation "org.apache.commons:commons-lang3:${lang3Version}"

    compileOnly "org.projectlombok:lombok:${lombokVersion}"
    annotationProcessor "org.projectlombok:lombok:${lombokVersion}"
}


publish.dependsOn(jar)