Files
runner-images/images/macos/scripts/build/install-visualstudio.sh
T

53 lines
2.0 KiB
Bash
Raw Normal View History

#!/bin/bash -e -o pipefail
2023-11-28 02:25:03 +01:00
################################################################################
## File: install-visualstudio.sh
## Desc: Install Visual Studio
################################################################################
2020-09-10 14:34:08 +03:00
source ~/utils/utils.sh
source ~/utils/xamarin-utils.sh
2022-05-18 16:49:37 +02:00
install_vsmac() {
local vsmac_version=$1
local vsmac_default=$2
if [[ $vsmac_version == "2019" ]]; then
vsmac_download_url=$(curl -fsSL "https://aka.ms/manifest/stable" | jq -r '.items[] | select(.genericName=="VisualStudioMac").url')
elif [[ $vsmac_version == "2022" ]]; then
vsmac_download_url=$(curl -fsSL "https://aka.ms/manifest/stable-2022" | jq -r '.items[] | select(.genericName=="VisualStudioMac").url')
elif [[ $vsmac_version == "preview" ]]; then
vsmac_download_url=$(curl -fsSL "https://aka.ms/manifest/preview" | jq -r '.items[] | select(.genericName=="VisualStudioMac").url')
2022-05-18 16:49:37 +02:00
else
vsmac_download_url=$(buildVSMacDownloadUrl $vsmac_version)
2022-05-18 16:49:37 +02:00
fi
echo "Installing Visual Studio ${vsmac_version} for Mac"
TMPMOUNT=$(/usr/bin/mktemp -d /tmp/visualstudio.XXXX)
mkdir -p "$TMPMOUNT/downloads"
2022-05-18 16:49:37 +02:00
vsmac_installer=$(download_with_retry $vsmac_download_url "$TMPMOUNT/downloads/${vsmac_download_url##*/}")
2020-09-10 14:34:08 +03:00
2022-05-18 16:49:37 +02:00
echo "Mounting Visual Studio..."
hdiutil attach $vsmac_installer -mountpoint $TMPMOUNT
2020-09-10 14:34:08 +03:00
2022-05-18 16:49:37 +02:00
echo "Moving Visual Studio to /Applications/..."
pushd $TMPMOUNT
2022-05-18 16:49:37 +02:00
tar cf - "./Visual Studio.app" | tar xf - -C /Applications/
2020-09-10 14:34:08 +03:00
if [[ $vsmac_version != $vsmac_default ]]; then
mv "/Applications/Visual Studio.app" "/Applications/Visual Studio ${vsmac_version}.app"
2022-05-18 16:49:37 +02:00
fi
2020-09-10 14:34:08 +03:00
2022-05-18 16:49:37 +02:00
popd
sudo hdiutil detach $TMPMOUNT
sudo rm -rf $TMPMOUNT
2022-05-18 16:49:37 +02:00
}
vsmac_versions=($(get_toolset_value '.xamarin.vsmac.versions[]'))
default_vsmac_version=$(get_toolset_value '.xamarin.vsmac.default')
2020-09-10 14:34:08 +03:00
for version in ${vsmac_versions[@]}; do
install_vsmac $version $default_vsmac_version
done
invoke_tests "Common" "VSMac"