summaryrefslogtreecommitdiff
path: root/lib/tasks/pngquant.rake
diff options
context:
space:
mode:
Diffstat (limited to 'lib/tasks/pngquant.rake')
-rw-r--r--lib/tasks/pngquant.rake55
1 files changed, 0 insertions, 55 deletions
diff --git a/lib/tasks/pngquant.rake b/lib/tasks/pngquant.rake
deleted file mode 100644
index 45c0288cadf..00000000000
--- a/lib/tasks/pngquant.rake
+++ /dev/null
@@ -1,55 +0,0 @@
-# frozen_string_literal: true
-
-return if Rails.env.production?
-
-require 'png_quantizator'
-require 'parallel'
-require_relative '../../tooling/lib/tooling/images'
-
-# The amount of variance (in bytes) allowed in
-# file size when testing for compression size
-
-namespace :pngquant do
- # Returns an array of all images eligible for compression
- def doc_images
- Dir.glob('doc/**/*.png', File::FNM_CASEFOLD)
- end
-
- desc 'GitLab | Pngquant | Compress all documentation PNG images using pngquant'
- task :compress do
- files = doc_images
- puts "Compressing #{files.size} PNG files in doc/**"
-
- Parallel.each(files) do |file|
- was_uncompressed, savings = Tooling::Image.compress_image(file)
-
- if was_uncompressed
- puts "#{file} was reduced by #{savings} bytes"
- end
- end
- end
-
- desc 'GitLab | Pngquant | Checks that all documentation PNG images have been compressed with pngquant'
- task :lint do
- files = doc_images
- puts "Checking #{files.size} PNG files in doc/**"
-
- uncompressed_files = Parallel.map(files) do |file|
- is_uncompressed, _ = Tooling::Image.compress_image(file, true)
- if is_uncompressed
- puts "Uncompressed file detected: ".color(:red) + file
- file
- end
- end.compact
-
- if uncompressed_files.empty?
- puts "All documentation images are optimally compressed!".color(:green)
- else
- warn(
- "The #{uncompressed_files.size} image(s) above have not been optimally compressed using pngquant.".color(:red),
- 'Please run "bin/rake pngquant:compress" and commit the result.'
- )
- abort
- end
- end
-end