summaryrefslogtreecommitdiffhomepage
path: root/lib
diff options
context:
space:
mode:
authorKOBAYASHI Shuji <[email protected]>2019-08-25 09:48:07 +0900
committerKOBAYASHI Shuji <[email protected]>2019-08-25 09:48:07 +0900
commit3110d84ed834cba90d9830ae23e89cd61bcae459 (patch)
treed11e906f688207e1838b5e0b7f36a8c8a592f979 /lib
parente3f74291730e53d7a0c3a52874fa189326824643 (diff)
downloadmruby-3110d84ed834cba90d9830ae23e89cd61bcae459.tar.gz
mruby-3110d84ed834cba90d9830ae23e89cd61bcae459.zip
Defer several build libraries loading until needed
Diffstat (limited to 'lib')
-rw-r--r--lib/mruby-core-ext.rb2
-rw-r--r--lib/mruby/build.rb4
-rw-r--r--lib/mruby/gem.rb5
3 files changed, 8 insertions, 3 deletions
diff --git a/lib/mruby-core-ext.rb b/lib/mruby-core-ext.rb
index 8c985f147..7b78bfa91 100644
--- a/lib/mruby-core-ext.rb
+++ b/lib/mruby-core-ext.rb
@@ -1,3 +1,5 @@
+autoload :Pathname, 'pathname'
+
class Object
class << self
def attr_block(*syms)
diff --git a/lib/mruby/build.rb b/lib/mruby/build.rb
index ecc343360..dfce42bea 100644
--- a/lib/mruby/build.rb
+++ b/lib/mruby/build.rb
@@ -1,7 +1,11 @@
+require "mruby-core-ext"
require "mruby/build/load_gems"
require "mruby/build/command"
module MRuby
+ autoload :Gem, "mruby/gem"
+ autoload :Lockfile, "mruby/lockfile"
+
class << self
def targets
@targets ||= {}
diff --git a/lib/mruby/gem.rb b/lib/mruby/gem.rb
index 95c1d4bc3..6cb067b91 100644
--- a/lib/mruby/gem.rb
+++ b/lib/mruby/gem.rb
@@ -1,7 +1,6 @@
-require 'pathname'
require 'forwardable'
-require 'tsort'
-require 'shellwords'
+autoload :TSort, 'tsort'
+autoload :Shellwords, 'shellwords'
module MRuby
module Gem