You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by hl...@apache.org on 2014/12/30 19:53:41 UTC

tapestry-5 git commit: Change the deployment script to work with Apache svnpubsub system

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 <hl...@apache.org>
Authored: Tue Dec 30 09:40:01 2014 -0800
Committer: Howard M. Lewis Ship <hl...@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"
     }
 }