| /* |
| * Copyright 2016-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. |
| */ |
| |
| // Configures publishing of Maven artifacts to Bintray |
| |
| apply plugin: 'maven' |
| apply plugin: 'maven-publish' |
| apply plugin: 'com.jfrog.bintray' |
| |
| apply from: project.rootProject.file('gradle/maven-central.gradle') |
| |
| def platform = platformOf(project) |
| def coroutines_core = platformLib("kotlinx-coroutines-core", platform) |
| |
| // ------------- tasks |
| |
| def isNative = project.name.endsWith("native") |
| |
| task sourcesJar(type: Jar) { |
| classifier = 'sources' |
| if (!isNative) { |
| from sourceSets.main.allSource |
| } |
| |
| if (project.name == coroutines_core && platform != "common") { |
| // add common source, too |
| from rootProject.file("common/$project.name-common/src/main/kotlin") |
| } |
| } |
| |
| publishing { |
| repositories { |
| maven { url = 'https://kotlin.bintray.com/kotlinx' } |
| } |
| |
| publications { |
| maven(MavenPublication) { |
| if (!isNative) { |
| from components.java |
| artifact javadocJar |
| artifact sourcesJar |
| } |
| pom.withXml(configureMavenCentralMetadata) |
| } |
| } |
| } |
| |
| bintray { |
| user = project.hasProperty('bintrayUser') ? project.property('bintrayUser') : System.getenv('BINTRAY_USER') |
| key = project.hasProperty('bintrayApiKey') ? project.property('bintrayApiKey') : System.getenv('BINTRAY_API_KEY') |
| override = true // for multi-platform Kotlin/Native publishing |
| publications = ['maven'] |
| pkg { |
| userOrg = 'kotlin' |
| repo = 'kotlinx' |
| name = 'kotlinx.coroutines' |
| version { |
| name = project.version |
| vcsTag = project.version |
| released = new Date() |
| } |
| } |
| } |
| |
| // TODO :kludge this is required for K/N publishing |
| bintrayUpload.dependsOn publishToMavenLocal |
| |
| // This is for easier debugging of bintray uploading problems |
| bintrayUpload.doFirst { |
| publications = project.publishing.publications.findAll { !it.name.contains('-test') }.collect { |
| println("Uploading artifact '$it.groupId:$it.artifactId:$it.version' from publication '$it.name'") |
| it |
| } |
| } |