From 045db9e528cb5907695a82673d34c2d322428eb0 Mon Sep 17 00:00:00 2001 From: Daniel Bovensiepen Date: Thu, 2 May 2013 02:53:47 +0800 Subject: Implement :core parameter for conf.gem --- tasks/mruby_build_gem.rake | 12 +++++++----- 1 file 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? -- cgit v1.2.3 From 3afa961e8c56969f3f3bc3203fdde16ad5577f09 Mon Sep 17 00:00:00 2001 From: Daniel Bovensiepen Date: Thu, 2 May 2013 02:54:08 +0800 Subject: Apply :core parameter to default.gembox --- mrbgems/default.gembox | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 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 -- cgit v1.2.3 From bffc9878ecd8cea73f4c3e1e1d29dec05041edc7 Mon Sep 17 00:00:00 2001 From: Daniel Bovensiepen Date: Thu, 2 May 2013 02:54:21 +0800 Subject: Apply :core parameter to full-core.gembox --- mrbgems/full-core.gembox | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) 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 -- cgit v1.2.3