Class: OodPackaging::RakeTask

Inherits:
Rake::TaskLib
  • Object
show all
Includes:
Utils, Rake::DSL
Defined in:
lib/ood_packaging/rake_task.rb

Overview

Define OodPackaging rake task library

Instance Method Summary collapse

Methods included from Utils

#container_runtime, #ctr_gems_dir, #ctr_gpg_dir, #ctr_home, #ctr_rpmmacros, #ctr_scripts_dir, #ctr_user, #docker_runtime?, #gpg_passphrase, #gpg_private_key, #nodejs_version, #ondemand_repo_version, #podman_runtime?, #proj_root, #rt_specific_flags, #ruby_version, #scl_ruby, #sed, #tar, #template_file

Constructor Details

#initialize(*args, &task_block) ⇒ RakeTask

Returns a new instance of RakeTask.



16
17
18
19
20
21
# File 'lib/ood_packaging/rake_task.rb', line 16

def initialize(*args, &task_block)
  super()
  @name = args.shift || :package

  define(args, &task_block)
end

Instance Method Details

#define(args, &task_block) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/ood_packaging/rake_task.rb', line 23

def define(args, &task_block)
  desc 'Build package' unless ::Rake.application.last_description

  task @name, *args do |_, task_args|
    task_block&.call(*[self, task_args].slice(0, task_block.arity))
    config = {}
    OodPackaging::OPTIONS.each do |o|
      v = instance_variable_get("@#{o}")
      config[o.to_sym] = v unless v.nil?
    end
    OodPackaging::Package.new(config).run!
  end
end

#nameObject



37
38
39
# File 'lib/ood_packaging/rake_task.rb', line 37

def name
  @name.to_s
end