This is an automated email from the ASF dual-hosted git repository.
sebb pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/whimsy.git
The following commit(s) were added to refs/heads/master by this push:
new b98b41e5 Fail on system() errors
b98b41e5 is described below
commit b98b41e5e62b81d827e6bb619f719019873b6bc5
Author: Sebb <[email protected]>
AuthorDate: Mon Dec 5 21:45:56 2022 +0000
Fail on system() errors
---
Rakefile | 31 ++++++++++++++++++-------------
1 file changed, 18 insertions(+), 13 deletions(-)
diff --git a/Rakefile b/Rakefile
index 72f955ee..359fbce8 100644
--- a/Rakefile
+++ b/Rakefile
@@ -7,6 +7,11 @@ def mkdir_p?(path)
mkdir_p path unless Dir.exist? path
end
+# Run system and abort if it fails
+def system!(*args)
+ system(*args) or raise "system!() failed!"
+end
+
# update gems and restart applications as needed
task :update, [:command] do |task, args|
# determine last update time of library sources
@@ -67,7 +72,7 @@ task :update, [:command] do |task, args|
gems.values
].join("\n")
File.write "Gemfile", contents
- system('bundle', 'install')
+ system!('bundle', 'install') or raise "Bundler failed"
end
end
end
@@ -86,7 +91,7 @@ task :update, [:command] do |task, args|
locktime = File.mtime('Gemfile.lock') rescue Time.at(0)
bundler = 'bundle' unless File.exist?(bundler)
- system(bundler, args.command || 'update')
+ system!(bundler, args.command || 'update') or raise "Bundler failed"
# if new gems were installed and this directory contains a passenger
# application, restart it
@@ -180,12 +185,12 @@ namespace :svn do
Dir.chdir(name) {
# ensure single-threaded SVN updates
LockFile.lockfile(Dir.pwd, nil, File::LOCK_EX) do # ignore the
return parameter
- system('svn', 'cleanup')
+ system!('svn', 'cleanup')
unless isSymlink # Don't change depth for symlinks
curdepth = ASF::SVN.getInfoAsHash('.')['Depth'] || 'infinity'
# not available as separate item
if curdepth != depth
puts "#{PREFIX} update depth from '#{curdepth}' to
'#{depth}'"
- system('svn', 'update', '--set-depth', depth)
+ system!('svn', 'update', '--set-depth', depth)
end
end
outerr = nil
@@ -232,9 +237,9 @@ namespace :svn do
} # chdir
else # directory does not exist
# Don't bother locking here -- it should be very rarely needed
- system('svn', 'checkout', "--depth=#{depth}", svnpath, name)
+ system!('svn', 'checkout', "--depth=#{depth}", svnpath, name)
if files
- system('svn', 'update', *files, {chdir: name})
+ system!('svn', 'update', *files, {chdir: name})
end
end
# check that explicitly required files exist
@@ -325,20 +330,20 @@ namespace :git do
end
# pull changes
- system('git', 'checkout', branch) if branch
- system('git', 'fetch', 'origin')
- system('git', 'reset', '--hard', "origin/#{branch || 'master'}")
+ system!('git', 'checkout', branch) if branch
+ system!('git', 'fetch', 'origin')
+ system!('git', 'reset', '--hard', "origin/#{branch || 'master'}")
end
else
depth = description['depth']
# fresh checkout
if depth
- system('git', 'clone', '--depth', depth.to_s, (base +
description['url']).to_s, name)
+ system!('git', 'clone', '--depth', depth.to_s, (base +
description['url']).to_s, name)
else
- system('git', 'clone', (base + description['url']).to_s, name)
+ system!('git', 'clone', (base + description['url']).to_s, name)
end
- system('git', 'checkout', branch, {chdir: name}) if branch
+ system!('git', 'checkout', branch, {chdir: name}) if branch
end
end
end
@@ -351,7 +356,7 @@ task :rdoc => 'www/docs/api/index.html'
file 'www/docs/api/index.html' => Rake::FileList['lib/whimsy/**/*.rb'] do
# remove old files first
FileUtils.remove_dir(File.join(File.dirname(__FILE__),'www/docs/api'))
- system('rdoc', 'lib/whimsy', '--output', 'www/docs/api', '--force-output',
+ system!('rdoc', 'lib/whimsy', '--output', 'www/docs/api', '--force-output',
'--title', 'whimsy/asf lib', {chdir: File.dirname(__FILE__)})
end