apply plugin: 'java-library'
apply plugin: 'org.sonarqube'
apply plugin: 'jacoco'
apply plugin: 'com.jfrog.bintray'
apply plugin: 'com.github.dcendents.android-maven'

compileJava.options.encoding = "UTF-8"
compileTestJava.options.encoding = "UTF-8"

ext {
    PUBLISH_GROUP_ID = GROUP_ID
    PUBLISH_ARTIFACT_ID = 'api'
    PUBLISH_VERSION = System.getenv('GIT_TAG')
}

test {
    testLogging {
        events "passed", "skipped", "failed", "standardOut", "standardError"
        outputs.upToDateWhen {false}
        showStandardStreams = true
    }
}

jacocoTestReport {
    reports {
        xml.enabled true
    }
}

dependencies {
    implementation 'org.jsoup:jsoup:1.10.3'
    implementation 'org.apache.commons:commons-lang3:3.7'
    implementation 'com.google.code.gson:gson:2.8.2'

    testImplementation 'junit:junit:4.12'
    testImplementation 'org.mockito:mockito-core:2.13.0'
}

version = PUBLISH_VERSION
group = GROUP_ID

sonarqube {
    properties {
        property "sonar.projectName", GROUP_ID + ":api"
        property "sonar.projectKey", GROUP_ID + ":wulkanowy-api"
    }
}

def siteUrl = 'https://github.com/wulkanowy/wulkanowy'
def gitUrl = 'https://github.com/wulkanowy/wulkanowy.git'

bintray {
    user = System.getenv('BINTRAY_USER')
    key = System.getenv('BINTRAY_KEY')
    configurations = ['archives']
    pkg {
        repo = 'wulkanowy'
        name = 'api'
        userOrg = 'wulkanowy'
        licenses = ['Apache-2.0']
        vcsUrl = gitUrl
        labels = ['aar', 'android', 'wulkanowy', 'api']
        publicDownloadNumbers = true
        publish = true

        version {
            name = PUBLISH_VERSION
            vcsTag = PUBLISH_VERSION
            released  = new Date()
        }
    }
}

install {
    repositories.mavenInstaller {
        pom {
            project {
                packaging 'aar'
                name 'Bintray publish Gradle aar'
                url siteUrl
                licenses {
                    license {
                        name 'The Apache Software License, Version 2.0'
                        url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
                    }
                }
                developers {
                    developer {
                        id 'mklkj'
                        name 'MikoĊ‚aj Pich'
                        email 'm.pich@outlook.com'
                    }
                }
                scm {
                    connection gitUrl
                    developerConnection gitUrl
                    url siteUrl
                }
            }
        }
    }
}

task sourcesJar(type: Jar, dependsOn: classes) {
    classifier = 'sources'
    from sourceSets.main.allSource
}

task javadocJar(type: Jar, dependsOn: javadoc) {
    classifier = 'javadoc'
    from javadoc.destinationDir
}

artifacts {
    archives sourcesJar
    archives javadocJar
}