Sha256: 8f749baab874afa1ff6799d3ce37f8f018444875c7ab4fc87a2970dc0e18690a
Contents?: true
Size: 1.96 KB
Versions: 2
Compression:
Stored size: 1.96 KB
Contents
require 'semantic' require 'rake_dependencies' require 'ruby_fly' require 'rake_fly/version' require 'rake_fly/tasklib' require 'rake_fly/tasks' BREAKING_VERSION = '5.0.0' 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 = self.type(version) t.os_ids = {mac: 'darwin', linux: 'linux'} t.uri_template = self.uri_template(version) t.file_name_template = self.file_name_template(version) unless self.new_format?(version) t.source_binary_name_template = "fly_<%= @os_id %>_amd64" t.target_binary_name_template = "fly" end 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 private def self.new_format?(version) Semantic::Version.new(version) >= Semantic::Version.new(BREAKING_VERSION) end def self.type(version) if self.new_format?(version) :tgz else :uncompressed end end def self.uri_template(version) if new_format?(version) "https://github.com/concourse/concourse/releases/download" + "/v<%= @version %>" + "/fly-<%= @version %>-<%= @os_id %>-amd64<%= @ext %>" else "https://github.com/concourse/concourse/releases/" + "download/v<%= @version %>/fly_<%= @os_id %>_amd64" end end def self.file_name_template(version) if new_format?(version) "fly-<%= @version %>-<%= @os_id %>-amd64<%= @ext %>" else "fly_<%= @os_id %>_amd64" end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rake_fly-0.21.0 | lib/rake_fly.rb |
rake_fly-0.20.0.pre.pre.1 | lib/rake_fly.rb |