summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--mrbgems/default.gembox32
-rw-r--r--mrbgems/full-core.gembox7
-rw-r--r--tasks/mruby_build_gem.rake12
3 files changed, 27 insertions, 24 deletions
diff --git a/mrbgems/default.gembox b/mrbgems/default.gembox
index 7e81abd34..76a6c11b6 100644
--- a/mrbgems/default.gembox
+++ b/mrbgems/default.gembox
@@ -1,49 +1,49 @@
MRuby::GemBox.new do |conf|
# Use standard Kernel#sprintf method
- conf.gem "#{root}/mrbgems/mruby-sprintf"
+ conf.gem :core => "mruby-sprintf"
# Use standard print/puts/p
- conf.gem "#{root}/mrbgems/mruby-print"
+ conf.gem :core => "mruby-print"
# Use standard Math module
- conf.gem "#{root}/mrbgems/mruby-math"
+ conf.gem :core => "mruby-math"
# Use standard Time class
- conf.gem "#{root}/mrbgems/mruby-time"
+ conf.gem :core => "mruby-time"
# Use standard Struct class
- conf.gem "#{root}/mrbgems/mruby-struct"
+ conf.gem :core => "mruby-struct"
# Use extensional Enumerable module
- conf.gem "#{root}/mrbgems/mruby-enum-ext"
+ conf.gem :core => "mruby-enum-ext"
# Use extensional String class
- conf.gem "#{root}/mrbgems/mruby-string-ext"
+ conf.gem :core => "mruby-string-ext"
# Use extensional Numeric class
- conf.gem "#{root}/mrbgems/mruby-numeric-ext"
+ conf.gem :core => "mruby-numeric-ext"
# Use extensional Array class
- conf.gem "#{root}/mrbgems/mruby-array-ext"
+ conf.gem :core => "mruby-array-ext"
# Use extensional Hash class
- conf.gem "#{root}/mrbgems/mruby-hash-ext"
+ conf.gem :core => "mruby-hash-ext"
# Use extensional Range class
- conf.gem "#{root}/mrbgems/mruby-range-ext"
+ conf.gem :core => "mruby-range-ext"
# Use extensional Proc class
- conf.gem "#{root}/mrbgems/mruby-proc-ext"
+ conf.gem :core => "mruby-proc-ext"
# Use extensional Symbol class
- conf.gem "#{root}/mrbgems/mruby-symbol-ext"
+ conf.gem :core => "mruby-symbol-ext"
# Use Random class
- conf.gem "#{root}/mrbgems/mruby-random"
+ conf.gem :core => "mruby-random"
# Generate mirb command
- conf.gem "#{root}/mrbgems/mruby-bin-mirb"
+ conf.gem :core => "mruby-bin-mirb"
# Generate mruby command
- conf.gem "#{root}/mrbgems/mruby-bin-mruby"
+ conf.gem :core => "mruby-bin-mruby"
end
diff --git a/mrbgems/full-core.gembox b/mrbgems/full-core.gembox
index b9f19e452..4a6ebbc80 100644
--- a/mrbgems/full-core.gembox
+++ b/mrbgems/full-core.gembox
@@ -1,8 +1,9 @@
MRuby::GemBox.new do |conf|
- conf.gem "#{root}/mrbgems/mruby-sprintf"
- conf.gem "#{root}/mrbgems/mruby-print"
+ conf.gem :core => "mruby-sprintf"
+ conf.gem :core => "mruby-print"
Dir.glob("#{root}/mrbgems/mruby-*") do |x|
- conf.gem x unless x =~ /\/mruby-(print|sprintf)$/
+ g = File.basename(x)
+ conf.gem :core => g unless g =~ /^mruby-(print|sprintf)$/
end
end
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?