diff --git a/Rakefile b/Rakefile index cdaccb728..4c003f4e2 100644 --- a/Rakefile +++ b/Rakefile @@ -47,6 +47,7 @@ $build_system_modules = {} $have_gtest = (c(:GTEST_TYPE) == "system") || (c(:GTEST_TYPE) == "internal") $gtest_apps = [] +require_relative "rake.d/digest" require_relative "rake.d/helpers" require_relative "rake.d/target" require_relative "rake.d/application" diff --git a/rake.d/digest.rb b/rake.d/digest.rb new file mode 100644 index 000000000..ed3cf945d --- /dev/null +++ b/rake.d/digest.rb @@ -0,0 +1,7 @@ +require "digest" + +$digest_mutex = Mutex.new + +def sha1_hexdigest data + $digest_mutex.synchronize { Digest::SHA1.hexdigest(data) } +end diff --git a/rake.d/format_string_verifier.rb b/rake.d/format_string_verifier.rb index 17cb1005d..86c477050 100755 --- a/rake.d/format_string_verifier.rb +++ b/rake.d/format_string_verifier.rb @@ -1,7 +1,5 @@ #!/usr/bin/env ruby -require "digest" - class FormatStringVerifier def verify file_name language = file_name.gsub(%r{.*/|\.po$}, '') @@ -35,7 +33,7 @@ class FormatStringVerifier reject(&:nil?). each do |msgid| format_types.each do |type| - sha1 = Digest::SHA1.hexdigest "#{type}:#{msgid}:#{msgstr}" + sha1 = sha1_hexdigest "#{type}:#{msgid}:#{msgstr}" next if to_ignore.key?(language) && to_ignore[language].include?(sha1)