Sha256: dab9b07bd00231b78f5ab99d2908e6f93d49f3a2c8e81f852ff10a6add24aac0

Contents?: true

Size: 1.27 KB

Versions: 1

Compression:

Stored size: 1.27 KB

Contents

require 'bundler/gem_tasks'
require 'image_compressor_pack/recipes'

desc 'Compile all recipes'
task :compile do
  sh 'ruby ext/image_compressor_pack/extconf.rb'
end

module Helpers
  module_function

  def binary_gemspec(platform = Gem::Platform.local)
    gemspec = eval(File.read 'image_compressor_pack.gemspec')
    gemspec.platform = platform
    gemspec
  end

  def binary_gem_name(platform = Gem::Platform.local)
    File.basename binary_gemspec(platform).cache_file
  end
end

desc "Build #{Helpers.binary_gem_name} into the pkg directory"
task binary: :compile do
  gemspec = Helpers.binary_gemspec
  gemspec.extensions.clear

  # We don't need most things for the binary
  gemspec.files  = `git ls-files lib`.split("\n")
  gemspec.files += ['LICENSE.txt', File.join('lib', '.paths.yml')]
  gemspec.files += `git ls-files -o ports`.split("\n")

  FileUtils.mkdir_p 'pkg'

  package = if Gem::VERSION < '2.0.0'
    Gem::Builder.new(gemspec).build
  else
    require 'rubygems/package'
    Gem::Package.build gemspec
  end

  FileUtils.mv package, 'pkg'
end

task :clean do
  sh 'git clean -dxf -e .bundle -e vendor/bundle'
end

desc 'Download all recipe archives'
task :download do
  ImageCompressorPack.recipes.each(&:download)
end

task build: [:clean, :download]

task default: [:compile]

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
image_compressor_pack-0.1.1.rc2 Rakefile