#!/bin/bash -e -o pipefail ################################################################################ ## File: install-xamarin.sh ## Desc: Install Xamarin ################################################################################ source ~/utils/utils.sh source ~/utils/xamarin-utils.sh mono_versions=($(get_toolset_value '.xamarin."mono_versions" | reverse | .[]')) xamarin_ios_versions=($(get_toolset_value '.xamarin."ios_versions" | reverse | .[]')) xamarin_mac_versions=($(get_toolset_value '.xamarin."mac_versions" | reverse | .[]')) xamarin_android_versions=($(get_toolset_value '.xamarin."android_versions" | reverse | .[]')) latest_sdk_symlink=$(get_toolset_value '.xamarin.bundles[0].symlink') current_sdk_symlink=$(get_toolset_value '.xamarin."bundle_default"') default_xcode_version=$(get_toolset_value '.xcode.default') if [[ $current_sdk_symlink == "latest" ]]; then current_sdk_symlink=$latest_sdk_symlink fi MONO_VERSIONS_PATH="/Library/Frameworks/Mono.framework/Versions" IOS_VERSIONS_PATH="/Library/Frameworks/Xamarin.iOS.framework/Versions" ANDROID_VERSIONS_PATH="/Library/Frameworks/Xamarin.Android.framework/Versions" MAC_VERSIONS_PATH="/Library/Frameworks/Xamarin.Mac.framework/Versions" TMPMOUNT=$(/usr/bin/mktemp -d /tmp/visualstudio.XXXX) TMPMOUNT_FRAMEWORKS=$TMPMOUNT/frameworks createBackupFolders pushd $TMPMOUNT # Download NUnit console downloadNUnitConsole # Install Mono sdks for version in ${mono_versions[@]}; do installMono $version; done sudo mv -v $TMPMOUNT_FRAMEWORKS/mono/* $MONO_VERSIONS_PATH/ # Install Xamarin.iOS sdks for version in ${xamarin_ios_versions[@]}; do installXamarinIOS $version; done sudo mv -v $TMPMOUNT_FRAMEWORKS/ios/* $IOS_VERSIONS_PATH/ # Install Xamarin.Mac sdks for version in ${xamarin_mac_versions[@]}; do installXamarinMac $version; done sudo mv -v $TMPMOUNT_FRAMEWORKS/mac/* $MAC_VERSIONS_PATH/ # Install Xamarin.Android sdks for version in ${xamarin_android_versions[@]}; do installXamarinAndroid $version; done sudo mv -v $TMPMOUNT_FRAMEWORKS/android/* $ANDROID_VERSIONS_PATH/ # Create bundles bundles_count=$(get_toolset_value '.xamarin.bundles | length') for ((bundle_index=0; bundle_index