Sha256: 1470667440b5ce1fbef2e28d2f64b8e3941dcb58d23ccfb916b92e487a8c9903

Contents?: true

Size: 1.11 KB

Versions: 3

Compression:

Stored size: 1.11 KB

Contents

namespace :matrix do
  def with_gemfile gemfile
    Bundler.with_clean_env do
      gemfile = File.expand_path(gemfile)
      ENV['BUNDLE_GEMFILE'] = gemfile

      if ENV['CLEAN'] && File.exist?("#{gemfile}.lock")
        system "rm #{gemfile}.lock"
      end

      unless File.exist?("#{gemfile}.lock")
        args = ['--quiet']
        puts "bundling #{gemfile}"
        `bundle install --gemfile='#{gemfile}' #{args.join(' ')}`
      end

      system "bundle exec '#{yield}'"
    end
  end

  def tracer msg
    tracer_length = msg.length + 10
    puts ''
    puts tracer_length.times.to_a.map { '=' }.join
    puts "     #{msg}"
    puts tracer_length.times.to_a.map { '=' }.join
  end

  MATRIX = %w[middleman-4.0 middleman-4.1 middleman-head sprockets-4.0].freeze

  MATRIX.each do |gemfile_name|
    desc "run tests with #{gemfile_name} gemfile"
    task :"#{gemfile_name}" do
      tracer "running tests with #{gemfile_name} gemfile"
      with_gemfile "gemfiles/#{gemfile_name}.gemfile" do
        'rake test'
      end
    end
  end

  desc 'run test on full matrix'
  task all: MATRIX.map { |gn| "matrix:#{gn}" }
end

Version data entries

3 entries across 3 versions & 2 rubygems

Version Path
files.com-1.0.55 docs/vendor/bundle/ruby/2.5.0/gems/middleman-sprockets-4.1.1/tasks/matrix.rake
middleman-sprockets-4.1.1 tasks/matrix.rake
middleman-sprockets-4.1.0 tasks/matrix.rake