Sha256: 0c5d955ec028889cf1fd944dd734b0e945161f7101bae8d5fd572049197c0216

Contents?: true

Size: 1.74 KB

Versions: 17

Compression:

Stored size: 1.74 KB

Contents

#!/usr/bin/env rake
require "bundler/gem_tasks"

begin
  require 'gemika/tasks'
rescue LoadError
  puts 'Run `gem install gemika` for additional tasks'
end

task :default => 'matrix:tests'

namespace :matrix do

  desc "Run all tests which are available for current Ruby (#{RUBY_VERSION})"
  task :tests do
    Gemika::Matrix.from_travis_yml.each do |row|
      directory = File.dirname(row.gemfile)
      if directory.start_with?('tests')
        # Run integration tests (uses embedded projects)
        system("cd #{directory} && BUNDLE_GEMFILE=Gemfile geordi cucumber")
      else
        # Run specs and tests for spreewald binary
        [
          system("BUNDLE_GEMFILE=#{row.gemfile} bundle exec rspec"),
          system("BUNDLE_GEMFILE=#{row.gemfile} bundle exec cucumber"),
        ].all?
      end
    end

    travis_yml = YAML.load_file('.travis.yml')
    rubies = travis_yml.fetch('rvm') - [RUBY_VERSION]
    puts "Please remember to run tests for the other ruby versions as well: #{rubies.join(", ")}"
  end

end


desc 'Update the "Steps" section of the README'
task :update_readme do
  readme_path = 'README.md'
  if Kernel.respond_to? :require_relative
    require_relative './support/step_manager'
  else
    require 'support/step_manager'
  end

  readme = File.read('README.md')
  start_of_steps_section = readme =~ /^## Steps/
  length_of_steps_section = (readme[(start_of_steps_section+1)..-1] =~ /^##[^#]/) || readme.size - start_of_steps_section
  readme[start_of_steps_section, length_of_steps_section] = "## Steps\n\n" + StepManager.new('lib/spreewald').to_markdown
  File.open(readme_path, 'w') { |f| f.write(readme) }

  system "git diff #{readme_path}"
  puts '', '> Done (diff applied).'
end

def warn(text)
  puts "\e[31m#{text}\e[0m" # red text
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
spreewald-2.4.0 Rakefile
spreewald-2.3.0 Rakefile
spreewald-2.2.4 Rakefile
spreewald-2.2.3 Rakefile
spreewald-2.2.2 Rakefile
spreewald-2.2.1 Rakefile
spreewald-2.2.0 Rakefile
spreewald-2.1.3 Rakefile
spreewald-2.1.2 Rakefile
spreewald-2.1.1 Rakefile
spreewald-2.1.0 Rakefile
spreewald-2.0.0 Rakefile
spreewald-1.12.6 Rakefile
spreewald-1.12.5 Rakefile
spreewald-1.12.4 Rakefile
spreewald-1.12.3 Rakefile
spreewald-1.12.2 Rakefile