diff --git a/plugins/package-managers/bundler/src/main/kotlin/Bundler.kt b/plugins/package-managers/bundler/src/main/kotlin/Bundler.kt index 3c3e4ab67055e..8badbf14dfaca 100644 --- a/plugins/package-managers/bundler/src/main/kotlin/Bundler.kt +++ b/plugins/package-managers/bundler/src/main/kotlin/Bundler.kt @@ -313,7 +313,7 @@ class Bundler( // The metadata produced by the "resolve_dependencies.rb" script separates specs for packages with the "\0" // character as delimiter. - val gemSpecs = stdout.split('\u0000').dropWhile { it.startsWith("Fetching gem metadata") }.map { + val gemSpecs = stdout.split('\u0000').map { GemSpec.createFromMetadata(yamlMapper.readTree(it)) }.associateByTo(mutableMapOf()) { it.name diff --git a/plugins/package-managers/bundler/src/main/resources/resolve_dependencies.rb b/plugins/package-managers/bundler/src/main/resources/resolve_dependencies.rb index a9376e3a74127..bc6cb84512700 100644 --- a/plugins/package-managers/bundler/src/main/resources/resolve_dependencies.rb +++ b/plugins/package-managers/bundler/src/main/resources/resolve_dependencies.rb @@ -33,9 +33,7 @@ # This command tries to resolve dependencies that are specified in the Gemfile of the current working directory. # Explicitly enable resolution of remote `gem` or `git` dependencies. `path` dependencies are still resolved locally. -Bundler.definition.resolve_remotely! - -Bundler.definition.specs.each do |spec| - puts("\0") - puts(spec.to_yaml) -end +puts Bundler.ui.silence { + Bundler.definition.resolve_remotely! + Bundler.definition.specs.map { |spec| spec.to_yaml }.join("\0") +}