Sha256: 63558b14519432cc0e957d3549ab15adce485622d9593b3d910b81574678d626

Contents?: true

Size: 1.2 KB

Versions: 24

Compression:

Stored size: 1.2 KB

Contents

require 'rake_factory'

module RakeDependencies
  module Tasks
    class Ensure < RakeFactory::Task
      default_name :ensure
      default_description RakeFactory::DynamicValue.new { |t|
        "Ensure #{t.dependency} present"
      }

      parameter :dependency, required: true
      parameter :version
      parameter :path, required: true

      parameter :binary_directory, default: 'bin'

      parameter :needs_fetch, default: true

      parameter :clean_task_name, default: :clean
      parameter :download_task_name, default: :download
      parameter :extract_task_name, default: :extract
      parameter :install_task_name, default: :install

      action do |t|
        clean = Rake::Task[t.scope.path_with_task_name(t.clean_task_name)]
        download = Rake::Task[t.scope.path_with_task_name(t.download_task_name)]
        extract = Rake::Task[t.scope.path_with_task_name(t.extract_task_name)]

        install_name = t.scope.path_with_task_name(t.install_task_name)
        install = if Rake::Task.task_defined?(install_name)
          Rake::Task[install_name]
        end

        if needs_fetch.call(t)
          [clean, download, extract, install].compact.map(&:invoke)
        end
      end
    end
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
rake_dependencies-3.2.0.pre.3 lib/rake_dependencies/tasks/ensure.rb
rake_dependencies-3.2.0.pre.2 lib/rake_dependencies/tasks/ensure.rb
rake_dependencies-3.2.0.pre.1 lib/rake_dependencies/tasks/ensure.rb
rake_dependencies-3.1.0 lib/rake_dependencies/tasks/ensure.rb
rake_dependencies-3.0.0.pre.2 lib/rake_dependencies/tasks/ensure.rb
rake_dependencies-2.14.0.pre.1 lib/rake_dependencies/tasks/ensure.rb
rake_dependencies-2.13.0 lib/rake_dependencies/tasks/ensure.rb
rake_dependencies-2.12.0.pre.3 lib/rake_dependencies/tasks/ensure.rb
rake_dependencies-2.12.0.pre.2 lib/rake_dependencies/tasks/ensure.rb
rake_dependencies-2.12.0.pre.1 lib/rake_dependencies/tasks/ensure.rb
rake_dependencies-2.11.0 lib/rake_dependencies/tasks/ensure.rb
rake_dependencies-2.10.0.pre.1 lib/rake_dependencies/tasks/ensure.rb
rake_dependencies-2.9.0 lib/rake_dependencies/tasks/ensure.rb
rake_dependencies-2.8.0.pre.1 lib/rake_dependencies/tasks/ensure.rb
rake_dependencies-2.7.0 lib/rake_dependencies/tasks/ensure.rb
rake_dependencies-2.6.0.pre.2 lib/rake_dependencies/tasks/ensure.rb
rake_dependencies-2.6.0.pre.1 lib/rake_dependencies/tasks/ensure.rb
rake_dependencies-2.5.0 lib/rake_dependencies/tasks/ensure.rb
rake_dependencies-2.4.0.pre.1 lib/rake_dependencies/tasks/ensure.rb
rake_dependencies-2.3.0 lib/rake_dependencies/tasks/ensure.rb