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

task androidSourcesJar(type: Jar) {
    archiveClassifier.set('sources')
    if (project.plugins.findPlugin("com.android.library")) {
        // For Android libraries
        from android.sourceSets.main.java.srcDirs
    }
}

artifacts {
    archives androidSourcesJar
}

group = PUBLISH_GROUP_ID
version = mavenCentralVersion

afterEvaluate {
    publishing {
        publications {
            release(MavenPublication) {
                // The coordinates of the library, being set from variables that
                // we'll set up later
                groupId PUBLISH_GROUP_ID
                artifactId PUBLISH_ARTIFACT_ID
                version mavenCentralVersion

                // Two artifacts, the `aar` (or `jar`) and the sources
                if (project.plugins.findPlugin("com.android.library")) {
                    from components.release
                } else {
                    artifact("$buildDir/libs/${project.getName()}-${version}.jar")
                }

                artifact androidSourcesJar

              // Mostly self-explanatory metadata
              pom {
                    name = PUBLISH_ARTIFACT_ID
                    description = 'Android version of Apple DNSSD Java API'
                    url = 'https://github.com/andriydruk/RxDNSSD'
                    licenses {
                        license {
                            name = 'The Apache Software License, Version 2.0'
                            url = 'https://github.com/andriydruk/RxDNSSD/blob/master/LICENSE'
                        }
                    }
                    developers {
                        developer {
                          id = 'andriydruk'
                          name = 'Andrew Druk'
                          email = 'adriy.druk@gmail.com'
                        }
                    }

                // Version control info - if you're using GitHub, follow the 
                // format as seen here
                scm {
                        connection = 'scm:git:github.com/andriydruk/RxDNSSD.git'
                        developerConnection = 'scm:git:ssh://github.com/andriydruk/RxDNSSD.git'
                        url = 'https://github.com/andriydruk/RxDNSSD/tree/master'
                    }
                }
            }
        }
    }
}

ext["signing.keyId"] = rootProject.ext["signing.keyId"]
ext["signing.password"] = rootProject.ext["signing.password"]
ext["signing.secretKeyRingFile"] = rootProject.ext["signing.secretKeyRingFile"]

signing {
    sign publishing.publications
}