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

bootJar {
    enabled = false
}

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

publishing {
    publications {
        mavenJava(MavenPublication) {
            groupId = project.group
            artifactId = project.name
            version = version
            from components.java
        }
    }
}

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

    testImplementation 'junit:junit:4.12'
}

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