mirror of
https://github.com/actions/setup-dotnet.git
synced 2024-11-22 11:31:07 +07:00
updated installers
This commit is contained in:
parent
5d7bc0454b
commit
251997c37d
48
externals/install-dotnet.sh
vendored
48
externals/install-dotnet.sh
vendored
@ -353,6 +353,48 @@ get_normalized_architecture_from_architecture() {
|
||||
return 1
|
||||
}
|
||||
|
||||
# args:
|
||||
# version - $1
|
||||
# channel - $2
|
||||
# architecture - $3
|
||||
get_normalized_architecture_for_specific_sdk_version() {
|
||||
eval $invocation
|
||||
|
||||
local is_version_support_arm64="$(is_arm64_supported "$1")"
|
||||
local is_channel_support_arm64="$(is_arm64_supported "$2")"
|
||||
local architecture="$3";
|
||||
local osname="$(get_current_os_name)"
|
||||
|
||||
if [ "$osname" == "osx" ] && [ "$architecture" == "arm64" ] && { [ "$is_version_support_arm64" = false ] || [ "$is_channel_support_arm64" = false ]; }; then
|
||||
#check if rosetta is installed
|
||||
if [ "$(/usr/bin/pgrep oahd >/dev/null 2>&1;echo $?)" -eq 0 ]; then
|
||||
say_verbose "Changing user architecture from '$architecture' to 'x64' because .NET SDKs prior to version 6.0 do not support arm64."
|
||||
echo "x64"
|
||||
return 0;
|
||||
else
|
||||
say_err "Architecture \`$architecture\` is not supported for .NET SDK version \`$version\`. Please install Rosetta to allow emulation of the \`$architecture\` .NET SDK on this platform"
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "$architecture"
|
||||
return 0
|
||||
}
|
||||
|
||||
# args:
|
||||
# version or channel - $1
|
||||
is_arm64_supported() {
|
||||
#any channel or version that starts with the specified versions
|
||||
case "$1" in
|
||||
( "1"* | "2"* | "3"* | "4"* | "5"*)
|
||||
echo false
|
||||
return 0
|
||||
esac
|
||||
|
||||
echo true
|
||||
return 0
|
||||
}
|
||||
|
||||
# args:
|
||||
# user_defined_os - $1
|
||||
get_normalized_os() {
|
||||
@ -523,7 +565,7 @@ parse_globaljson_file_for_version() {
|
||||
return 1
|
||||
fi
|
||||
|
||||
sdk_section=$(cat $json_file | awk '/"sdk"/,/}/')
|
||||
sdk_section=$(cat $json_file | tr -d "\r" | awk '/"sdk"/,/}/')
|
||||
if [ -z "$sdk_section" ]; then
|
||||
say_err "Unable to parse the SDK node in \`$json_file\`"
|
||||
return 1
|
||||
@ -988,8 +1030,6 @@ download() {
|
||||
sleep $((attempts*10))
|
||||
done
|
||||
|
||||
|
||||
|
||||
if [ "$failed" = true ]; then
|
||||
say_verbose "Download failed: $remote_path"
|
||||
return 1
|
||||
@ -1346,6 +1386,8 @@ calculate_vars() {
|
||||
install_root="$(resolve_installation_path "$install_dir")"
|
||||
say_verbose "InstallRoot: '$install_root'."
|
||||
|
||||
normalized_architecture="$(get_normalized_architecture_for_specific_sdk_version "$version" "$normalized_channel" "$normalized_architecture")"
|
||||
|
||||
if [[ "$runtime" == "dotnet" ]]; then
|
||||
asset_relative_path="shared/Microsoft.NETCore.App"
|
||||
asset_name=".NET Core Runtime"
|
||||
|
Loading…
Reference in New Issue
Block a user