mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-11-24 09:49:07 +08:00
[vcpkg-download-distfile] Add proxy usage information to download failed message
This commit is contained in:
parent
523b611694
commit
a0eece81c6
@ -71,22 +71,22 @@ function(vcpkg_download_distfile VAR)
|
||||
file(REMOVE_RECURSE "${DOWNLOADS}/temp")
|
||||
file(MAKE_DIRECTORY "${DOWNLOADS}/temp")
|
||||
|
||||
function(test_hash FILE_KIND CUSTOM_ERROR_ADVICE)
|
||||
function(test_hash FILE_PATH FILE_KIND CUSTOM_ERROR_ADVICE)
|
||||
if(_VCPKG_INTERNAL_NO_HASH_CHECK)
|
||||
# When using the internal hash skip, do not output an explicit message.
|
||||
return()
|
||||
endif()
|
||||
if(vcpkg_download_distfile_SKIP_SHA512)
|
||||
message(STATUS "Skipping hash check for ${downloaded_file_path}.")
|
||||
message(STATUS "Skipping hash check for ${FILE_PATH}.")
|
||||
return()
|
||||
endif()
|
||||
|
||||
message(STATUS "Testing integrity of ${FILE_KIND}...")
|
||||
file(SHA512 ${downloaded_file_path} FILE_HASH)
|
||||
file(SHA512 ${FILE_PATH} FILE_HASH)
|
||||
if(NOT "${FILE_HASH}" STREQUAL "${vcpkg_download_distfile_SHA512}")
|
||||
message(FATAL_ERROR
|
||||
"\nFile does not have expected hash:\n"
|
||||
" File path: [ ${downloaded_file_path} ]\n"
|
||||
" File path: [ ${FILE_PATH} ]\n"
|
||||
" Expected hash: [ ${vcpkg_download_distfile_SHA512} ]\n"
|
||||
" Actual hash: [ ${FILE_HASH} ]\n"
|
||||
"${CUSTOM_ERROR_ADVICE}\n")
|
||||
@ -96,7 +96,7 @@ function(vcpkg_download_distfile VAR)
|
||||
|
||||
if(EXISTS ${downloaded_file_path})
|
||||
message(STATUS "Using cached ${downloaded_file_path}")
|
||||
test_hash("cached file" "Please delete the file and retry if this file should be downloaded again.")
|
||||
test_hash("${downloaded_file_path}" "cached file" "Please delete the file and retry if this file should be downloaded again.")
|
||||
else()
|
||||
if(_VCPKG_NO_DOWNLOADS)
|
||||
message(FATAL_ERROR "Downloads are disabled, but '${downloaded_file_path}' does not exist.")
|
||||
@ -111,9 +111,6 @@ function(vcpkg_download_distfile VAR)
|
||||
message(STATUS "Downloading ${url}... Failed. Status: ${download_status}")
|
||||
set(download_success 0)
|
||||
else()
|
||||
get_filename_component(downloaded_file_dir "${downloaded_file_path}" DIRECTORY)
|
||||
file(MAKE_DIRECTORY "${downloaded_file_dir}")
|
||||
file(RENAME ${download_file_path_part} ${downloaded_file_path})
|
||||
message(STATUS "Downloading ${url}... OK")
|
||||
set(download_success 1)
|
||||
break()
|
||||
@ -122,11 +119,16 @@ function(vcpkg_download_distfile VAR)
|
||||
|
||||
if (NOT download_success)
|
||||
message(FATAL_ERROR
|
||||
"\n"
|
||||
" \n"
|
||||
" Failed to download file.\n"
|
||||
" Add mirrors or submit an issue at https://github.com/Microsoft/vcpkg/issues\n")
|
||||
" If you use a proxy, please set the HTTPS_PROXY and HTTP_PROXY environment\n"
|
||||
" variables to \"https://user:password@your-proxy-ip-address:port/\".\n"
|
||||
" Otherwise, please submit an issue at https://github.com/Microsoft/vcpkg/issues\n")
|
||||
else()
|
||||
test_hash("downloaded file" "The file may have been corrupted in transit.")
|
||||
test_hash("${download_file_path_part}" "downloaded file" "The file may have been corrupted in transit. This can be caused by proxies. If you use a proxy, please set the HTTPS_PROXY and HTTP_PROXY environment variables to \"https://user:password@your-proxy-ip-address:port/\".\n")
|
||||
get_filename_component(downloaded_file_dir "${downloaded_file_path}" DIRECTORY)
|
||||
file(MAKE_DIRECTORY "${downloaded_file_dir}")
|
||||
file(RENAME ${download_file_path_part} ${downloaded_file_path})
|
||||
endif()
|
||||
endif()
|
||||
set(${VAR} ${downloaded_file_path} PARENT_SCOPE)
|
||||
|
Loading…
Reference in New Issue
Block a user