From 5d1204d49ab3ec75b84a040b4a9878d2885fb237 Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 7 May 2015 07:09:43 +0000 Subject: checksum.rb: check the target * tool/checksum.rb (Checksum#update?): check if the target exists too. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- tool/checksum.rb | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'tool') diff --git a/tool/checksum.rb b/tool/checksum.rb index 40f444efd2..0de54a314d 100755 --- a/tool/checksum.rb +++ b/tool/checksum.rb @@ -7,15 +7,22 @@ class Checksum @vpath = vpath end + attr_reader :source, :target + def source=(source) @source = source @checksum = File.basename(source, ".*") + ".chksum" end + def target=(target) + @target = target + end + def update? src = @vpath.read(@source) @len = src.length @sum = src.sum + return false unless @vpath.search(File.method(:exist?), @target) begin data = @vpath.read(@checksum) rescue @@ -47,8 +54,8 @@ class Checksum true end - def make(arg) - system([@make, arg].compact.join(' ')) + def make(*args) + system(@make, *args) end def def_options(opt = (require 'optparse'; OptionParser.new)) @@ -59,7 +66,7 @@ class Checksum def self.update(argv) k = new(VPath.new) - k.source, *argv = k.def_options.parse(*argv) + k.source, k.target, *argv = k.def_options.parse(*argv) k.update {|k| yield(k, *argv)} end end -- cgit v1.2.3