/*
 * Copyright 2016-2023 The jetcd authors
 *
 * Licensed under the Apache License, Version 2.0 (the 'License');
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an 'AS IS' BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

apply plugin: 'java-library'
apply plugin: 'maven-publish'
apply plugin: 'signing'

java {
    withJavadocJar()
    withSourcesJar()
}

publishing {
    publications {
        "${project.name}"(MavenPublication) {
            groupId = rootProject.group

            from components.java

            pom {
                name = project.name
                description = project.name
                url = "${gitProject}"

                scm {
                    url = "${gitProject}"
                    connection = "scm:${gitProject}"
                    developerConnection = "scm:${gitURL}"
                }

                licenses {
                    license {
                        name = 'The Apache Software License, Version 2.0'
                        url = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
                        distribution = 'repo'
                    }
                }

                developers {
                    developer {
                        id = 'lburgazzoli'
                        name = 'Luca Burgazzoli'
                        organization = 'Red Hat'
                        organizationUrl = 'http://redhat.com'
                    }
                    developer {
                        name = 'Fanmin Shi'
                        organization = 'CoreOS'
                        organizationUrl = 'http://coreos.com'
                    }
                    developer {
                        name = 'Xiang Li'
                        organization = 'CoreOS'
                        organizationUrl = 'http://coreos.com'
                    }
                    developer {
                        name = 'Anthony Romano'
                        organization = 'CoreOS'
                        organizationUrl = 'http://coreos.com'
                    }
                }
            }
        }
    }
}

signing {
    required {
        !version.endsWith('SNAPSHOT')
    }

    if (!version.endsWith('SNAPSHOT')) {
        useGpgCmd()
    }

    sign publishing.publications."${project.name}"
}

check.dependsOn javadoc

javadoc {
    if(JavaVersion.current().isJava9Compatible()) {
        options.addBooleanOption('html5', true)
    }

    exclude "**/io/etcd/jetcd/api/**"
}
