summaryrefslogtreecommitdiffhomepage
path: root/tasks/mruby_build_gem.rake
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2013-05-01 18:10:55 -0700
committerYukihiro "Matz" Matsumoto <[email protected]>2013-05-01 18:10:55 -0700
commitfd2e32e971a59ff3b20d7f5fede2aa4dd3c8263d (patch)
tree62961e5dc9e6f5f66e3eb45c36e02bf9054ca5e9 /tasks/mruby_build_gem.rake
parentb3cdcfe27bc8fcd19c64c422c6f3686fd3012f8e (diff)
parentbffc9878ecd8cea73f4c3e1e1d29dec05041edc7 (diff)
downloadmruby-fd2e32e971a59ff3b20d7f5fede2aa4dd3c8263d.tar.gz
mruby-fd2e32e971a59ff3b20d7f5fede2aa4dd3c8263d.zip
Merge pull request #1228 from bovi/mrbgems-core-gem
Implementation of :core parameter for conf.gem
Diffstat (limited to 'tasks/mruby_build_gem.rake')
-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?