mirror of
https://github.com/chromebrew/chromebrew.git
synced 2026-01-09 15:37:56 -05:00
add some error checking around Kernel.system
This commit is contained in:
26
crew
26
crew
@@ -148,18 +148,22 @@ def download
|
|||||||
end
|
end
|
||||||
|
|
||||||
def resolveDependenciesAndInstall
|
def resolveDependenciesAndInstall
|
||||||
origin = @pkg.name
|
begin
|
||||||
|
origin = @pkg.name
|
||||||
|
|
||||||
resolveDependencies
|
resolveDependencies
|
||||||
|
|
||||||
search origin
|
search origin
|
||||||
install
|
install
|
||||||
|
rescue InstallError => e
|
||||||
#cleanup
|
puts "install error: #{e.to_s}"
|
||||||
unless ARGV[2] == 'keep'
|
ensure
|
||||||
Dir.chdir CREW_BREW_DIR do
|
#cleanup
|
||||||
system "rm -rf *"
|
unless ARGV[2] == 'keep'
|
||||||
system "mkdir dest" #this is a little ugly, feel free to find a better way
|
Dir.chdir CREW_BREW_DIR do
|
||||||
|
system "rm -rf *"
|
||||||
|
system "mkdir dest" #this is a little ugly, feel free to find a better way
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -183,7 +187,7 @@ def resolveDependencies
|
|||||||
return if @dependencies.empty?
|
return if @dependencies.empty?
|
||||||
|
|
||||||
puts "Following packages also need to be installed: "
|
puts "Following packages also need to be installed: "
|
||||||
@dependencies.flatten!.each do |dep|
|
@dependencies.flatten!.uniq!.each do |dep|
|
||||||
print dep + " "
|
print dep + " "
|
||||||
end
|
end
|
||||||
puts ""
|
puts ""
|
||||||
|
|||||||
@@ -26,4 +26,10 @@ class Package
|
|||||||
def self.build
|
def self.build
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def self.system(*args)
|
||||||
|
Kernel.system(*args)
|
||||||
|
exitstatus = $?.exitstatus
|
||||||
|
raise InstallError.new("`#{args.join(" ")}` exited with #{exitstatus}") unless exitstatus == 0
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
class InstallError < RuntimeError; end
|
||||||
|
|
||||||
def property(*properties)
|
def property(*properties)
|
||||||
properties.each do |prop|
|
properties.each do |prop|
|
||||||
self.class_eval("def self.#{prop}(#{prop} = nil); @#{prop} = #{prop} if #{prop}; @#{prop}; end")
|
self.class_eval("def self.#{prop}(#{prop} = nil); @#{prop} = #{prop} if #{prop}; @#{prop}; end")
|
||||||
|
|||||||
Reference in New Issue
Block a user