From c5e52b124b148ebc83b155894c6a0f18989e1352 Mon Sep 17 00:00:00 2001 From: Ilya Gorbunov Date: Sat, 1 Apr 2017 07:02:50 +0300 Subject: [PATCH] Prepare for publishing to bintray and maven central. --- libraries/build.gradle | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/libraries/build.gradle b/libraries/build.gradle index e27a926d885..515956bef30 100644 --- a/libraries/build.gradle +++ b/libraries/build.gradle @@ -98,6 +98,9 @@ static def configurePublishing(Project project) { apply plugin: 'maven' apply plugin: 'signing' + project.ext['signing.keyId'] = project.properties['kotlin.key.name'] + project.ext['signing.password'] = project.properties['kotlin.key.passphrase'] + signing { required { (project.properties["signingRequired"] ?: false) } sign configurations.archives @@ -114,14 +117,23 @@ static def configurePublishing(Project project) { } uploadArchives { + def properties = project.properties + Map repositoryProviders = ['sonatype-nexus-staging' : 'sonatype', 'sonatype-nexus-snapshots' : 'sonatype'] + String repo = properties['deploy-repo'] + String repoProvider = repositoryProviders.get(repo, repo) + String repoUrl = properties["deployRepoUrl"] ?: properties["deploy-url"] ?: "file://${rootProject.buildDir}/repo" + String username = properties["deployRepoUsername"] ?: properties["kotlin.${repoProvider}.user"] + String password = properties["deployRepoPassword"] ?: properties["kotlin.${repoProvider}.password"] + repositories { mavenDeployer { - beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) } - repository(url: project.properties["deployRepoUrl"] ?: "file://${rootProject.buildDir}/repo") { - authentication( - userName: project.properties["deployRepoUsername"], - password: project.properties["deployRepoPassword"] - ) + beforeDeployment { MavenDeployment deployment -> + if (signing.required) + signing.signPom(deployment) + } + + repository(url: repoUrl) { + authentication(userName: username, password: password) } pom.project { name "${project.group}:${project.name}"