From 46ddd3bd0e35b0da05eed2e0230fec3db9eabf62 Mon Sep 17 00:00:00 2001 From: Clinton Alexander Date: Fri, 2 Dec 2016 12:00:25 +0000 Subject: [PATCH] Publish utils no longer needs a configuration block per project, just one bintray configuration per project providing it fits certain criteria. --- gradle-plugins/build.gradle | 1 + gradle-plugins/cordformation/build.gradle | 6 ------ .../plugins/BintrayConfigExtension.groovy | 2 ++ .../plugins/BintrayPublishExtension.groovy | 7 ------- .../net/corda/plugins/PublishTasks.groovy | 21 +++++-------------- gradle-plugins/quasar-utils/build.gradle | 6 ------ 6 files changed, 8 insertions(+), 35 deletions(-) delete mode 100644 gradle-plugins/publish-utils/src/main/groovy/net/corda/plugins/BintrayPublishExtension.groovy diff --git a/gradle-plugins/build.gradle b/gradle-plugins/build.gradle index 6ca6560323..a0b34e8bf1 100644 --- a/gradle-plugins/build.gradle +++ b/gradle-plugins/build.gradle @@ -36,6 +36,7 @@ bintrayConfig { licenses = ['Apache-2.0'] gpgSign = true gpgPassphrase = System.getenv('CORDA_BINTRAY_GPG_PASSPHRASE') + publications = ['cordformation', 'quasar-utils'] } // Aliasing the publishToMavenLocal for simplicity. diff --git a/gradle-plugins/cordformation/build.gradle b/gradle-plugins/cordformation/build.gradle index 589a4027ce..1a650e0bd0 100644 --- a/gradle-plugins/cordformation/build.gradle +++ b/gradle-plugins/cordformation/build.gradle @@ -13,12 +13,6 @@ repositories { mavenCentral() } -bintrayPublish { - name = 'cordformation' - publications = ['cordformation'] - dryRun = false -} - publishing { publications { cordformation(MavenPublication) { diff --git a/gradle-plugins/publish-utils/src/main/groovy/net/corda/plugins/BintrayConfigExtension.groovy b/gradle-plugins/publish-utils/src/main/groovy/net/corda/plugins/BintrayConfigExtension.groovy index 4f189b978b..6f703ce4d9 100644 --- a/gradle-plugins/publish-utils/src/main/groovy/net/corda/plugins/BintrayConfigExtension.groovy +++ b/gradle-plugins/publish-utils/src/main/groovy/net/corda/plugins/BintrayConfigExtension.groovy @@ -8,4 +8,6 @@ class BintrayConfigExtension { String[] licenses Boolean gpgSign String gpgPassphrase + String[] publications + Boolean dryRun } \ No newline at end of file diff --git a/gradle-plugins/publish-utils/src/main/groovy/net/corda/plugins/BintrayPublishExtension.groovy b/gradle-plugins/publish-utils/src/main/groovy/net/corda/plugins/BintrayPublishExtension.groovy deleted file mode 100644 index 927d411877..0000000000 --- a/gradle-plugins/publish-utils/src/main/groovy/net/corda/plugins/BintrayPublishExtension.groovy +++ /dev/null @@ -1,7 +0,0 @@ -package net.corda.plugins - -class BintrayPublishExtension { - String name - Boolean dryRun - String[] publications -} \ No newline at end of file diff --git a/gradle-plugins/publish-utils/src/main/groovy/net/corda/plugins/PublishTasks.groovy b/gradle-plugins/publish-utils/src/main/groovy/net/corda/plugins/PublishTasks.groovy index ed8c579057..7353ac4d6d 100644 --- a/gradle-plugins/publish-utils/src/main/groovy/net/corda/plugins/PublishTasks.groovy +++ b/gradle-plugins/publish-utils/src/main/groovy/net/corda/plugins/PublishTasks.groovy @@ -27,33 +27,22 @@ class PublishTasks implements Plugin { } project.extensions.create("bintrayConfig", BintrayConfigExtension) - project.extensions.create("bintrayPublish", BintrayPublishExtension) - def bintrayValues = project.extensions.findByName("bintrayPublish") def bintrayConfig = project.rootProject.extensions.findByName('bintrayConfig') - if((bintrayConfig != null) && (bintrayValues != null)) { - // 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? + if((bintrayConfig != null) && (bintrayConfig.publications)) { project.configure(project) { apply plugin: 'com.jfrog.bintray' } def bintray = project.extensions.findByName("bintray") + println(bintrayConfig.publications.findAll { it == project.name }) project.logger.info("Configuring bintray for ${project.name}") bintray.user = bintrayConfig.user bintray.key = bintrayConfig.key - bintray.publications = bintrayValues.publications - bintray.dryRun = bintrayValues.dryRun ?: false + bintray.publications = bintrayConfig.publications.findAll { it == project.name } + bintray.dryRun = bintrayConfig.dryRun ?: false bintray.pkg.repo = bintrayConfig.repo - bintray.pkg.name = bintrayValues.name ?: project.name + bintray.pkg.name = project.name bintray.pkg.userOrg = bintrayConfig.org bintray.pkg.licenses = bintrayConfig.licenses bintray.pkg.version.gpg.sign = bintrayConfig.gpgSign ?: false diff --git a/gradle-plugins/quasar-utils/build.gradle b/gradle-plugins/quasar-utils/build.gradle index 7e865d7701..ee31ed4a1f 100644 --- a/gradle-plugins/quasar-utils/build.gradle +++ b/gradle-plugins/quasar-utils/build.gradle @@ -11,12 +11,6 @@ repositories { mavenCentral() } -bintrayPublish { - name = 'quasar-utils' - publications = ['quasarUtils'] - dryRun = false -} - publishing { publications { quasarUtils(MavenPublication) {