diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 4f1b02cabe55..fc5331b4f404 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -97,43 +97,43 @@
5af96504f10836eca6ce804ab3cdd28c042fa35a
-
+
https://github.com/dotnet/roslyn
- d94a5505a6515a2d5350c7055853fc431e6dcfa4
+ f9ccce030d8fdcc2ea095e095b71316d243c5b35
-
+
https://github.com/dotnet/roslyn
- d94a5505a6515a2d5350c7055853fc431e6dcfa4
+ f9ccce030d8fdcc2ea095e095b71316d243c5b35
-
+
https://github.com/dotnet/roslyn
- d94a5505a6515a2d5350c7055853fc431e6dcfa4
+ f9ccce030d8fdcc2ea095e095b71316d243c5b35
-
+
https://github.com/dotnet/roslyn
- d94a5505a6515a2d5350c7055853fc431e6dcfa4
+ f9ccce030d8fdcc2ea095e095b71316d243c5b35
-
+
https://github.com/dotnet/roslyn
- d94a5505a6515a2d5350c7055853fc431e6dcfa4
+ f9ccce030d8fdcc2ea095e095b71316d243c5b35
-
+
https://github.com/dotnet/roslyn
- d94a5505a6515a2d5350c7055853fc431e6dcfa4
+ f9ccce030d8fdcc2ea095e095b71316d243c5b35
-
+
https://github.com/dotnet/roslyn
- d94a5505a6515a2d5350c7055853fc431e6dcfa4
+ f9ccce030d8fdcc2ea095e095b71316d243c5b35
-
+
https://github.com/dotnet/roslyn
- d94a5505a6515a2d5350c7055853fc431e6dcfa4
+ f9ccce030d8fdcc2ea095e095b71316d243c5b35
-
+
https://github.com/dotnet/roslyn
- d94a5505a6515a2d5350c7055853fc431e6dcfa4
+ f9ccce030d8fdcc2ea095e095b71316d243c5b35
https://github.com/dotnet/aspnetcore
@@ -559,34 +559,34 @@
-
+
https://github.com/dotnet/arcade
- 45d845e04c05fbe5da9838c454bbc3af1df6be81
+ 4f2968fce08735a7e22fca6bd4c99d003221d716
-
+
https://github.com/dotnet/arcade
- 45d845e04c05fbe5da9838c454bbc3af1df6be81
+ 4f2968fce08735a7e22fca6bd4c99d003221d716
-
+
https://github.com/dotnet/arcade
- 45d845e04c05fbe5da9838c454bbc3af1df6be81
+ 4f2968fce08735a7e22fca6bd4c99d003221d716
-
+
https://github.com/dotnet/arcade
- 45d845e04c05fbe5da9838c454bbc3af1df6be81
+ 4f2968fce08735a7e22fca6bd4c99d003221d716
-
+
https://github.com/dotnet/arcade
- 45d845e04c05fbe5da9838c454bbc3af1df6be81
+ 4f2968fce08735a7e22fca6bd4c99d003221d716
-
+
https://github.com/dotnet/arcade
- 45d845e04c05fbe5da9838c454bbc3af1df6be81
+ 4f2968fce08735a7e22fca6bd4c99d003221d716
-
+
https://github.com/dotnet/arcade
- 45d845e04c05fbe5da9838c454bbc3af1df6be81
+ 4f2968fce08735a7e22fca6bd4c99d003221d716
diff --git a/eng/Versions.props b/eng/Versions.props
index 25adbe773e54..79429490dd4e 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -209,14 +209,14 @@
- 4.13.0-3.24603.5
- 4.13.0-3.24603.5
- 4.13.0-3.24603.5
- 4.13.0-3.24603.5
- 4.13.0-3.24603.5
- 4.13.0-3.24603.5
- 4.13.0-3.24603.5
- 4.13.0-3.24603.5
+ 4.13.0-3.24617.3
+ 4.13.0-3.24617.3
+ 4.13.0-3.24617.3
+ 4.13.0-3.24617.3
+ 4.13.0-3.24617.3
+ 4.13.0-3.24617.3
+ 4.13.0-3.24617.3
+ 4.13.0-3.24617.3
@@ -262,10 +262,10 @@
- 10.0.0-beta.24604.4
- 10.0.0-beta.24604.4
- 10.0.0-beta.24604.4
- 10.0.0-beta.24604.4
+ 10.0.0-beta.24617.2
+ 10.0.0-beta.24617.2
+ 10.0.0-beta.24617.2
+ 10.0.0-beta.24617.2
diff --git a/eng/common/core-templates/steps/get-delegation-sas.yml b/eng/common/core-templates/steps/get-delegation-sas.yml
index 9db5617ea7de..d2901470a7f0 100644
--- a/eng/common/core-templates/steps/get-delegation-sas.yml
+++ b/eng/common/core-templates/steps/get-delegation-sas.yml
@@ -31,16 +31,7 @@ steps:
# Calculate the expiration of the SAS token and convert to UTC
$expiry = (Get-Date).AddHours(${{ parameters.expiryInHours }}).ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ssZ")
- # Temporarily work around a helix issue where SAS tokens with / in them will cause incorrect downloads
- # of correlation payloads. https://github.com/dotnet/dnceng/issues/3484
- $sas = ""
- do {
- $sas = az storage container generate-sas --account-name ${{ parameters.storageAccount }} --name ${{ parameters.container }} --permissions ${{ parameters.permissions }} --expiry $expiry --auth-mode login --as-user -o tsv
- if ($LASTEXITCODE -ne 0) {
- Write-Error "Failed to generate SAS token."
- exit 1
- }
- } while($sas.IndexOf('/') -ne -1)
+ $sas = az storage container generate-sas --account-name ${{ parameters.storageAccount }} --name ${{ parameters.container }} --permissions ${{ parameters.permissions }} --expiry $expiry --auth-mode login --as-user -o tsv
if ($LASTEXITCODE -ne 0) {
Write-Error "Failed to generate SAS token."
diff --git a/eng/common/core-templates/steps/source-build.yml b/eng/common/core-templates/steps/source-build.yml
index 4da05afe0544..f9ba1625c20f 100644
--- a/eng/common/core-templates/steps/source-build.yml
+++ b/eng/common/core-templates/steps/source-build.yml
@@ -78,7 +78,7 @@ steps:
portableBuildArgs=
if [ '${{ parameters.platform.portableBuild }}' != '' ]; then
- portableBuildArgs='/p:PortabelBuild=${{ parameters.platform.portableBuild }}'
+ portableBuildArgs='/p:PortableBuild=${{ parameters.platform.portableBuild }}'
fi
${{ coalesce(parameters.platform.buildScript, './build.sh') }} --ci \
diff --git a/eng/common/cross/build-rootfs.sh b/eng/common/cross/build-rootfs.sh
index 20ae8c28687b..464040aaaea6 100755
--- a/eng/common/cross/build-rootfs.sh
+++ b/eng/common/cross/build-rootfs.sh
@@ -52,14 +52,12 @@ __UbuntuPackages+=" symlinks"
__UbuntuPackages+=" libicu-dev"
__UbuntuPackages+=" liblttng-ust-dev"
__UbuntuPackages+=" libunwind8-dev"
-__UbuntuPackages+=" libnuma-dev"
__AlpinePackages+=" gettext-dev"
__AlpinePackages+=" icu-dev"
__AlpinePackages+=" libunwind-dev"
__AlpinePackages+=" lttng-ust-dev"
__AlpinePackages+=" compiler-rt"
-__AlpinePackages+=" numactl-dev"
# runtime libraries' dependencies
__UbuntuPackages+=" libcurl4-openssl-dev"
@@ -73,8 +71,8 @@ __AlpinePackages+=" krb5-dev"
__AlpinePackages+=" openssl-dev"
__AlpinePackages+=" zlib-dev"
-__FreeBSDBase="13.3-RELEASE"
-__FreeBSDPkg="1.17.0"
+__FreeBSDBase="13.4-RELEASE"
+__FreeBSDPkg="1.21.3"
__FreeBSDABI="13"
__FreeBSDPackages="libunwind"
__FreeBSDPackages+=" icu"
@@ -371,7 +369,7 @@ while :; do
;;
freebsd14)
__CodeName=freebsd
- __FreeBSDBase="14.0-RELEASE"
+ __FreeBSDBase="14.2-RELEASE"
__FreeBSDABI="14"
__SkipUnmount=1
;;
@@ -424,13 +422,12 @@ case "$__AlpineVersion" in
elif [[ "$__AlpineArch" == "riscv64" ]]; then
__AlpineLlvmLibsLookup=1
__AlpineVersion=edge # minimum version with APKINDEX.tar.gz (packages archive)
+ elif [[ -n "$__AlpineMajorVersion" ]]; then
+ # use whichever alpine version is provided and select the latest toolchain libs
+ __AlpineLlvmLibsLookup=1
else
__AlpineVersion=3.13 # 3.13 to maximize compatibility
__AlpinePackages+=" llvm10-libs"
-
- if [[ "$__AlpineArch" == "armv7" ]]; then
- __AlpinePackages="${__AlpinePackages//numactl-dev/}"
- fi
fi
esac
@@ -444,11 +441,6 @@ if [[ "$__BuildArch" == "armel" ]]; then
__LLDB_Package="lldb-3.5-dev"
fi
-if [[ "$__CodeName" == "xenial" && "$__UbuntuArch" == "armhf" ]]; then
- # libnuma-dev is not available on armhf for xenial
- __UbuntuPackages="${__UbuntuPackages//libnuma-dev/}"
-fi
-
__UbuntuPackages+=" ${__LLDB_Package:-}"
if [[ -z "$__UbuntuRepo" ]]; then
@@ -574,7 +566,7 @@ elif [[ "$__CodeName" == "freebsd" ]]; then
curl -SL "https://download.freebsd.org/ftp/releases/${__FreeBSDArch}/${__FreeBSDMachineArch}/${__FreeBSDBase}/base.txz" | tar -C "$__RootfsDir" -Jxf - ./lib ./usr/lib ./usr/libdata ./usr/include ./usr/share/keys ./etc ./bin/freebsd-version
fi
echo "ABI = \"FreeBSD:${__FreeBSDABI}:${__FreeBSDMachineArch}\"; FINGERPRINTS = \"${__RootfsDir}/usr/share/keys\"; REPOS_DIR = [\"${__RootfsDir}/etc/pkg\"]; REPO_AUTOUPDATE = NO; RUN_SCRIPTS = NO;" > "${__RootfsDir}"/usr/local/etc/pkg.conf
- echo "FreeBSD: { url: \"pkg+http://pkg.FreeBSD.org/\${ABI}/quarterly\", mirror_type: \"srv\", signature_type: \"fingerprints\", fingerprints: \"${__RootfsDir}/usr/share/keys/pkg\", enabled: yes }" > "${__RootfsDir}"/etc/pkg/FreeBSD.conf
+ echo "FreeBSD: { url: \"pkg+http://pkg.FreeBSD.org/\${ABI}/quarterly\", mirror_type: \"srv\", signature_type: \"fingerprints\", fingerprints: \"/usr/share/keys/pkg\", enabled: yes }" > "${__RootfsDir}"/etc/pkg/FreeBSD.conf
mkdir -p "$__RootfsDir"/tmp
# get and build package manager
if [[ "$__hasWget" == 1 ]]; then
diff --git a/eng/common/cross/toolchain.cmake b/eng/common/cross/toolchain.cmake
index 9a4e285a5ae3..0ff85cf0367e 100644
--- a/eng/common/cross/toolchain.cmake
+++ b/eng/common/cross/toolchain.cmake
@@ -40,7 +40,7 @@ if(TARGET_ARCH_NAME STREQUAL "arm")
set(TOOLCHAIN "arm-linux-gnueabihf")
endif()
if(TIZEN)
- set(TIZEN_TOOLCHAIN "armv7hl-tizen-linux-gnueabihf/9.2.0")
+ set(TIZEN_TOOLCHAIN "armv7hl-tizen-linux-gnueabihf")
endif()
elseif(TARGET_ARCH_NAME STREQUAL "arm64")
set(CMAKE_SYSTEM_PROCESSOR aarch64)
@@ -49,7 +49,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "arm64")
elseif(LINUX)
set(TOOLCHAIN "aarch64-linux-gnu")
if(TIZEN)
- set(TIZEN_TOOLCHAIN "aarch64-tizen-linux-gnu/9.2.0")
+ set(TIZEN_TOOLCHAIN "aarch64-tizen-linux-gnu")
endif()
elseif(FREEBSD)
set(triple "aarch64-unknown-freebsd12")
@@ -58,7 +58,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "armel")
set(CMAKE_SYSTEM_PROCESSOR armv7l)
set(TOOLCHAIN "arm-linux-gnueabi")
if(TIZEN)
- set(TIZEN_TOOLCHAIN "armv7l-tizen-linux-gnueabi/9.2.0")
+ set(TIZEN_TOOLCHAIN "armv7l-tizen-linux-gnueabi")
endif()
elseif(TARGET_ARCH_NAME STREQUAL "armv6")
set(CMAKE_SYSTEM_PROCESSOR armv6l)
@@ -67,6 +67,13 @@ elseif(TARGET_ARCH_NAME STREQUAL "armv6")
else()
set(TOOLCHAIN "arm-linux-gnueabihf")
endif()
+elseif(TARGET_ARCH_NAME STREQUAL "loongarch64")
+ set(CMAKE_SYSTEM_PROCESSOR "loongarch64")
+ if(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/loongarch64-alpine-linux-musl)
+ set(TOOLCHAIN "loongarch64-alpine-linux-musl")
+ else()
+ set(TOOLCHAIN "loongarch64-linux-gnu")
+ endif()
elseif(TARGET_ARCH_NAME STREQUAL "ppc64le")
set(CMAKE_SYSTEM_PROCESSOR ppc64le)
if(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/powerpc64le-alpine-linux-musl)
@@ -81,7 +88,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "riscv64")
else()
set(TOOLCHAIN "riscv64-linux-gnu")
if(TIZEN)
- set(TIZEN_TOOLCHAIN "riscv64-tizen-linux-gnu/13.1.0")
+ set(TIZEN_TOOLCHAIN "riscv64-tizen-linux-gnu")
endif()
endif()
elseif(TARGET_ARCH_NAME STREQUAL "s390x")
@@ -98,7 +105,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "x64")
elseif(LINUX)
set(TOOLCHAIN "x86_64-linux-gnu")
if(TIZEN)
- set(TIZEN_TOOLCHAIN "x86_64-tizen-linux-gnu/9.2.0")
+ set(TIZEN_TOOLCHAIN "x86_64-tizen-linux-gnu")
endif()
elseif(FREEBSD)
set(triple "x86_64-unknown-freebsd12")
@@ -115,10 +122,10 @@ elseif(TARGET_ARCH_NAME STREQUAL "x86")
set(TOOLCHAIN "i686-linux-gnu")
endif()
if(TIZEN)
- set(TIZEN_TOOLCHAIN "i586-tizen-linux-gnu/9.2.0")
+ set(TIZEN_TOOLCHAIN "i586-tizen-linux-gnu")
endif()
else()
- message(FATAL_ERROR "Arch is ${TARGET_ARCH_NAME}. Only arm, arm64, armel, armv6, ppc64le, riscv64, s390x, x64 and x86 are supported!")
+ message(FATAL_ERROR "Arch is ${TARGET_ARCH_NAME}. Only arm, arm64, armel, armv6, loongarch64, ppc64le, riscv64, s390x, x64 and x86 are supported!")
endif()
if(DEFINED ENV{TOOLCHAIN})
@@ -127,32 +134,46 @@ endif()
# Specify include paths
if(TIZEN)
- if(TARGET_ARCH_NAME STREQUAL "arm")
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/armv7hl-tizen-linux-gnueabihf)
- endif()
- if(TARGET_ARCH_NAME STREQUAL "armel")
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/armv7l-tizen-linux-gnueabi)
- endif()
- if(TARGET_ARCH_NAME STREQUAL "arm64")
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/aarch64-tizen-linux-gnu)
- endif()
- if(TARGET_ARCH_NAME STREQUAL "x86")
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/i586-tizen-linux-gnu)
- endif()
- if(TARGET_ARCH_NAME STREQUAL "x64")
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/x86_64-tizen-linux-gnu)
- endif()
- if(TARGET_ARCH_NAME STREQUAL "riscv64")
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/riscv64-tizen-linux-gnu)
+ function(find_toolchain_dir prefix)
+ # Dynamically find the version subdirectory
+ file(GLOB DIRECTORIES "${prefix}/*")
+ list(GET DIRECTORIES 0 FIRST_MATCH)
+ get_filename_component(TOOLCHAIN_VERSION ${FIRST_MATCH} NAME)
+
+ set(TIZEN_TOOLCHAIN_PATH "${prefix}/${TOOLCHAIN_VERSION}" PARENT_SCOPE)
+ endfunction()
+
+ if(TARGET_ARCH_NAME MATCHES "^(arm|armel|x86)$")
+ find_toolchain_dir("${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
+ else()
+ find_toolchain_dir("${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}")
endif()
+
+ message(STATUS "TIZEN_TOOLCHAIN_PATH set to: ${TIZEN_TOOLCHAIN_PATH}")
+
+ include_directories(SYSTEM ${TIZEN_TOOLCHAIN_PATH}/include/c++)
+ include_directories(SYSTEM ${TIZEN_TOOLCHAIN_PATH}/include/c++/${TIZEN_TOOLCHAIN})
endif()
+function(locate_toolchain_exec exec var)
+ set(TOOLSET_PREFIX ${TOOLCHAIN}-)
+ string(TOUPPER ${exec} EXEC_UPPERCASE)
+ if(NOT "$ENV{CLR_${EXEC_UPPERCASE}}" STREQUAL "")
+ set(${var} "$ENV{CLR_${EXEC_UPPERCASE}}" PARENT_SCOPE)
+ return()
+ endif()
+
+ find_program(EXEC_LOCATION_${exec}
+ NAMES
+ "${TOOLSET_PREFIX}${exec}${CLR_CMAKE_COMPILER_FILE_NAME_VERSION}"
+ "${TOOLSET_PREFIX}${exec}")
+
+ if (EXEC_LOCATION_${exec} STREQUAL "EXEC_LOCATION_${exec}-NOTFOUND")
+ message(FATAL_ERROR "Unable to find toolchain executable. Name: ${exec}, Prefix: ${TOOLSET_PREFIX}.")
+ endif()
+ set(${var} ${EXEC_LOCATION_${exec}} PARENT_SCOPE)
+endfunction()
+
if(ANDROID)
if(TARGET_ARCH_NAME STREQUAL "arm")
set(ANDROID_ABI armeabi-v7a)
@@ -183,66 +204,24 @@ elseif(FREEBSD)
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -fuse-ld=lld")
elseif(ILLUMOS)
set(CMAKE_SYSROOT "${CROSS_ROOTFS}")
+ set(CMAKE_SYSTEM_PREFIX_PATH "${CROSS_ROOTFS}")
+ set(CMAKE_C_STANDARD_LIBRARIES "${CMAKE_C_STANDARD_LIBRARIES} -lssp")
+ set(CMAKE_CXX_STANDARD_LIBRARIES "${CMAKE_CXX_STANDARD_LIBRARIES} -lssp")
include_directories(SYSTEM ${CROSS_ROOTFS}/include)
- set(TOOLSET_PREFIX ${TOOLCHAIN}-)
- function(locate_toolchain_exec exec var)
- string(TOUPPER ${exec} EXEC_UPPERCASE)
- if(NOT "$ENV{CLR_${EXEC_UPPERCASE}}" STREQUAL "")
- set(${var} "$ENV{CLR_${EXEC_UPPERCASE}}" PARENT_SCOPE)
- return()
- endif()
-
- find_program(EXEC_LOCATION_${exec}
- NAMES
- "${TOOLSET_PREFIX}${exec}${CLR_CMAKE_COMPILER_FILE_NAME_VERSION}"
- "${TOOLSET_PREFIX}${exec}")
-
- if (EXEC_LOCATION_${exec} STREQUAL "EXEC_LOCATION_${exec}-NOTFOUND")
- message(FATAL_ERROR "Unable to find toolchain executable. Name: ${exec}, Prefix: ${TOOLSET_PREFIX}.")
- endif()
- set(${var} ${EXEC_LOCATION_${exec}} PARENT_SCOPE)
- endfunction()
-
- set(CMAKE_SYSTEM_PREFIX_PATH "${CROSS_ROOTFS}")
-
locate_toolchain_exec(gcc CMAKE_C_COMPILER)
locate_toolchain_exec(g++ CMAKE_CXX_COMPILER)
-
- set(CMAKE_C_STANDARD_LIBRARIES "${CMAKE_C_STANDARD_LIBRARIES} -lssp")
- set(CMAKE_CXX_STANDARD_LIBRARIES "${CMAKE_CXX_STANDARD_LIBRARIES} -lssp")
elseif(HAIKU)
set(CMAKE_SYSROOT "${CROSS_ROOTFS}")
set(CMAKE_PROGRAM_PATH "${CMAKE_PROGRAM_PATH};${CROSS_ROOTFS}/cross-tools-x86_64/bin")
-
- set(TOOLSET_PREFIX ${TOOLCHAIN}-)
- function(locate_toolchain_exec exec var)
- string(TOUPPER ${exec} EXEC_UPPERCASE)
- if(NOT "$ENV{CLR_${EXEC_UPPERCASE}}" STREQUAL "")
- set(${var} "$ENV{CLR_${EXEC_UPPERCASE}}" PARENT_SCOPE)
- return()
- endif()
-
- find_program(EXEC_LOCATION_${exec}
- NAMES
- "${TOOLSET_PREFIX}${exec}${CLR_CMAKE_COMPILER_FILE_NAME_VERSION}"
- "${TOOLSET_PREFIX}${exec}")
-
- if (EXEC_LOCATION_${exec} STREQUAL "EXEC_LOCATION_${exec}-NOTFOUND")
- message(FATAL_ERROR "Unable to find toolchain executable. Name: ${exec}, Prefix: ${TOOLSET_PREFIX}.")
- endif()
- set(${var} ${EXEC_LOCATION_${exec}} PARENT_SCOPE)
- endfunction()
-
set(CMAKE_SYSTEM_PREFIX_PATH "${CROSS_ROOTFS}")
+ set(CMAKE_C_STANDARD_LIBRARIES "${CMAKE_C_STANDARD_LIBRARIES} -lssp")
+ set(CMAKE_CXX_STANDARD_LIBRARIES "${CMAKE_CXX_STANDARD_LIBRARIES} -lssp")
locate_toolchain_exec(gcc CMAKE_C_COMPILER)
locate_toolchain_exec(g++ CMAKE_CXX_COMPILER)
- set(CMAKE_C_STANDARD_LIBRARIES "${CMAKE_C_STANDARD_LIBRARIES} -lssp")
- set(CMAKE_CXX_STANDARD_LIBRARIES "${CMAKE_CXX_STANDARD_LIBRARIES} -lssp")
-
# let CMake set up the correct search paths
include(Platform/Haiku)
else()
@@ -272,21 +251,21 @@ endif()
if(TARGET_ARCH_NAME MATCHES "^(arm|armel)$")
if(TIZEN)
- add_toolchain_linker_flag("-B${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
+ add_toolchain_linker_flag("-B${TIZEN_TOOLCHAIN_PATH}")
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib")
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib")
- add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
+ add_toolchain_linker_flag("-L${TIZEN_TOOLCHAIN_PATH}")
endif()
elseif(TARGET_ARCH_NAME MATCHES "^(arm64|x64|riscv64)$")
if(TIZEN)
- add_toolchain_linker_flag("-B${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}")
+ add_toolchain_linker_flag("-B${TIZEN_TOOLCHAIN_PATH}")
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib64")
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib64")
- add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}")
+ add_toolchain_linker_flag("-L${TIZEN_TOOLCHAIN_PATH}")
add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS}/lib64")
add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS}/usr/lib64")
- add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}")
+ add_toolchain_linker_flag("-Wl,--rpath-link=${TIZEN_TOOLCHAIN_PATH}")
endif()
elseif(TARGET_ARCH_NAME STREQUAL "s390x")
add_toolchain_linker_flag("--target=${TOOLCHAIN}")
@@ -297,10 +276,10 @@ elseif(TARGET_ARCH_NAME STREQUAL "x86")
endif()
add_toolchain_linker_flag(-m32)
if(TIZEN)
- add_toolchain_linker_flag("-B${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
+ add_toolchain_linker_flag("-B${TIZEN_TOOLCHAIN_PATH}")
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib")
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib")
- add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
+ add_toolchain_linker_flag("-L${TIZEN_TOOLCHAIN_PATH}")
endif()
elseif(ILLUMOS)
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib/amd64")
@@ -312,7 +291,7 @@ endif()
# Specify compile options
-if((TARGET_ARCH_NAME MATCHES "^(arm|arm64|armel|armv6|ppc64le|riscv64|s390x|x64|x86)$" AND NOT ANDROID AND NOT FREEBSD) OR ILLUMOS OR HAIKU)
+if((TARGET_ARCH_NAME MATCHES "^(arm|arm64|armel|armv6|loongarch64|ppc64le|riscv64|s390x|x64|x86)$" AND NOT ANDROID AND NOT FREEBSD) OR ILLUMOS OR HAIKU)
set(CMAKE_C_COMPILER_TARGET ${TOOLCHAIN})
set(CMAKE_CXX_COMPILER_TARGET ${TOOLCHAIN})
set(CMAKE_ASM_COMPILER_TARGET ${TOOLCHAIN})
diff --git a/global.json b/global.json
index 3084f6c449d8..54d9f756804e 100644
--- a/global.json
+++ b/global.json
@@ -1,6 +1,6 @@
{
"tools": {
- "dotnet": "10.0.100-alpha.1.24551.9",
+ "dotnet": "10.0.100-alpha.1.24573.1",
"runtimes": {
"dotnet": [
"$(VSRedistCommonNetCoreSharedFrameworkx64100PackageVersion)"
@@ -17,8 +17,8 @@
"cmake": "latest"
},
"msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.24604.4",
- "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.24604.4",
+ "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.24617.2",
+ "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.24617.2",
"Microsoft.Build.NoTargets": "3.7.0",
"Microsoft.DotNet.CMake.Sdk": "9.0.0-beta.24217.1"
}
diff --git a/sdk.sln b/sdk.sln
index bb50c11fcfe4..d95872ed1bfc 100644
--- a/sdk.sln
+++ b/sdk.sln
@@ -514,7 +514,7 @@ EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VSMSBuildExtensions", "src\VSMSBuildExtensions\VSMSBuildExtensions.proj", "{D9617F63-15F4-4CA2-8ECF-728A94B45D82}"
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Microsoft.DotNet.HotReload.Agent", "src\BuiltInTools\HotReloadAgent\Microsoft.DotNet.HotReload.Agent.shproj", "{418B10BD-CA42-49F3-8F4A-D8CC90C8A17D}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.DotNet.HotReload.Agent.Package", "src\BuiltInTools\HotReloadAgent.Package\Microsoft.DotNet.HotReload.Agent.Package.csproj", "{2FF79F82-60C1-349A-4726-7783D5A6D5DF}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.DotNet.HotReload.Agent.Package", "src\BuiltInTools\HotReloadAgent\Microsoft.DotNet.HotReload.Agent.Package.csproj", "{2FF79F82-60C1-349A-4726-7783D5A6D5DF}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -1167,7 +1167,6 @@ Global
src\Compatibility\ApiCompat\Microsoft.DotNet.ApiCompat.Shared\Microsoft.DotNet.ApiCompat.Shared.projitems*{0a3c9afd-f6e6-4a5d-83fb-93bf66732696}*SharedItemsImports = 5
src\BuiltInTools\HotReloadAgent\Microsoft.DotNet.HotReload.Agent.projitems*{1bbfa19c-03f0-4d27-9d0d-0f8172642107}*SharedItemsImports = 5
src\BuiltInTools\AspireService\Microsoft.WebTools.AspireService.projitems*{1f0b4b3c-dc88-4740-b04f-1707102e9930}*SharedItemsImports = 5
- src\BuiltInTools\HotReloadAgent\Microsoft.DotNet.HotReload.Agent.projitems*{2ff79f82-60c1-349a-4726-7783d5a6d5df}*SharedItemsImports = 5
src\BuiltInTools\HotReloadAgent\Microsoft.DotNet.HotReload.Agent.projitems*{418b10bd-ca42-49f3-8f4a-d8cc90c8a17d}*SharedItemsImports = 13
src\BuiltInTools\AspireService\Microsoft.WebTools.AspireService.projitems*{445efbd5-6730-4f09-943d-278e77501ffd}*SharedItemsImports = 5
src\BuiltInTools\AspireService\Microsoft.WebTools.AspireService.projitems*{94c8526e-dcc2-442f-9868-3dd0ba2688be}*SharedItemsImports = 13
diff --git a/src/BuiltInTools/AspireService/AspireServerService.cs b/src/BuiltInTools/AspireService/AspireServerService.cs
index 9543b0cda9cd..e10019989af3 100644
--- a/src/BuiltInTools/AspireService/AspireServerService.cs
+++ b/src/BuiltInTools/AspireService/AspireServerService.cs
@@ -1,12 +1,17 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
+using System;
+using System.Collections.Generic;
using System.Net;
using System.Net.WebSockets;
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;
+using System.Text;
using System.Text.Json;
using System.Text.Json.Serialization;
+using System.Threading;
+using System.Threading.Tasks;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
@@ -81,7 +86,7 @@ public AspireServerService(IAspireServerEvents aspireServerEvents, string displa
_certificateEncodedBytes = Convert.ToBase64String(certBytes);
// Kick of the web server.
- _requestListener = StartListening();
+ _requestListener = StartListeningAsync();
}
public async ValueTask DisposeAsync()
@@ -178,7 +183,7 @@ bool LogAndPropagate(Exception e)
/// Waits for a connection so that it can get the WebSocket that will be used to send messages tio the client. It accepts messages via Restful http
/// calls.
///
- private Task StartListening()
+ private Task StartListeningAsync()
{
var builder = WebApplication.CreateSlimBuilder();
diff --git a/src/BuiltInTools/AspireService/Contracts/IAspireServerEvents.cs b/src/BuiltInTools/AspireService/Contracts/IAspireServerEvents.cs
index 82f000261a9e..dda162760e8d 100644
--- a/src/BuiltInTools/AspireService/Contracts/IAspireServerEvents.cs
+++ b/src/BuiltInTools/AspireService/Contracts/IAspireServerEvents.cs
@@ -1,6 +1,10 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
+using System.Threading;
+using System.Threading.Tasks;
+using System.Collections.Generic;
+
namespace Aspire.Tools.Service;
internal interface IAspireServerEvents
diff --git a/src/BuiltInTools/AspireService/Helpers/CertGenerator.cs b/src/BuiltInTools/AspireService/Helpers/CertGenerator.cs
index e3785b9ecc19..7aff7d6a7126 100644
--- a/src/BuiltInTools/AspireService/Helpers/CertGenerator.cs
+++ b/src/BuiltInTools/AspireService/Helpers/CertGenerator.cs
@@ -1,6 +1,7 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
+using System;
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;
diff --git a/src/BuiltInTools/AspireService/Helpers/ExceptionExtensions.cs b/src/BuiltInTools/AspireService/Helpers/ExceptionExtensions.cs
index d667c50819e4..3fbb1d0caef1 100644
--- a/src/BuiltInTools/AspireService/Helpers/ExceptionExtensions.cs
+++ b/src/BuiltInTools/AspireService/Helpers/ExceptionExtensions.cs
@@ -1,6 +1,8 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
+using System;
+
namespace Aspire.Tools.Service;
internal static class ExceptionExtensions
diff --git a/src/BuiltInTools/AspireService/Helpers/HttpContextExtensions.cs b/src/BuiltInTools/AspireService/Helpers/HttpContextExtensions.cs
index 13ddb6b5cd23..710a1e69baaa 100644
--- a/src/BuiltInTools/AspireService/Helpers/HttpContextExtensions.cs
+++ b/src/BuiltInTools/AspireService/Helpers/HttpContextExtensions.cs
@@ -1,6 +1,9 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
+using System;
+using System.Threading;
+using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
namespace Aspire.Tools.Service;
diff --git a/src/BuiltInTools/AspireService/Helpers/LoggerProvider.cs b/src/BuiltInTools/AspireService/Helpers/LoggerProvider.cs
index c190354635b6..499bd506289a 100644
--- a/src/BuiltInTools/AspireService/Helpers/LoggerProvider.cs
+++ b/src/BuiltInTools/AspireService/Helpers/LoggerProvider.cs
@@ -1,6 +1,7 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
+using System;
using Microsoft.Extensions.Logging;
namespace Aspire.Tools.Service;
diff --git a/src/BuiltInTools/AspireService/Helpers/SocketUtilities.cs b/src/BuiltInTools/AspireService/Helpers/SocketUtilities.cs
index 3ac8c1034703..3e93de3b0232 100644
--- a/src/BuiltInTools/AspireService/Helpers/SocketUtilities.cs
+++ b/src/BuiltInTools/AspireService/Helpers/SocketUtilities.cs
@@ -1,6 +1,9 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
+using System;
+using System.Linq;
+using System.Collections.Generic;
using System.Net;
using System.Net.Sockets;
diff --git a/src/BuiltInTools/AspireService/Helpers/WebSocketConnection.cs b/src/BuiltInTools/AspireService/Helpers/WebSocketConnection.cs
index e82da71764d1..a39b74bfb6dc 100644
--- a/src/BuiltInTools/AspireService/Helpers/WebSocketConnection.cs
+++ b/src/BuiltInTools/AspireService/Helpers/WebSocketConnection.cs
@@ -1,6 +1,9 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
+using System;
+using System.Threading;
+using System.Threading.Tasks;
using System.Net.WebSockets;
namespace Aspire.Tools.Service;
diff --git a/src/BuiltInTools/AspireService/Microsoft.WebTools.AspireService.Package.csproj b/src/BuiltInTools/AspireService/Microsoft.WebTools.AspireService.Package.csproj
index 3b46ec9fdf21..f317ebe3fcf1 100644
--- a/src/BuiltInTools/AspireService/Microsoft.WebTools.AspireService.Package.csproj
+++ b/src/BuiltInTools/AspireService/Microsoft.WebTools.AspireService.Package.csproj
@@ -22,4 +22,9 @@
+
+
+
+
+
diff --git a/src/BuiltInTools/AspireService/Models/RunSessionRequest.cs b/src/BuiltInTools/AspireService/Models/RunSessionRequest.cs
index 7f31a2113fe0..32d52181449f 100644
--- a/src/BuiltInTools/AspireService/Models/RunSessionRequest.cs
+++ b/src/BuiltInTools/AspireService/Models/RunSessionRequest.cs
@@ -1,8 +1,11 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
+using System;
using System.ComponentModel.DataAnnotations;
+using System.Collections.Generic;
using System.Diagnostics;
+using System.Linq;
using System.Text.Json.Serialization;
namespace Aspire.Tools.Service;
@@ -55,7 +58,7 @@ internal class RunSessionRequest
public EnvVar[] Environment { get; set; } = Array.Empty();
[JsonPropertyName("args")]
- public string[] Arguments { get; set; } = Array.Empty();
+ public string[]? Arguments { get; set; }
public ProjectLaunchRequest? ToProjectLaunchInformation()
{
diff --git a/src/BuiltInTools/BrowserRefresh/WebSocketScriptInjection.js b/src/BuiltInTools/BrowserRefresh/WebSocketScriptInjection.js
index befd2f818976..aa8f1fd60f98 100644
--- a/src/BuiltInTools/BrowserRefresh/WebSocketScriptInjection.js
+++ b/src/BuiltInTools/BrowserRefresh/WebSocketScriptInjection.js
@@ -145,22 +145,20 @@ setTimeout(async function () {
}
let applyError = undefined;
- if (window.Blazor?._internal?.applyHotReload) {
- // Only apply hot reload deltas if Blazor has been initialized.
- // It's possible for Blazor to start after the initial page load, so we don't consider skipping this step
- // to be a failure. These deltas will get applied later, when Blazor completes initialization.
- deltas.forEach(d => {
- try {
- window.Blazor._internal.applyHotReload(d.moduleId, d.metadataDelta, d.ilDelta, d.pdbDelta, d.updatedTypes)
- } catch (error) {
- console.warn(error);
- applyError = error;
- }
- });
+
+ try {
+ applyDeltas_legacy(deltas)
+ } catch (error) {
+ console.warn(error);
+ applyError = error;
}
+ const body = JSON.stringify({
+ id: deltas[0].sequenceId,
+ deltas: deltas
+ });
try {
- await fetch('/_framework/blazor-hotreload', { method: 'post', headers: { 'content-type': 'application/json' }, body: JSON.stringify(deltas) });
+ await fetch('/_framework/blazor-hotreload', { method: 'post', headers: { 'content-type': 'application/json' }, body: body });
} catch (error) {
console.warn(error);
applyError = error;
@@ -174,6 +172,24 @@ setTimeout(async function () {
}
}
+ function applyDeltas_legacy(deltas) {
+ let apply = window.Blazor?._internal?.applyHotReload
+
+ // Only apply hot reload deltas if Blazor has been initialized.
+ // It's possible for Blazor to start after the initial page load, so we don't consider skipping this step
+ // to be a failure. These deltas will get applied later, when Blazor completes initialization.
+ if (apply) {
+ deltas.forEach(d => {
+ if (apply.length == 5) {
+ // WASM 8.0
+ apply(d.moduleId, d.metadataDelta, d.ilDelta, d.pdbDelta, d.updatedTypes)
+ } else {
+ // WASM 9.0
+ apply(d.moduleId, d.metadataDelta, d.ilDelta, d.pdbDelta)
+ }
+ });
+ }
+ }
function sendDeltaApplied() {
connection.send(new Uint8Array([1]).buffer);
}
@@ -198,11 +214,13 @@ setTimeout(async function () {
let applyError = undefined;
let log = [];
- if (window.Blazor?._internal?.applyHotReloadDeltas) {
- // Only apply hot reload deltas if Blazor has been initialized.
- // It's possible for Blazor to start after the initial page load, so we don't consider skipping this step
- // to be a failure. These deltas will get applied later, when Blazor completes initialization.
- try {
+ try {
+ let applyDeltas = window.Blazor?._internal?.applyHotReloadDeltas
+ if (applyDeltas) {
+ // Only apply hot reload deltas if Blazor has been initialized.
+ // It's possible for Blazor to start after the initial page load, so we don't consider skipping this step
+ // to be a failure. These deltas will get applied later, when Blazor completes initialization.
+
let wasmDeltas = deltas.map(delta => {
return {
"moduleId": delta.moduleId,
@@ -213,12 +231,15 @@ setTimeout(async function () {
};
});
- log = window.Blazor._internal.applyHotReloadDeltas(wasmDeltas, responseLoggingLevel);
- } catch (error) {
- console.warn(error);
- applyError = error;
- log.push({ "message": getMessageAndStack(error), "severity": AgentMessageSeverity_Error });
+ log = applyDeltas(wasmDeltas, responseLoggingLevel);
+ } else {
+ // Try invoke older WASM API:
+ applyDeltas_legacy(deltas)
}
+ } catch (error) {
+ console.warn(error);
+ applyError = error;
+ log.push({ "message": getMessageAndStack(error), "severity": AgentMessageSeverity_Error });
}
try {
diff --git a/src/BuiltInTools/HotReloadAgent/AgentReporter.cs b/src/BuiltInTools/HotReloadAgent/AgentReporter.cs
index 794a23956359..0e7c6a87a9b7 100644
--- a/src/BuiltInTools/HotReloadAgent/AgentReporter.cs
+++ b/src/BuiltInTools/HotReloadAgent/AgentReporter.cs
@@ -1,6 +1,9 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
+using System.Collections.Generic;
+using System.Linq;
+
namespace Microsoft.DotNet.HotReload;
internal sealed class AgentReporter
diff --git a/src/BuiltInTools/HotReloadAgent/HotReloadAgent.cs b/src/BuiltInTools/HotReloadAgent/HotReloadAgent.cs
index 5350c0ae2d8d..7e1f026d8faa 100644
--- a/src/BuiltInTools/HotReloadAgent/HotReloadAgent.cs
+++ b/src/BuiltInTools/HotReloadAgent/HotReloadAgent.cs
@@ -1,6 +1,9 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
+using System;
+using System.Linq;
+using System.Collections.Generic;
using System.Collections.Concurrent;
using System.Diagnostics;
using System.Reflection;
diff --git a/src/BuiltInTools/HotReloadAgent/MetadataUpdateHandlerInvoker.cs b/src/BuiltInTools/HotReloadAgent/MetadataUpdateHandlerInvoker.cs
index 3c3583949130..fa8b0630e840 100644
--- a/src/BuiltInTools/HotReloadAgent/MetadataUpdateHandlerInvoker.cs
+++ b/src/BuiltInTools/HotReloadAgent/MetadataUpdateHandlerInvoker.cs
@@ -1,8 +1,11 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
+using System;
+using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Reflection;
+using System.Threading;
namespace Microsoft.DotNet.HotReload;
diff --git a/src/BuiltInTools/HotReloadAgent.Package/Microsoft.DotNet.HotReload.Agent.Package.csproj b/src/BuiltInTools/HotReloadAgent/Microsoft.DotNet.HotReload.Agent.Package.csproj
similarity index 87%
rename from src/BuiltInTools/HotReloadAgent.Package/Microsoft.DotNet.HotReload.Agent.Package.csproj
rename to src/BuiltInTools/HotReloadAgent/Microsoft.DotNet.HotReload.Agent.Package.csproj
index a7afee6088a2..75b7a922b2e4 100644
--- a/src/BuiltInTools/HotReloadAgent.Package/Microsoft.DotNet.HotReload.Agent.Package.csproj
+++ b/src/BuiltInTools/HotReloadAgent/Microsoft.DotNet.HotReload.Agent.Package.csproj
@@ -22,5 +22,9 @@
-
+
+
+
+
+
diff --git a/src/BuiltInTools/HotReloadAgent/UpdateDelta.cs b/src/BuiltInTools/HotReloadAgent/UpdateDelta.cs
index f5bba35278ac..3277755dea56 100644
--- a/src/BuiltInTools/HotReloadAgent/UpdateDelta.cs
+++ b/src/BuiltInTools/HotReloadAgent/UpdateDelta.cs
@@ -1,7 +1,10 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
+using System;
+
namespace Microsoft.DotNet.Watch;
+
internal readonly struct UpdateDelta(Guid moduleId, byte[] metadataDelta, byte[] ilDelta, byte[] pdbDelta, int[] updatedTypes)
{
public Guid ModuleId { get; } = moduleId;
diff --git a/src/BuiltInTools/dotnet-watch.slnf b/src/BuiltInTools/dotnet-watch.slnf
index e18611cb6620..2484e98c2da7 100644
--- a/src/BuiltInTools/dotnet-watch.slnf
+++ b/src/BuiltInTools/dotnet-watch.slnf
@@ -7,7 +7,7 @@
"src\\BuiltInTools\\BrowserRefresh\\Microsoft.AspNetCore.Watch.BrowserRefresh.csproj",
"src\\BuiltInTools\\DotNetDeltaApplier\\Microsoft.Extensions.DotNetDeltaApplier.csproj",
"src\\BuiltInTools\\DotNetWatchTasks\\DotNetWatchTasks.csproj",
- "src\\BuiltInTools\\HotReloadAgent.Package\\Microsoft.DotNet.HotReload.Agent.Package.csproj",
+ "src\\BuiltInTools\\HotReloadAgent\\Microsoft.DotNet.HotReload.Agent.Package.csproj",
"src\\BuiltInTools\\HotReloadAgent\\Microsoft.DotNet.HotReload.Agent.shproj",
"src\\BuiltInTools\\dotnet-watch\\dotnet-watch.csproj",
"test\\Microsoft.AspNetCore.Watch.BrowserRefresh.Tests\\Microsoft.AspNetCore.Watch.BrowserRefresh.Tests.csproj",
diff --git a/src/Cli/Microsoft.DotNet.Cli.Utils/PathUtility.cs b/src/Cli/Microsoft.DotNet.Cli.Utils/PathUtility.cs
index 0ea01bc2a46d..60069f1aa672 100644
--- a/src/Cli/Microsoft.DotNet.Cli.Utils/PathUtility.cs
+++ b/src/Cli/Microsoft.DotNet.Cli.Utils/PathUtility.cs
@@ -2,11 +2,18 @@
// The .NET Foundation licenses this file to you under the MIT license.
using Microsoft.DotNet.Cli.Utils;
+using NuGet.Configuration;
namespace Microsoft.DotNet.Tools.Common
{
public static class PathUtility
{
+ public static bool CheckForNuGetInNuGetConfig()
+ {
+ var otherFiles = SettingsUtility.GetEnabledSources(Settings.LoadDefaultSettings(Directory.GetCurrentDirectory()));
+ return otherFiles.Any(source => source.SourceUri.Equals("https://api.nuget.org/v3/index.json"));
+ }
+
public static bool IsPlaceholderFile(string path)
{
return string.Equals(Path.GetFileName(path), "_._", StringComparison.Ordinal);
diff --git a/src/Cli/Microsoft.TemplateEngine.Cli/NuGet/NugetApiManager.cs b/src/Cli/Microsoft.TemplateEngine.Cli/NuGet/NugetApiManager.cs
index a714e9783ef7..969b769a1924 100644
--- a/src/Cli/Microsoft.TemplateEngine.Cli/NuGet/NugetApiManager.cs
+++ b/src/Cli/Microsoft.TemplateEngine.Cli/NuGet/NugetApiManager.cs
@@ -34,10 +34,14 @@ internal NugetApiManager()
PackageSource? sourceFeed = null,
CancellationToken cancellationToken = default)
{
- if (sourceFeed == null)
+ if (sourceFeed == null && Microsoft.DotNet.Tools.Common.PathUtility.CheckForNuGetInNuGetConfig())
{
sourceFeed = _nugetOrgSource;
}
+ else if (sourceFeed is null)
+ {
+ return null;
+ }
SourceRepository repository = GetSourceRepository(sourceFeed);
PackageMetadataResource resource = await repository.GetResourceAsync(cancellationToken).ConfigureAwait(false);
diff --git a/src/Cli/Microsoft.TemplateEngine.Cli/TemplatePackageCoordinator.cs b/src/Cli/Microsoft.TemplateEngine.Cli/TemplatePackageCoordinator.cs
index 313a7fd31501..b4dda2fd7a46 100644
--- a/src/Cli/Microsoft.TemplateEngine.Cli/TemplatePackageCoordinator.cs
+++ b/src/Cli/Microsoft.TemplateEngine.Cli/TemplatePackageCoordinator.cs
@@ -3,6 +3,7 @@
using System.CommandLine;
using Microsoft.DotNet.Cli.Utils;
+using Microsoft.DotNet.Tools.Common;
using Microsoft.TemplateEngine.Abstractions;
using Microsoft.TemplateEngine.Abstractions.Constraints;
using Microsoft.TemplateEngine.Abstractions.Installer;
@@ -436,7 +437,7 @@ internal async Task DisplayTemplatePackageMetadata(
}
else
{
- IEnumerable packageSources = LoadNuGetSources(additionalSources, true);
+ IEnumerable packageSources = LoadNuGetSources(additionalSources, includeNuGetFeed: PathUtility.CheckForNuGetInNuGetConfig());
nuGetPackageMetadata = await GetPackageMetadataFromMultipleFeedsAsync(packageSources, nugetApiManager, packageIdentity, packageVersion, cancellationToken).ConfigureAwait(false);
if (nuGetPackageMetadata != null && nuGetPackageMetadata.Source.Source.Equals(NugetOrgFeed))
diff --git a/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.cs.xlf b/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.cs.xlf
index bb255bc8656b..c4544979e385 100644
--- a/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.cs.xlf
+++ b/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.cs.xlf
@@ -30,7 +30,7 @@
Failed to validate package signing.
{0}
- Failed to validate package signing.
+ Nepodařilo se ověřit podepisování balíčku.
{0}
@@ -41,7 +41,7 @@
Skipping signature verification for NuGet package "{0}" because it comes from a source that does not require signature validation.
- Skipping signature verification for NuGet package "{0}" because it comes from a source that does not require signature validation.
+ Přeskakuje se ověření podpisu pro balíček NuGet {0}, protože pochází ze zdroje, který nevyžaduje ověření podpisu.
@@ -76,7 +76,7 @@
Verified that the NuGet package "{0}" has a valid signature.
- Verified that the NuGet package "{0}" has a valid signature.
+ Ověřilo se, že balíček NuGet {0} má platný podpis.