Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id A37A1200C0A for ; Fri, 13 Jan 2017 16:58:17 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id A2136160B32; Fri, 13 Jan 2017 15:58:17 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id AB95F160B5C for ; Fri, 13 Jan 2017 16:58:15 +0100 (CET) Received: (qmail 57208 invoked by uid 500); 13 Jan 2017 15:58:14 -0000 Mailing-List: contact commits-help@groovy.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@groovy.apache.org Delivered-To: mailing list commits@groovy.apache.org Received: (qmail 56785 invoked by uid 99); 13 Jan 2017 15:58:14 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 13 Jan 2017 15:58:14 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 936E3F174A; Fri, 13 Jan 2017 15:58:14 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: sunlan@apache.org To: commits@groovy.apache.org Date: Fri, 13 Jan 2017 15:58:26 -0000 Message-Id: <39d2e46f1d154d17bddff916a4095f3e@git.apache.org> In-Reply-To: <84368187387f49d6b47571ea70dd7650@git.apache.org> References: <84368187387f49d6b47571ea70dd7650@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [13/22] groovy git commit: push signing of artifacts into the main build instead of the groovy-release repo (more tweaks - exclude extra artifacts from root project publication) archived-at: Fri, 13 Jan 2017 15:58:17 -0000 push signing of artifacts into the main build instead of the groovy-release repo (more tweaks - exclude extra artifacts from root project publication) Project: http://git-wip-us.apache.org/repos/asf/groovy/repo Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/cf07fc0a Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/cf07fc0a Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/cf07fc0a Branch: refs/heads/parrot Commit: cf07fc0a4840a1df56cf1a74047b278bd3fa7328 Parents: adab220 Author: paulk Authored: Sat Jan 7 13:22:36 2017 +1000 Committer: paulk Committed: Sat Jan 7 14:07:42 2017 +1000 ---------------------------------------------------------------------- gradle/bintray.gradle | 88 ++++++++++++---------------------------------- gradle/upload.gradle | 20 ++++++++--- 2 files changed, 38 insertions(+), 70 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/groovy/blob/cf07fc0a/gradle/bintray.gradle ---------------------------------------------------------------------- diff --git a/gradle/bintray.gradle b/gradle/bintray.gradle index 01142ce..ee3a50b 100644 --- a/gradle/bintray.gradle +++ b/gradle/bintray.gradle @@ -46,6 +46,7 @@ allprojects { } publish { repository { + excludePatterns = 'org/codehaus/groovy/groovy/*/groovy-all*,org/codehaus/groovy/groovy/*/groovy-backports*,org/codehaus/groovy/groovy/*/groovy-binary*' repoKey = project.hasProperty('bintrayRepoKey') ? project.bintrayRepoKey : 'oss-snapshot-local' //The Artifactory repository key to publish to //when using oss.jfrog.org the credentials are from Bintray. For local build we expect them to be found in //~/.gradle/gradle.properties, otherwise to be set in the build server @@ -57,78 +58,35 @@ allprojects { } artifactoryPublish { + def curDate = new Date() + def pomSource = { a -> "$projectDir/target/poms/pom-${a.name - 'groovy-'}.xml" } + def destBase = { a -> "org/codehaus/groovy/${a.name}/${version}/${a.name}-${version}${a.classifier ? '-' + a.classifier : ''}" } + def newDetails = { orig, newFile, newExt, newType -> gradleDeployDetails(new DefaultPublishArtifact( + orig.name, newExt, newType, orig.classifier, curDate, newFile), 'artifacts', destBase(orig) + '.' + newExt) } + def makeTransformedDetails = { orig -> newDetails(orig, orig.file, orig.extension, orig.extension) } + def makeTransformedPomDetails = { orig -> newDetails(orig, file(pomSource(orig)), 'pom', 'pom') } + def makeTransformedPomSigDetails = { orig -> newDetails(orig, file(pomSource(orig) + '.asc'), 'pom.asc', 'asc') } mavenDescriptor = new File("$projectDir/target/poms/pom-groovy.xml") doFirst{ - def curDate = new Date() - def additionalFiles = [ - gradleDeployDetails(new DefaultPublishArtifact("groovy-all", "jar", "jar", null, - curDate, file("$projectDir/target/libs/groovy-all-${version}.jar")), 'artifacts', - "org/codehaus/groovy/groovy-all/${version}/groovy-all-${version}.jar"), - gradleDeployDetails(new DefaultPublishArtifact("groovy-all", "jar", "jar", 'sources', - curDate, file("$projectDir/target/libs/groovy-all-${version}-sources.jar")), 'artifacts', - "org/codehaus/groovy/groovy-all/${version}/groovy-all-${version}-sources.jar"), - gradleDeployDetails(new DefaultPublishArtifact("groovy-all", "jar", "jar", 'javadoc', - curDate, file("$projectDir/target/libs/groovy-all-${version}-javadoc.jar")), 'artifacts', - "org/codehaus/groovy/groovy-all/${version}/groovy-all-${version}-javadoc.jar"), - gradleDeployDetails(new DefaultPublishArtifact("groovy-all", "jar", "jar", 'groovydoc', - curDate, file("$projectDir/target/libs/groovy-all-${version}-groovydoc.jar")), 'artifacts', - "org/codehaus/groovy/groovy-all/${version}/groovy-all-${version}-groovydoc.jar"), - gradleDeployDetails(new DefaultPublishArtifact("groovy-all", "jar", "jar", 'indy', - curDate, file("$projectDir/target/libs/groovy-all-${version}-indy.jar")), 'artifacts', - "org/codehaus/groovy/groovy-all/${version}/groovy-all-${version}-indy.jar"), - gradleDeployDetails(new DefaultPublishArtifact("groovy-all", "pom", "pom", null, - curDate, file("$projectDir/target/poms/pom-all.xml")), 'artifacts', - "org/codehaus/groovy/groovy-all/${version}/groovy-all-${version}.pom"), - gradleDeployDetails(new DefaultPublishArtifact("groovy-all", "pom.asc", "pom.asc", null, - curDate, file("$projectDir/target/poms/pom-all.xml.asc")), 'artifacts', - "org/codehaus/groovy/groovy-all/${version}/groovy-all-${version}.pom.asc"), - gradleDeployDetails(new DefaultPublishArtifact("groovy-binary", "zip", "zip", null, - curDate, distBin.archivePath), 'artifacts', - "org/codehaus/groovy/groovy-binary/${version}/groovy-binary-${version}.zip"), - gradleDeployDetails(new DefaultPublishArtifact("groovy-binary", "zip.asc", "zip.asc", null, - curDate, new File(distBin.destinationDir, distBin.archiveName + '.asc')), 'artifacts', - "org/codehaus/groovy/groovy-binary/${version}/groovy-binary-${version}.zip.asc"), - gradleDeployDetails(new DefaultPublishArtifact("groovy-binary", "pom", "pom", null, - curDate, file("$projectDir/target/poms/pom-binary.xml")), 'artifacts', - "org/codehaus/groovy/groovy-binary/${version}/groovy-binary-${version}.pom"), - gradleDeployDetails(new DefaultPublishArtifact("groovy-binary", "pom.asc", "pom.asc", null, - curDate, file("$projectDir/target/poms/pom-binary.xml.asc")), 'artifacts', - "org/codehaus/groovy/groovy-binary/${version}/groovy-binary-${version}.pom.asc"), - - ] - tasks.withType(Jar).matching { it.name.startsWith('backport') }.all { - String baseDir = "org/codehaus/groovy/${baseName}/${version}" - additionalFiles << gradleDeployDetails( - new DefaultPublishArtifact(baseName, "jar", "jar", classifier, curDate, archivePath), - 'artifacts', - "$baseDir/${archiveName}") - additionalFiles << gradleDeployDetails( - new DefaultPublishArtifact(baseName, "jar.asc", "jar.asc", classifier, curDate, new File(destinationDir, archiveName + '.asc')), - 'artifacts', - "$baseDir/${archiveName}.asc") - if (!classifier) { - def pomLocation = "$projectDir/target/poms/pom-${baseName - 'groovy-'}.xml" - additionalFiles << gradleDeployDetails( - new DefaultPublishArtifact(baseName, "pom", "pom", null, curDate, file(pomLocation)), - 'artifacts', - "$baseDir/${baseName}-${version}.pom") - additionalFiles << gradleDeployDetails( - new DefaultPublishArtifact(baseName, "pom.asc", "pom.asc", null, curDate, file(pomLocation + '.asc')), - 'artifacts', - "$baseDir/${baseName}-${version}.pom.asc") + configurations.archives.artifacts.findAll{ it.name != project.name }.each { + // the plugin we are using uses the project name rather than the artifact name + // as the artifactId, so we add the transformed one ourselves + // this also covers signatures which we already added during install + deployDetails.add(makeTransformedDetails(it)) + if (it.type == 'jar' && it.extension == 'jar' && !it.classifier) { + // and the pom and its signature + deployDetails.add(makeTransformedPomDetails(it)) + deployDetails.add(makeTransformedPomSigDetails(it)) } } + allprojects { - configurations.archives.artifacts.findAll{ it.name == project.name && it.type == 'jar' && it.extension == 'jar' }.each { - def pomLocation = "$project.projectDir/target/poms/pom-${project == rootProject ? 'groovy' : 'default'}.xml" - String baseDir = "org/codehaus/groovy/${it.name}/${version}" - additionalFiles << gradleDeployDetails( - new DefaultPublishArtifact(it.name, "pom.asc", "pom.asc", null, curDate, file(pomLocation + '.asc')), - 'artifacts', - "$baseDir/${it.name}-${version}.pom.asc") + configurations.archives.artifacts.findAll{ it.name == project.name && it.type == 'jar' && it.extension == 'jar' && !it.classifier }.each { + // add pom signatures + def pomSigLocation = "$project.projectDir/target/poms/pom-${project == rootProject ? 'groovy' : 'default'}.xml.asc" + deployDetails.add(newDetails(it, file(pomSigLocation), 'pom.asc', 'pom')) } } - additionalFiles.each { deployDetails.add(it) } } } http://git-wip-us.apache.org/repos/asf/groovy/blob/cf07fc0a/gradle/upload.gradle ---------------------------------------------------------------------- diff --git a/gradle/upload.gradle b/gradle/upload.gradle index 8515d07..d99ad18 100644 --- a/gradle/upload.gradle +++ b/gradle/upload.gradle @@ -47,7 +47,7 @@ allprojects { signing.sign(c, f) project.artifacts.add('archives', new File(f.parent, f.name + '.asc')) { classifier = c - type = 'jar.asc' + type = 'asc' extension = 'jar.asc' } } @@ -57,7 +57,7 @@ allprojects { project.artifacts.add('archives', new File(archiveTask.destinationDir, archiveTask.archiveName + '.asc')) { name = archiveTask.baseName classifier = archiveTask.classifier - type = archiveTask.extension + '.asc' + type = 'asc' extension = archiveTask.extension + '.asc' } } @@ -109,6 +109,8 @@ allprojects { install { doFirst { + // gradle doesn't expect us to mutate configurations like we do here + // so signing the configuration won't work and we do it manually here signArchiveTask(jar) signArchiveTask(sourceJar) signArchiveTask(javadocJar) @@ -125,7 +127,9 @@ allprojects { } } -// the root project generates an alternate 'groovy-all' artifact +// the root project generates several alternate artifacts, e.g. 'groovy-all' +// we don't want them in the root project so add them as artifacts with a modified name +// we'll exclude the original artifacts during publication with an exclude pattern [uploadArchives, install]*.with { dependsOn([sourceAllJar, javadocAllJar, groovydocAllJar, distBin, distDoc, dist, distBin]) doFirst { @@ -150,7 +154,12 @@ allprojects { signArchiveTask(groovydocAllJar) // TODO rework these? - signing.sign(distBin) + signing.sign(distBin.archivePath) + project.artifacts.add('archives', new File(distBin.destinationDir, distBin.archiveName + '.asc')) { + name = 'groovy-binary' + type = 'asc' + extension = 'zip.asc' + } signing.sign(distSrc.archivePath) signing.sign(distDoc.archivePath) signing.sign(dist.archivePath) @@ -165,7 +174,8 @@ allprojects { project.artifacts.add('archives', new File(t.destinationDir, t.archiveName + '.asc')) { name = t.baseName classifier = t.classifier - type = t.extension + '.asc' + type = 'asc' + extension = t.extension + '.asc' } }