Sha256: 4b13267986a76b4db7054058ba87fe9a297045c709a9b92655139f9fb7aa900a

Contents?: true

Size: 1.79 KB

Versions: 3

Compression:

Stored size: 1.79 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 "DEPRECATED: Generate a Gemfile for each appraisal"
        task :gemfiles do
          warn "`rake appraisal:gemfile` task is deprecated and will be removed soon. " +
            "Please use `appraisal generate`."
          exec 'bundle exec appraisal generate'
        end

        desc "DEPRECATED: Resolve and install dependencies for each appraisal"
        task :install do
          warn "`rake appraisal:install` task is deprecated and will be removed soon. " +
            "Please use `appraisal install`."
          exec 'bundle exec appraisal install'
        end

        desc "DEPRECATED: Remove all generated gemfiles from gemfiles/ folder"
        task :cleanup do
          warn "`rake appraisal:cleanup` task is deprecated and will be removed soon. " +
            "Please use `appraisal clean`."
          exec 'bundle exec appraisal clean'
        end

        File.each do |appraisal|
          desc "DEPRECATED: Run the given task for appraisal #{appraisal.name}"
          task appraisal.name do
            ARGV.shift
            warn "`rake appraisal:#{appraisal.name}` task is deprecated and will be removed soon. " +
              "Please use `appraisal #{appraisal.name} rake #{ARGV.join(' ')}`."
            exec "bundle exec appraisal #{appraisal.name} rake #{ARGV.join(' ')}"
          end
        end

        task :all do
          ARGV.shift
          exec "bundle exec appraisal rake #{ARGV.join(' ')}"
        end
      end

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

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
appraisal-1.0.0.beta3 lib/appraisal/task.rb
appraisal-1.0.0.beta2 lib/appraisal/task.rb
appraisal-1.0.0.beta1 lib/appraisal/task.rb