summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDaniel Bovensiepen <[email protected]>2013-05-02 02:53:47 +0800
committerDaniel Bovensiepen <[email protected]>2013-05-02 02:53:47 +0800
commit045db9e528cb5907695a82673d34c2d322428eb0 (patch)
tree26620b3aae484cdb16992d8588e1a7ac1becc64d
parent96637a7723bf337580f649e9b2fc77a40706d216 (diff)
downloadmruby-045db9e528cb5907695a82673d34c2d322428eb0.tar.gz
mruby-045db9e528cb5907695a82673d34c2d322428eb0.zip
Implement :core parameter for conf.gem
-rw-r--r--tasks/mruby_build_gem.rake12
1 files changed, 7 insertions, 5 deletions
diff --git a/tasks/mruby_build_gem.rake b/tasks/mruby_build_gem.rake
index 993591efd..83c46de24 100644
--- a/tasks/mruby_build_gem.rake
+++ b/tasks/mruby_build_gem.rake
@@ -10,7 +10,7 @@ module MRuby
def gem(gemdir, &block)
caller_dir = File.expand_path(File.dirname(/^(.*?):\d/.match(caller.first).to_a[1]))
if gemdir.is_a?(Hash)
- gemdir = load_external_gem(gemdir)
+ gemdir = load_special_path_gem(gemdir)
else
gemdir = File.expand_path(gemdir, caller_dir)
end
@@ -28,14 +28,16 @@ module MRuby
Gem.current
end
- def load_external_gem(params)
+ def load_special_path_gem(params)
if params[:github]
params[:git] = "https://github.com/#{params[:github]}.git"
elsif params[:bitbucket]
params[:git] = "https://bitbucket.org/#{params[:bitbucket]}.git"
end
- if params[:git]
+ if params[:core]
+ gemdir = "#{root}/mrbgems/#{params[:core]}"
+ elsif params[:git]
url = params[:git]
gemdir = "build/mrbgems/#{url.match(/([-_\w]+)(\.[-_\w]+|)$/).to_a[1]}"
return gemdir if File.exists?(gemdir)
@@ -45,11 +47,11 @@ module MRuby
FileUtils.mkdir_p "build/mrbgems"
git.run_clone gemdir, url, options
-
- gemdir
else
fail "unknown gem option #{params}"
end
+
+ gemdir
end
def enable_gems?