Update release process to remove old releases

Project: http://git-wip-us.apache.org/repos/asf/buildr/repo
Commit: http://git-wip-us.apache.org/repos/asf/buildr/commit/6fd671f1
Tree: http://git-wip-us.apache.org/repos/asf/buildr/tree/6fd671f1
Diff: http://git-wip-us.apache.org/repos/asf/buildr/diff/6fd671f1

Branch: refs/heads/master
Commit: 6fd671f196768268983a89a9e293f6a4ea68a010
Parents: 7db6d0f
Author: Peter Donald <[email protected]>
Authored: Mon May 5 20:06:29 2014 +1000
Committer: Peter Donald <[email protected]>
Committed: Mon May 5 20:06:29 2014 +1000

----------------------------------------------------------------------
 rakelib/release.rake | 6 ++++++
 1 file changed, 6 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/buildr/blob/6fd671f1/rakelib/release.rake
----------------------------------------------------------------------
diff --git a/rakelib/release.rake b/rakelib/release.rake
index 708d7a2..3d33925 100644
--- a/rakelib/release.rake
+++ b/rakelib/release.rake
@@ -30,11 +30,17 @@ task 'release' => %w{setup-local-site-svn} do
     puts 'Uploading packages to www.apache.org/dist ...'
     host, remote_dir = target.split(':')
     sh 'ssh', host, 'rm', '-rf', remote_dir rescue nil
+    existing_dirs = `ssh #{host} ls #{File.dirname(remote_dir)}`.split
     sh 'ssh', host, 'mkdir', remote_dir
     sh 'rsync', '--progress', '--recursive', '--delete', 
"_release/#{spec.version}/dist/", target
     sh 'ssh', 'people.apache.org', 'chmod', '-f', '-R', 'g+w', 
"#{remote_dir}/*"
     puts '[X] Uploaded packages to www.apache.org/dist'
 
+    puts "[X] Removing existing packages #{existing_dirs.join(', ')}"
+    existing_dirs.each do |dir|
+      sh 'ssh', host, 'rm', '-rf', "#{File.dirname(remote_dir)}/#{dir}" rescue 
nil
+    end
+
     puts "Uploading new site to #{spec.name}.apache.org ..."
     sh 'rsync', '--progress', '--recursive', '--exclude', '.svn', '--delete', 
"_release/#{spec.version}/site/", 'site'
     task('publish-site-svn').invoke

Reply via email to