Sha256: 5541d32ef8606302858bb091a3045c534f7f6e639d801cba1a8cc3d547fc7020

Contents?: true

Size: 1.29 KB

Versions: 4

Compression:

Stored size: 1.29 KB

Contents

require 'appraisal/file'
require 'rake/tasklib'

module Appraisal
  # Defines tasks for installing appraisal dependencies and running other tasks
  # for a given appraisal.
  class Task < Rake::TaskLib
    def initialize
      namespace :appraisal do
        desc "Generate a Gemfile for each appraisal"
        task :gemfiles do
          File.each do |appraisal|
            appraisal.write_gemfile
          end
        end

        desc "Resolve and install dependencies for each appraisal"
        task :install => :gemfiles do
          File.each do |appraisal|
            appraisal.install
          end
        end

        desc "Remove all generated gemfiles from gemfiles/ folder"
        task :cleanup do
          require 'fileutils'
          FileUtils.rm_f Dir['gemfiles/*.{gemfile,gemfile.lock}']
        end

        File.each do |appraisal|
          desc "Run the given task for appraisal #{appraisal.name}"
          task appraisal.name do
            Command.from_args(appraisal.gemfile_path).exec
          end
        end

        task :all do
          File.each do |appraisal|
            Command.from_args(appraisal.gemfile_path).run
          end
          exit
        end
      end

      desc "Run the given task for all appraisals"
      task :appraisal => "appraisal:all"
    end
  end
end

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
judge-2.0.5 vendor/bundle/ruby/2.1.0/gems/appraisal-0.5.1/lib/appraisal/task.rb
appraisal-0.5.2 lib/appraisal/task.rb
appraisal-0.5.1 lib/appraisal/task.rb
appraisal-0.5.0 lib/appraisal/task.rb