Sha256: bef514257fd48c10420fde37dce42258bbaeab6433de890c1852917ede7cc1ef

Contents?: true

Size: 1.08 KB

Versions: 1

Compression:

Stored size: 1.08 KB

Contents

require 'gemika/env'
require 'gemika/matrix'
require 'gemika/rspec'

##
# Rake tasks to run commands for each compatible row in the test matrix.
#
namespace :matrix do

  desc "Run specs for all Ruby #{RUBY_VERSION} gemfiles"
  task :spec, :files do |t, options|
    Gemika::Matrix.from_travis_yml.each do |row|
      options = options.to_hash.merge(
        :gemfile => row.gemfile,
        :fatal => false,
        :bundle_exec => true
      )
      Gemika::RSpec.run_specs(options)
    end
  end

  desc "Install all Ruby #{RUBY_VERSION} gemfiles"
  task :install do
    Gemika::Matrix.from_travis_yml.each do |row|
      puts "Calling `bundle install` with #{ENV['BUNDLE_GEMFILE']}"
      system('bundle install')
    end
  end

  desc "List dependencies for all Ruby #{RUBY_VERSION} gemfiles"
  task :list do
    Gemika::Matrix.from_travis_yml.each do |row|
      system('bundle list')
    end
  end

  desc "Update all Ruby #{RUBY_VERSION} gemfiles"
  task :update, :gems do |t, options|
    Gemika::Matrix.from_travis_yml.each do |row|
      system("bundle update #{options[:gems]}")
    end
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
gemika-0.3.1 lib/gemika/tasks/matrix.rb