summaryrefslogtreecommitdiff
path: root/lib/tasks
diff options
context:
space:
mode:
authorMike Greiling <mike@pixelcog.com>2017-01-26 16:33:22 -0600
committerMike Greiling <mike@pixelcog.com>2017-01-27 15:21:30 -0600
commit0ed86119b08ed99d5fa193a5742a1d1de350d3a3 (patch)
tree5f4aaa1f9c3ae46aab0c7f1ac36bd425ceec2878 /lib/tasks
parent642bcb4d7c22ea6688751455670080c81c1149d4 (diff)
downloadgitlab-ce-0ed86119b08ed99d5fa193a5742a1d1de350d3a3.tar.gz
correct gzip files if they exist as well
Diffstat (limited to 'lib/tasks')
-rw-r--r--lib/tasks/assets.rake19
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