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"
     }
 }
 

Reply via email to