#!/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