From be789acf06879c8efee8ee985c4f7c0759ef1d33 Mon Sep 17 00:00:00 2001 From: Matthias Neeracher Date: Mon, 26 May 2008 21:53:28 +0000 Subject: [PATCH] Add further release building scripts --- NEWS | 4 ++++ scripts/BuildBinDist | 34 ++++++++++++++++++++++++++++++++++ scripts/BuildSourceDist | 27 +++++++++++++++++++++++++++ scripts/ReleaseActions | 12 ++++++++++++ 4 files changed, 77 insertions(+) create mode 100755 scripts/BuildBinDist create mode 100755 scripts/BuildSourceDist create mode 100644 scripts/ReleaseActions diff --git a/NEWS b/NEWS index 1e01cc4..b9fb077 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,7 @@ +26May08 VocalEasel 1.0 + + - No more serious problems found, releasing as it was in b3. + 10May08 VocalEasel 1.0b3 - Probably the last beta release diff --git a/scripts/BuildBinDist b/scripts/BuildBinDist new file mode 100755 index 0000000..e14eaf5 --- /dev/null +++ b/scripts/BuildBinDist @@ -0,0 +1,34 @@ +#!/usr/bin/ruby + +def loud_system(command) + $stderr.puts command + system command or raise +end + +releaseName = ARGV[0] +releaseTag = releaseName.gsub(/(\d)(\w)/, '\1_\2').gsub('.', '_') +productName = releaseName.sub(/-.*/, '') +IO.popen('svn info') do |svn| + svn.each_line do |line| + if line =~ /Repository Root:\s*(\S*)/ + SVN = $1 + break + end + end +end + +TAG = File.join(SVN, 'tags', releaseTag) + +BUILDDIR = "Releases/#{releaseName}.build" +RELEASE = "Releases/#{releaseName}" + +loud_system "rm -rf #{BUILDDIR} #{RELEASE} #{RELEASE}.dmg" +loud_system "svn export #{TAG} #{BUILDDIR}" +loud_system "cd #{BUILDDIR} && xcodebuild -configuration Deployment" +loud_system "mkdir #{RELEASE}" +loud_system "cp -R #{BUILDDIR}/{NEWS,README.rtf} #{BUILDDIR}/build/Deployment/#{productName}.app #{RELEASE}" +loud_system "cd Releases && hdiutil create -srcfolder #{releaseName} #{releaseName}.dmg" +loud_system "rm -rf #{RELEASE} #{BUILDDIR}" + + + diff --git a/scripts/BuildSourceDist b/scripts/BuildSourceDist new file mode 100755 index 0000000..83f4599 --- /dev/null +++ b/scripts/BuildSourceDist @@ -0,0 +1,27 @@ +#!/usr/bin/ruby + +def loud_system(command) + $stderr.puts command + system command or raise +end + +releaseName = ARGV[0] +releaseTag = releaseName.gsub(/(\d)(\w)/, '\1_\2').gsub('.', '_') +IO.popen('svn info') do |svn| + svn.each_line do |line| + if line =~ /Repository Root:\s*(\S*)/ + SVN = $1 + break + end + end +end + +TAG = File.join(SVN, 'tags', releaseTag) + +loud_system "rm -rf Releases/#{releaseName}" +loud_system "svn export #{TAG} Releases/#{releaseName}" +loud_system "cd Releases && tar zcf #{releaseName}_src.tgz #{releaseName}" +loud_system "rm -rf Releases/#{releaseName}" + + + diff --git a/scripts/ReleaseActions b/scripts/ReleaseActions new file mode 100644 index 0000000..ac20eef --- /dev/null +++ b/scripts/ReleaseActions @@ -0,0 +1,12 @@ +# +# Things to do for a release +# + +# +# Update NEWS manually, then... +# +scripts/ChangeLogSince VocalEasel-1.0b3 +scripts/TagRelease VocalEasel-1.0 +scripts/BuildSourceDist VocalEasel-1.0 +scripts/BuildBinDist VocalEasel-1.0 +