From c1bf39bfdfaa0381be3a20d0d89ce159e482afe1 Mon Sep 17 00:00:00 2001 From: Riccardo Cipolleschi Date: Tue, 24 Jun 2025 06:01:36 -0700 Subject: [PATCH] Fix download of nightlies with SwiftPM (#52215) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/52215 We were not handling the download of the XML properly. Using `Net::HTTP.get` will directly return the body and that won't let us check on the status code of the response. ## Changelog: [Internal] - use get_response instead of get when downloading the maven metadata Reviewed By: cortinico Differential Revision: D77216121 fbshipit-source-id: 4da0abff1624c687977a7b77db8a15f19e6b887d --- packages/react-native/scripts/cocoapods/rncore.rb | 4 ++-- packages/react-native/scripts/cocoapods/rndependencies.rb | 5 ++--- packages/react-native/sdks/hermes-engine/hermes-utils.rb | 4 ++-- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/packages/react-native/scripts/cocoapods/rncore.rb b/packages/react-native/scripts/cocoapods/rncore.rb index 45fabb52ab5..b3030db48f0 100644 --- a/packages/react-native/scripts/cocoapods/rncore.rb +++ b/packages/react-native/scripts/cocoapods/rncore.rb @@ -131,8 +131,8 @@ class ReactNativeCoreUtils artefact_name = "reactnative-core-debug.tar.gz" xml_url = "https://central.sonatype.com/repository/maven-snapshots/com/facebook/react/#{artefact_coordinate}/#{version}-SNAPSHOT/maven-metadata.xml" - response = Net::HTTP.get(URI(xml_url)) - if response.kind_of? Net::HTTPSuccess + response = Net::HTTP.get_response(URI(xml_url)) + if response.is_a?(Net::HTTPSuccess) xml = REXML::Document.new(response) timestamp = xml.elements['metadata/versioning/snapshot/timestamp'].text build_number = xml.elements['metadata/versioning/snapshot/buildNumber'].text diff --git a/packages/react-native/scripts/cocoapods/rndependencies.rb b/packages/react-native/scripts/cocoapods/rndependencies.rb index 253205536e9..545ddc99e08 100644 --- a/packages/react-native/scripts/cocoapods/rndependencies.rb +++ b/packages/react-native/scripts/cocoapods/rndependencies.rb @@ -178,9 +178,8 @@ class ReactNativeDependenciesUtils artifact_name = "reactnative-dependencies-debug.tar.gz" xml_url = "https://central.sonatype.com/repository/maven-snapshots/com/facebook/react/#{artifact_coordinate}/#{version}-SNAPSHOT/maven-metadata.xml" - - response = Net::HTTP.get(URI(xml_url)) - if response.kind_of? Net::HTTPSuccess + response = Net::HTTP.get_response(URI(xml_url)) + if response.is_a?(Net::HTTPSuccess) xml = REXML::Document.new(response) timestamp = xml.elements['metadata/versioning/snapshot/timestamp'].text build_number = xml.elements['metadata/versioning/snapshot/buildNumber'].text diff --git a/packages/react-native/sdks/hermes-engine/hermes-utils.rb b/packages/react-native/sdks/hermes-engine/hermes-utils.rb index 7c6a32a4a00..a68a5600498 100644 --- a/packages/react-native/sdks/hermes-engine/hermes-utils.rb +++ b/packages/react-native/sdks/hermes-engine/hermes-utils.rb @@ -234,8 +234,8 @@ def nightly_tarball_url(version) artifact_name = "hermes-ios-debug.tar.gz" xml_url = "https://central.sonatype.com/repository/maven-snapshots/com/facebook/react/#{artifact_coordinate}/#{version}-SNAPSHOT/maven-metadata.xml" - response = Net::HTTP.get(URI(xml_url)) - if response.kind_of? Net::HTTPSuccess + response = Net::HTTP.get_response(URI(xml_url)) + if response.is_a?(Net::HTTPSuccess) xml = REXML::Document.new(response) timestamp = xml.elements['metadata/versioning/snapshot/timestamp'].text build_number = xml.elements['metadata/versioning/snapshot/buildNumber'].text