Sha256: 8a24be06cb46785900305c72b5be9c8e3e769a816febeaa1aca8b38c1e8b57c5

Contents?: true

Size: 1.1 KB

Versions: 7

Compression:

Stored size: 1.1 KB

Contents

require 'rake_dependencies'
require 'ruby_fly'
require 'rake_fly/version'
require 'rake_fly/tasklib'
require 'rake_fly/tasks'

module RakeFly
  include RubyFly

  def self.define_installation_tasks(opts = {})
    namespace = opts[:namespace] || :fly
    version = opts[:version] || '2.7.0'
    path = opts[:path] || File.join('vendor', 'fly')

    RubyFly.configure do |c|
      c.binary = File.join(path, 'bin', 'fly')
    end
    RakeDependencies::Tasks::All.new do |t|
      t.namespace = namespace
      t.dependency = 'fly'
      t.version = version
      t.path = path
      t.type = :uncompressed

      t.os_ids = {mac: 'darwin', linux: 'linux'}

      t.uri_template = "https://github.com/concourse/concourse/releases/" +
          "download/v<%= @version %>/fly_<%= @os_id %>_amd64"
      t.file_name_template = "fly_<%= @os_id %>_amd64"
      t.target_name_template = 'fly'

      t.needs_fetch = lambda do |parameters|
        fly_binary = File.join(
            parameters[:path], parameters[:binary_directory], 'fly')

        !(File.exist?(fly_binary) && RubyFly.version == version)
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
rake_fly-0.7.0 lib/rake_fly.rb
rake_fly-0.6.1.pre1 lib/rake_fly.rb
rake_fly-0.6.0 lib/rake_fly.rb
rake_fly-0.5.0 lib/rake_fly.rb
rake_fly-0.4.0 lib/rake_fly.rb
rake_fly-0.3.0 lib/rake_fly.rb
rake_fly-0.2.0 lib/rake_fly.rb