lib/tapioca/gemfile.rb in tapioca-0.16.5 vs lib/tapioca/gemfile.rb in tapioca-0.16.6

- old
+ new

@@ -64,18 +64,27 @@ [dependencies, missing_specs] end sig { returns([T::Enumerable[Spec], T::Array[String]]) } def materialize_deps - deps = definition.locked_gems.dependencies.values - materialized_dependencies = definition.resolve.materialize(deps) - missing_spec_names = materialized_dependencies.missing_specs.map(&:name).to_set - missing_specs = materialized_dependencies.missing_specs.map do |spec| - "#{spec.name} (#{spec.version})" + deps = definition.locked_gems.dependencies.except(*@excluded_gems).values + resolve = definition.resolve + materialized_dependencies = resolve.materialize(deps) + + if Bundler::VERSION >= "2.6.0" + missing_specs = resolve.missing_specs.map do |spec| + "#{spec.name} (#{spec.version})" + end + else + missing_spec_names = materialized_dependencies.missing_specs.map(&:name).to_set + missing_specs = materialized_dependencies.missing_specs.map do |spec| + "#{spec.name} (#{spec.version})" + end + materialized_dependencies = materialized_dependencies.to_a.reject do |spec| + missing_spec_names.include?(spec.name) + end end - materialized_dependencies = materialized_dependencies.to_a.reject do |spec| - missing_spec_names.include?(spec.name) - end + [materialized_dependencies, missing_specs] end sig { returns(Bundler::Runtime) } def runtime