Class: IRPack::Rake::GenerateExeTask
- Inherits:
-
Rake::TaskLib
- Object
- Rake::TaskLib
- IRPack::Rake::GenerateExeTask
- Defined in:
- lib/irpack/rake/generateexetask.rb
Overview
Define task to generate executable described by IRPack::Specification.
Example:
require 'irpack/rake/generateexetask'
exe_spec = IRPack::Specification.new do |s|
s.output_file = 'example.exe'
s.entry_file = 'bin/main.rb'
s.files = Rake::Filelist['lib/**/*.rb']
s.target = :exe
s. = true
s. = true
s.compress = true
end
IRPack::Rake::GenerateExeTask.new(exe_spec) do |t|
end
Instance Attribute Summary collapse
-
#exe_spec ⇒ Object
Spec to generate executable.
-
#name ⇒ Object
Task name.
Instance Method Summary collapse
-
#define ⇒ Object
Create rake tasks.
-
#initialize(exe_spec, name = :exe) ⇒ GenerateExeTask
constructor
Create tasks that generates exe file.
Constructor Details
#initialize(exe_spec, name = :exe) ⇒ GenerateExeTask
Create tasks that generates exe file. Automatically define the gem if a block is given. If no block is supplied, then define
needs to be called to define the task.
63 64 65 66 67 68 69 70 71 |
# File 'lib/irpack/rake/generateexetask.rb', line 63 def initialize(exe_spec, name=:exe) @defined = false @name = name @exe_spec = exe_spec if block_given? then yield self define end end |
Instance Attribute Details
#exe_spec ⇒ Object
Spec to generate executable.
57 58 59 |
# File 'lib/irpack/rake/generateexetask.rb', line 57 def exe_spec @exe_spec end |
#name ⇒ Object
Task name. default is exe
.
55 56 57 |
# File 'lib/irpack/rake/generateexetask.rb', line 55 def name @name end |
Instance Method Details
#define ⇒ Object
Create rake tasks.
74 75 76 77 78 79 80 81 82 83 84 |
# File 'lib/irpack/rake/generateexetask.rb', line 74 def define raise ArgumentError, "No output_file is specified" unless @exe_spec.output_file raise ArgumentError, "No entry_file is specified" unless @exe_spec.entry_file output_file = @exe_spec.output_file sources = @exe_spec.map_files.values.to_a desc "Generate #{File.basename(output_file)}" task @name => [output_file] file output_file => sources do IRPack.pack(@exe_spec) end end |