diff options
author | Mike Greiling <mike@pixelcog.com> | 2017-01-26 16:33:22 -0600 |
---|---|---|
committer | Mike Greiling <mike@pixelcog.com> | 2017-01-27 15:21:30 -0600 |
commit | 0ed86119b08ed99d5fa193a5742a1d1de350d3a3 (patch) | |
tree | 5f4aaa1f9c3ae46aab0c7f1ac36bd425ceec2878 /lib/tasks | |
parent | 642bcb4d7c22ea6688751455670080c81c1149d4 (diff) | |
download | gitlab-ce-0ed86119b08ed99d5fa193a5742a1d1de350d3a3.tar.gz |
correct gzip files if they exist as well
Diffstat (limited to 'lib/tasks')
-rw-r--r-- | lib/tasks/assets.rake | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/tasks/assets.rake b/lib/tasks/assets.rake index aca2a318b31..33a0ad26d0e 100644 --- a/lib/tasks/assets.rake +++ b/lib/tasks/assets.rake @@ -3,8 +3,27 @@ namespace :assets do task :precompile do css_files = Dir['public/assets/*.css'] css_files.each do | file | + # replace url(/assets/*) with url(./*) puts "Fixing #{file}" system "sed", "-i", "-e", 's/url(\([\"\']\?\)\/assets\//url(\1.\//g', file + + # rewrite the corresponding gzip file (if it exists) + gzip = "#{file}.gz" + if File.exist?(gzip) + puts "Fixing #{gzip}" + + FileUtils.rm(gzip) + mtime = File.stat(file).mtime + + File.open(gzip, 'wb+') do |f| + gz = Zlib::GzipWriter.new(f, Zlib::BEST_COMPRESSION) + gz.mtime = mtime + gz.write IO.binread(file) + gz.close + + File.utime(mtime, mtime, f.path) + end + end end end end |