From 0f861b97b0b1514fa0f212086d74fbfc1f96e127 Mon Sep 17 00:00:00 2001 From: Emily Mabrey Date: Wed, 15 Sep 2021 21:59:13 -0400 Subject: [PATCH] Add automatic local nuget config CMake now automatically generates `nuget.config` with a read-only PAT Signed-off-by: Emily Mabrey --- CMakeLists.txt | 30 ++++++++++++++++++++++++++++++ nuget.config.in | 6 ++++++ 2 files changed, 36 insertions(+) create mode 100644 nuget.config.in diff --git a/CMakeLists.txt b/CMakeLists.txt index 7da780ddf..134f5ee64 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -144,6 +144,36 @@ if( VCPKG ) endif() endif() + if( NOT DEFINED ENV{CI} AND NOT EXISTS ${CMAKE_SOURCE_DIR}/nuget.config AND (EXISTS ${VCPKG_ROOT}/vcpkg OR EXISTS ${VCPKG_ROOT}/vcpkg.exe) ) + + execute_process( + COMMAND vcpkg fetch nuget + WORKING_DIRECTORY ${VCPKG_ROOT} + OUTPUT_VARIABLE NUGET_EXECUTABLE + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + + message( STATUS "Automatically setting Nuget api key to allow nuget cache usage locally" ) + + file( READ ${CMAKE_SOURCE_DIR}/nuget.config.in NUGET_CONFIG_CONTENT ) + file( WRITE ${CMAKE_SOURCE_DIR}/nuget.config ${NUGET_CONFIG_CONTENT} ) + + set( GITHUB_PACKAGES_TOKEN_SUFFIX "ZdXoXftxDTV20UjAmIL2Mw95kckhbo0hmiYz" ) + + execute_process( + COMMAND "${NUGET_EXECUTABLE}" sources add -Name tenacityteam_github_auto -Source https://nuget.pkg.github.com/tenacityteam/index.json -Config nuget.config -Username tenacityteamci -Password ghp_${GITHUB_PACKAGES_TOKEN_SUFFIX} -StorePasswordInClearText -ForceEnglishOutput -NonInteractive + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + ) + + execute_process( + COMMAND "${NUGET_EXECUTABLE}" setapikey -Source tenacityteam_github_auto -Config nuget.config ghp_${GITHUB_PACKAGES_TOKEN_SUFFIX} + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + OUTPUT_VARIABLE SETAPI_KEY_RESULT + ERROR_VARIABLE SETAPI_KEY_RESULT + ) + + endif() + if( NOT DEFINED VCPKG_OVERLAY_PORTS ) set( VCPKG_OVERLAY_PORTS "${VCPKG_ROOT}/overlay/ports" ) endif() diff --git a/nuget.config.in b/nuget.config.in new file mode 100644 index 000000000..f985ec7c0 --- /dev/null +++ b/nuget.config.in @@ -0,0 +1,6 @@ + + + + + +