From 94300f85f7559652626430fe2cdcde30648be69d Mon Sep 17 00:00:00 2001 From: Masataka Pocke Kuwabara Date: Thu, 14 Jul 2022 17:03:54 +0900 Subject: [PATCH] Load dependencies even with `-r` option --- lib/rbs/environment_loader.rb | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/lib/rbs/environment_loader.rb b/lib/rbs/environment_loader.rb index 5614eb9ae6..564171badc 100644 --- a/lib/rbs/environment_loader.rb +++ b/lib/rbs/environment_loader.rb @@ -38,12 +38,23 @@ def initialize(core_root: DEFAULT_CORE_ROOT, repository: Repository.new) @dirs = [] end - def add(path: nil, library: nil, version: nil) + def add(path: nil, library: nil, version: nil, resolve_dependency: true) case when path dirs << path when library libs << Library.new(name: library, version: version) + if resolve_dependency + [Collection::Sources::Rubygems.instance, Collection::Sources::Stdlib.instance].each do |source| + gem = {'name' => library, 'version' => version} + next unless source.has?(gem) + + source.dependencies_of(gem)&.each do |dep| + add(library: dep['name']) + end + break + end + end end end @@ -53,7 +64,7 @@ def add_collection(collection_config) repository.add(collection_config.repo_path) collection_config.gems.each do |gem| - add(library: gem['name'], version: gem['version']) + add(library: gem['name'], version: gem['version'], resolve_dependency: false) end end