From 3110d84ed834cba90d9830ae23e89cd61bcae459 Mon Sep 17 00:00:00 2001 From: KOBAYASHI Shuji Date: Sun, 25 Aug 2019 09:48:07 +0900 Subject: Defer several build libraries loading until needed --- lib/mruby-core-ext.rb | 2 ++ lib/mruby/build.rb | 4 ++++ lib/mruby/gem.rb | 5 ++--- 3 files changed, 8 insertions(+), 3 deletions(-) (limited to 'lib') 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 -- cgit v1.2.3