Class: Beni::Tasks
- Inherits:
-
Rake::TaskLib
- Object
- Rake::TaskLib
- Beni::Tasks
- Defined in:
- lib/beni/tasks.rb
Overview
Rake task library exposing the beni:* namespace. Add to a Rakefile:
require "beni/tasks"
Beni::Tasks.new
or with declarations (a custom config cross-building to wasm32-wasip1):
Beni::Tasks.new do
build_config "build_config/mruby.rb"
target :host
target :wasi do
toolchain "wasi-sdk"
end
end
The block is the declarative DSL from SPEC.md, run on DSL::Context: scalar settings (version / build_config / vendor_dir), target declarations carrying toolchain references, and top-level toolchain definitions overriding a built-in pair. Every malformed declaration raises here — no task defined, nothing downloaded.
Defined tasks:
rake beni:build — fetch toolchains + build libmruby.a per target
rake beni:clean — remove mruby build trees (keeps source)
rake beni:config — generate the upstream default build config
rake beni:vendor:setup — download & unpack the selected toolchains
rake beni:vendor:clean — remove unpacked toolchains (keeps tarball cache)
rake beni:vendor:clobber — remove the vendor tree entirely
Instance Attribute Summary collapse
-
#configuration ⇒ Object
readonly
The resolved declarations — exposed so consumers and tests can inspect what the task definitions were wired from.
Instance Method Summary collapse
-
#initialize(&block) ⇒ Tasks
constructor
A new instance of Tasks.
Constructor Details
Instance Attribute Details
#configuration ⇒ Object (readonly)
The resolved declarations — exposed so consumers and tests can inspect what the task definitions were wired from.
43 44 45 |
# File 'lib/beni/tasks.rb', line 43 def configuration @configuration end |