Repository: tapestry-5 Updated Branches: refs/heads/master f88ed9a30 -> 687abdf28
Change the deployment script to work with Apache svnpubsub system Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/687abdf2 Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/687abdf2 Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/687abdf2 Branch: refs/heads/master Commit: 687abdf28c5422c2ec130f4422259f685673d868 Parents: f88ed9a Author: Howard M. Lewis Ship <hls...@apache.org> Authored: Tue Dec 30 09:40:01 2014 -0800 Committer: Howard M. Lewis Ship <hls...@apache.org> Committed: Tue Dec 30 10:04:58 2014 -0800 ---------------------------------------------------------------------- build.gradle | 42 ++++++++++++++++++++++++++---------------- 1 file changed, 26 insertions(+), 16 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/687abdf2/build.gradle ---------------------------------------------------------------------- diff --git a/build.gradle b/build.gradle index 20f00f4..1d97274 100755 --- a/build.gradle +++ b/build.gradle @@ -62,10 +62,15 @@ project.ext { deployUsernameProperty = isSnapshot() ? "snapshotDeployUserName" : "apacheDeployUserName" deployPasswordProperty = isSnapshot() ? "snapshotDeployPassword" : "apacheDeployPassword" - canDeploy = [deployUsernameProperty, deployPasswordProperty].every { project.hasProperty(it) } + canDeploy = [deployUsernameProperty, deployPasswordProperty, "apacheArchivesFolder"].every { project.hasProperty(it) } + // These are all deferred inside closures, to allow people without the necessary values in their + // gradle.properties to build locally, just not deploy. getProperty() throws an exception if the property + // is not present. deployUsername = { getProperty(deployUsernameProperty) } deployPassword = { getProperty(deployPasswordProperty) } + + archiveDeployFolder = { getProperty("apacheArchivesFolder") } } sonar { @@ -512,29 +517,34 @@ if (canDeploy) { } } - task uploadArtifacts(type: Scp) { - group "Release artifact" - description "Uploads top-level artifacts to people.apache.org, along with MD5 checksums and PGP signatures (if signing is enabled)" + // This requires that you have the apacheArchivesFolder property configured in your + // ~/.gradle/gradle.properties. The folder should be a Subversion workspace for + // https://dist.apache.org/repos/dist/dev/tapestry + // after the build, you must manually add the new files to the workspace (using "svn add") + // then commit ("svn commit"). + + // The files will be visible in https://dist.apache.org/repos/dist/dev/tapestry/, allowing + // committers to download and verify them. - source files(generateMD5Checksums, configurations.uploads.allArtifacts.files) + // After a successful release vote, the files can be moved to a second Subversion workspace + // for https://dist.apache.org/repos/dist/release/tapestry. Adding the files and committing + // there will publish them to http://www.apache.org/dist/tapestry ... and from there + // to all Apache mirrors (after about a 24 hour delay). - host "people.apache.org" - userName deployUsername() - password deployPassword() + task copyArchives(type: Copy) { + group "Release artifact" + description "Copies build archives (source, bin, docs) to a configured deployment folder, along with MD5 checksums and PGP signatures (if signing is enabled)" - // The destination folder at people.apache.org needs to already exist. - destination "public_html/tapestry-releases" + destinationDir file(archiveDeployFolder()) - doFirst { - logger.info "Uploading the following files to people.apache.org (as user '${userName}'):" - source.files.each { logger.info " $it" } - } + from generateMD5Checksums + from configurations.uploads.allArtifacts.files } task generateRelease { - dependsOn "quickstart:clean", continuousIntegration, subprojects.uploadPublished, uploadArtifacts + dependsOn "quickstart:clean", continuousIntegration, subprojects.uploadPublished, copyArchives group "Release artifact" - description "Generates and uploads a final release to Apache Nexus" + description "Generates and uploads a final release to Apache Nexus and copies archives for deployment" } }