Publish utils no longer needs a configuration block per project, just one bintray configuration per project providing it fits certain criteria.

This commit is contained in:
Clinton Alexander 2016-12-02 12:00:25 +00:00
parent 4eb7d3db11
commit 46ddd3bd0e
6 changed files with 8 additions and 35 deletions

View File

@ -36,6 +36,7 @@ bintrayConfig {
licenses = ['Apache-2.0'] licenses = ['Apache-2.0']
gpgSign = true gpgSign = true
gpgPassphrase = System.getenv('CORDA_BINTRAY_GPG_PASSPHRASE') gpgPassphrase = System.getenv('CORDA_BINTRAY_GPG_PASSPHRASE')
publications = ['cordformation', 'quasar-utils']
} }
// Aliasing the publishToMavenLocal for simplicity. // Aliasing the publishToMavenLocal for simplicity.

View File

@ -13,12 +13,6 @@ repositories {
mavenCentral() mavenCentral()
} }
bintrayPublish {
name = 'cordformation'
publications = ['cordformation']
dryRun = false
}
publishing { publishing {
publications { publications {
cordformation(MavenPublication) { cordformation(MavenPublication) {

View File

@ -8,4 +8,6 @@ class BintrayConfigExtension {
String[] licenses String[] licenses
Boolean gpgSign Boolean gpgSign
String gpgPassphrase String gpgPassphrase
String[] publications
Boolean dryRun
} }

View File

@ -1,7 +0,0 @@
package net.corda.plugins
class BintrayPublishExtension {
String name
Boolean dryRun
String[] publications
}

View File

@ -27,33 +27,22 @@ class PublishTasks implements Plugin<Project> {
} }
project.extensions.create("bintrayConfig", BintrayConfigExtension) project.extensions.create("bintrayConfig", BintrayConfigExtension)
project.extensions.create("bintrayPublish", BintrayPublishExtension)
def bintrayValues = project.extensions.findByName("bintrayPublish")
def bintrayConfig = project.rootProject.extensions.findByName('bintrayConfig') def bintrayConfig = project.rootProject.extensions.findByName('bintrayConfig')
if((bintrayConfig != null) && (bintrayValues != null)) { if((bintrayConfig != null) && (bintrayConfig.publications)) {
// TODO AM:
// Problem 1. Bootstrapping - do not want root to depend on this project
// Problem 2. This project's extension is not available here
// Problem 3. Bintray's extension is already configured after evaluation
// Possible solutions:
// name: project.name
// publications: project.name (make it a forced convention)
// dryRun: move to root.
// Problem 4: Root project therefore cannot be published
// Solution: Why use this plugin if you only have a root project?
project.configure(project) { project.configure(project) {
apply plugin: 'com.jfrog.bintray' apply plugin: 'com.jfrog.bintray'
} }
def bintray = project.extensions.findByName("bintray") def bintray = project.extensions.findByName("bintray")
println(bintrayConfig.publications.findAll { it == project.name })
project.logger.info("Configuring bintray for ${project.name}") project.logger.info("Configuring bintray for ${project.name}")
bintray.user = bintrayConfig.user bintray.user = bintrayConfig.user
bintray.key = bintrayConfig.key bintray.key = bintrayConfig.key
bintray.publications = bintrayValues.publications bintray.publications = bintrayConfig.publications.findAll { it == project.name }
bintray.dryRun = bintrayValues.dryRun ?: false bintray.dryRun = bintrayConfig.dryRun ?: false
bintray.pkg.repo = bintrayConfig.repo bintray.pkg.repo = bintrayConfig.repo
bintray.pkg.name = bintrayValues.name ?: project.name bintray.pkg.name = project.name
bintray.pkg.userOrg = bintrayConfig.org bintray.pkg.userOrg = bintrayConfig.org
bintray.pkg.licenses = bintrayConfig.licenses bintray.pkg.licenses = bintrayConfig.licenses
bintray.pkg.version.gpg.sign = bintrayConfig.gpgSign ?: false bintray.pkg.version.gpg.sign = bintrayConfig.gpgSign ?: false

View File

@ -11,12 +11,6 @@ repositories {
mavenCentral() mavenCentral()
} }
bintrayPublish {
name = 'quasar-utils'
publications = ['quasarUtils']
dryRun = false
}
publishing { publishing {
publications { publications {
quasarUtils(MavenPublication) { quasarUtils(MavenPublication) {