Sha256: 3e6aa1a400315650bc01c3db54076ef5a59f19b312c28f5a5e28a35611ab66b3

Contents?: true

Size: 1.16 KB

Versions: 1

Compression:

Stored size: 1.16 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 = :zip

      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.source_binary_name_template = "fly_<%= @os_id %>_amd64"
      t.target_binary_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

1 entries across 1 versions & 1 rubygems

Version Path
rake_fly-0.18.0.pre.pre.1 lib/rake_fly.rb