class Forger::Script::Compress
Public Instance Methods
clean()
click to toggle source
# File lib/forger/script/compress.rb, line 25 def clean FileUtils.rm_f("#{BUILD_ROOT}/scripts/scripts-#{md5sum}.tgz") end
compress()
click to toggle source
# File lib/forger/script/compress.rb, line 5 def compress reset puts "Tarballing #{BUILD_ROOT}/app/scripts folder to scripts.tgz".color(:green) tarball_path = create_tarball save_scripts_info(tarball_path) puts "Tarball created at #{tarball_path}" end
create_tarball()
click to toggle source
# File lib/forger/script/compress.rb, line 13 def create_tarball # https://apple.stackexchange.com/questions/14980/why-are-dot-underscore-files-created-and-how-can-i-avoid-them sh "cd #{BUILD_ROOT}/app && dot_clean ." if system("type dot_clean > /dev/null 2>&1") # https://serverfault.com/questions/110208/different-md5sums-for-same-tar-contents # Using tar czf directly results in a new m5sum each time because the gzip # timestamp is included. So using: tar -c ... | gzip -n sh "cd #{BUILD_ROOT}/app && tar -c scripts | gzip -n > scripts.tgz" # temporary app/scripts.tgz file rename_with_md5! end
md5sum()
click to toggle source
cache this because the file will get removed
# File lib/forger/script/compress.rb, line 44 def md5sum @md5sum ||= Digest::MD5.file("#{BUILD_ROOT}/app/scripts.tgz").to_s[0..7] end
rename_with_md5!()
click to toggle source
Apppend a md5 to file after it's been created and moves it to output/scripts/scripts-.tgz
# File lib/forger/script/compress.rb, line 31 def rename_with_md5! md5_path = "#{BUILD_ROOT}/scripts/scripts-#{md5sum}.tgz" FileUtils.mkdir_p(File.dirname(md5_path)) FileUtils.mv("#{BUILD_ROOT}/app/scripts.tgz", md5_path) md5_path end
reset()
click to toggle source
# File lib/forger/script/compress.rb, line 58 def reset FileUtils.rm_f(SCRIPTS_INFO_PATH) end
save_scripts_info(scripts_name)
click to toggle source
# File lib/forger/script/compress.rb, line 38 def save_scripts_info(scripts_name) FileUtils.mkdir_p(File.dirname(SCRIPTS_INFO_PATH)) IO.write(SCRIPTS_INFO_PATH, scripts_name) end
scripts_name()
click to toggle source
Only avaialble after script has been built.
# File lib/forger/script/compress.rb, line 54 def scripts_name IO.read(SCRIPTS_INFO_PATH).strip end
sh(command)
click to toggle source
# File lib/forger/script/compress.rb, line 48 def sh(command) puts "=> #{command}" system command end