diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2013-04-27 07:23:55 -0700 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2013-04-27 07:23:55 -0700 |
| commit | fad94ba5006d3ef9423fb684eeeb0639adb94ec3 (patch) | |
| tree | b2f4db3dd1cbe463edb3fbcafdbc1248d87a5888 /tasks | |
| parent | 495f66b9f17a36f9e85b370d9d51d5d8809b3ae8 (diff) | |
| parent | 3875140afe6c83868d4469fd170d831bef71a310 (diff) | |
| download | mruby-fad94ba5006d3ef9423fb684eeeb0639adb94ec3.tar.gz mruby-fad94ba5006d3ef9423fb684eeeb0639adb94ec3.zip | |
Merge pull request #1218 from bovi/gembox
GemBox
Diffstat (limited to 'tasks')
| -rw-r--r-- | tasks/mrbgem_spec.rake | 7 | ||||
| -rw-r--r-- | tasks/mruby_build_gem.rake | 7 |
2 files changed, 14 insertions, 0 deletions
diff --git a/tasks/mrbgem_spec.rake b/tasks/mrbgem_spec.rake index 564836630..eedc6480f 100644 --- a/tasks/mrbgem_spec.rake +++ b/tasks/mrbgem_spec.rake @@ -158,4 +158,11 @@ module MRuby end # Specification end # Gem + + GemBox = BasicObject.new + class << GemBox + def new(&block); block.call(self); end + def config=(obj); @config = obj; end + def gem(gemdir, &block); @config.gem(gemdir, &block); end + end # GemBox end # MRuby diff --git a/tasks/mruby_build_gem.rake b/tasks/mruby_build_gem.rake index 358df1612..10e9b9692 100644 --- a/tasks/mruby_build_gem.rake +++ b/tasks/mruby_build_gem.rake @@ -1,5 +1,12 @@ module MRuby module LoadGems + def gembox(gemboxfile) + gembox = File.absolute_path("#{gemboxfile}.gembox", "#{MRUBY_ROOT}/mrbgems") + fail "Can't find gembox '#{gembox}'" unless File.exists?(gembox) + GemBox.config = self + instance_eval File.read(gembox) + end + def gem(gemdir, &block) caller_dir = File.expand_path(File.dirname(/^(.*?):\d/.match(caller.first).to_a[1])) if gemdir.is_a?(Hash) |
