You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by ap...@apache.org on 2019/07/23 10:20:17 UTC
[arrow] branch master updated: ARROW-6012: [C++] Fall back on known
Apache mirror for Thrift downloads
This is an automated email from the ASF dual-hosted git repository.
apitrou pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow.git
The following commit(s) were added to refs/heads/master by this push:
new d4414f6 ARROW-6012: [C++] Fall back on known Apache mirror for Thrift downloads
d4414f6 is described below
commit d4414f605bf9b095ff4bcd99efaf3640c34b7f78
Author: Antoine Pitrou <an...@python.org>
AuthorDate: Tue Jul 23 12:20:02 2019 +0200
ARROW-6012: [C++] Fall back on known Apache mirror for Thrift downloads
Needed to fix AppVeyor builds
Closes #4924 from pitrou/ARROW-6012-apache-mirror and squashes the following commits:
cc7f20b7f <Antoine Pitrou> ARROW-6012: Fall back on known Apache mirror for Thrift downloads
Authored-by: Antoine Pitrou <an...@python.org>
Signed-off-by: Antoine Pitrou <an...@python.org>
---
cpp/build-support/get_apache_mirror.py | 16 +++++++++++++---
cpp/cmake_modules/ThirdpartyToolchain.cmake | 9 ++++-----
2 files changed, 17 insertions(+), 8 deletions(-)
diff --git a/cpp/build-support/get_apache_mirror.py b/cpp/build-support/get_apache_mirror.py
index 38ea6f4..ac55aba 100755
--- a/cpp/build-support/get_apache_mirror.py
+++ b/cpp/build-support/get_apache_mirror.py
@@ -20,6 +20,8 @@
# mirror for downloading dependencies, e.g. in CMake
import json
+import warnings
+
try:
import requests
@@ -35,6 +37,14 @@ except ImportError:
def get_url(url):
return urlopen(url).read()
-suggested_mirror = get_url('https://www.apache.org/dyn/'
- 'closer.cgi?as_json=1')
-print(json.loads(suggested_mirror.decode('utf-8'))['preferred'])
+url = 'https://www.apache.org/dyn/closer.cgi?as_json=1'
+
+try:
+ suggested_mirror = get_url(url)
+except Exception as e:
+ warnings.warn("Failed loading {url!r}: {e}".format(**locals()),
+ RuntimeWarning)
+ # Well-known mirror, in case the URL above fails loading
+ print("http://apache.osuosl.org/")
+else:
+ print(json.loads(suggested_mirror.decode('utf-8'))['preferred'])
diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake
index aa1e557..15c8b6e 100644
--- a/cpp/cmake_modules/ThirdpartyToolchain.cmake
+++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake
@@ -40,11 +40,10 @@ set(APACHE_MIRROR "")
macro(get_apache_mirror)
if(APACHE_MIRROR STREQUAL "")
- exec_program(${PYTHON_EXECUTABLE}
- ARGS
- ${CMAKE_SOURCE_DIR}/build-support/get_apache_mirror.py
- OUTPUT_VARIABLE
- APACHE_MIRROR)
+ execute_process(COMMAND ${PYTHON_EXECUTABLE}
+ ${CMAKE_SOURCE_DIR}/build-support/get_apache_mirror.py
+ OUTPUT_VARIABLE APACHE_MIRROR
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
endif()
endmacro()