From 36fb92995ab1a08dbcb8b7e7345b91c98ec9d9f1 Mon Sep 17 00:00:00 2001 From: Dmitry Shibanov Date: Mon, 21 Sep 2020 17:16:22 +0300 Subject: [PATCH 1/6] add build vm assets --- .../macos/provision/assets/select-xamarin.sh | 22 +++++++++++++++++++ .../provision/configuration/finalize-vm.sh | 6 +++++ images/macos/templates/macOS-10.13.json | 5 +++++ images/macos/templates/macOS-10.14.json | 5 +++++ images/macos/templates/macOS-10.15.json | 5 +++++ images/macos/templates/macOS-11.0.json | 5 +++++ 6 files changed, 48 insertions(+) create mode 100644 images/macos/provision/assets/select-xamarin.sh diff --git a/images/macos/provision/assets/select-xamarin.sh b/images/macos/provision/assets/select-xamarin.sh new file mode 100644 index 00000000..45adc969 --- /dev/null +++ b/images/macos/provision/assets/select-xamarin.sh @@ -0,0 +1,22 @@ +#!/bin/bash +if [ -z "$1" ]; then + echo "No Xamarin SDK specified." + exit 0 +fi + +XAMARIN_SDK=$1 + +echo "Set Xamarin SDK to ${XAMARIN_SDK}" +FOLDERS_LIST=( + '/Library/Frameworks/Mono.framework/Versions' + '/Library/Frameworks/Xamarin.iOS.framework/Versions' + '/Library/Frameworks/Xamarin.Android.framework/Versions' + '/Library/Frameworks/Xamarin.Mac.framework/Versions' + ) + +for FOLDER in "${FOLDERS_LIST[@]}" +do + echo "Set Current folder for ${FOLDER}" + sudo rm -f ${FOLDER}/Current + sudo ln -s ${FOLDER}/${XAMARIN_SDK} ${FOLDER}/Current +done \ No newline at end of file diff --git a/images/macos/provision/configuration/finalize-vm.sh b/images/macos/provision/configuration/finalize-vm.sh index b01b3c23..90abf20a 100644 --- a/images/macos/provision/configuration/finalize-vm.sh +++ b/images/macos/provision/configuration/finalize-vm.sh @@ -12,6 +12,12 @@ fi # Put documentation to $HOME root cp $HOME/image-generation/output/software-report/systeminfo.txt $HOME/image-generation/output/software-report/systeminfo.md $HOME/ +# Put build vm assets scripts to proper directory +sudo mkdir -p /usr/local/opt/$USER/scripts +sudo chmod ugo+rwx /usr/local/opt/$USER/scripts +sudo chown $USER:admin /usr/local/opt/$USER +mv $HOME/image-generation/assets/* /usr/local/opt/$USER/scripts + # Clean up npm cache which collected during image-generation # we have to do that here because `npm install` is run in a few different places during image-generation npm cache clean --force diff --git a/images/macos/templates/macOS-10.13.json b/images/macos/templates/macOS-10.13.json index 2190a6b4..d1737ac5 100644 --- a/images/macos/templates/macOS-10.13.json +++ b/images/macos/templates/macOS-10.13.json @@ -43,6 +43,11 @@ "type": "shell", "inline": "mkdir ~/image-generation" }, + { + "type": "file", + "source": "./provision/assets", + "destination": "~/image-generation/" + }, { "type": "file", "source": "./tests", diff --git a/images/macos/templates/macOS-10.14.json b/images/macos/templates/macOS-10.14.json index 269ffa71..ba6a0add 100644 --- a/images/macos/templates/macOS-10.14.json +++ b/images/macos/templates/macOS-10.14.json @@ -43,6 +43,11 @@ "type": "shell", "inline": "mkdir ~/image-generation" }, + { + "type": "file", + "source": "./provision/assets", + "destination": "~/image-generation/" + }, { "type": "file", "source": "./tests", diff --git a/images/macos/templates/macOS-10.15.json b/images/macos/templates/macOS-10.15.json index 3dcc3d33..468f02e9 100644 --- a/images/macos/templates/macOS-10.15.json +++ b/images/macos/templates/macOS-10.15.json @@ -43,6 +43,11 @@ "type": "shell", "inline": "mkdir ~/image-generation" }, + { + "type": "file", + "source": "./provision/assets", + "destination": "~/image-generation/" + }, { "type": "file", "source": "./tests", diff --git a/images/macos/templates/macOS-11.0.json b/images/macos/templates/macOS-11.0.json index 6da9df38..f270fc43 100644 --- a/images/macos/templates/macOS-11.0.json +++ b/images/macos/templates/macOS-11.0.json @@ -43,6 +43,11 @@ "type": "shell", "inline": "mkdir ~/image-generation" }, + { + "type": "file", + "source": "./provision/assets", + "destination": "~/image-generation/" + }, { "type": "file", "source": "./tests", From c076e851f4f23cd0802e885996d1cbf09c1805ef Mon Sep 17 00:00:00 2001 From: Dmitry Shibanov Date: Wed, 23 Sep 2020 13:30:07 +0300 Subject: [PATCH 2/6] make scripts executable --- images/macos/provision/configuration/finalize-vm.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/images/macos/provision/configuration/finalize-vm.sh b/images/macos/provision/configuration/finalize-vm.sh index 90abf20a..3b7f1dc6 100644 --- a/images/macos/provision/configuration/finalize-vm.sh +++ b/images/macos/provision/configuration/finalize-vm.sh @@ -18,6 +18,12 @@ sudo chmod ugo+rwx /usr/local/opt/$USER/scripts sudo chown $USER:admin /usr/local/opt/$USER mv $HOME/image-generation/assets/* /usr/local/opt/$USER/scripts +executableScripts=$(ls /usr/local/opt/$USER/scripts | grep "*\.sh") +for script in $executableScripts +do + chmod +x $script +done + # Clean up npm cache which collected during image-generation # we have to do that here because `npm install` is run in a few different places during image-generation npm cache clean --force From c189d7eac048a0f7bbfa7364f8c72a12cba1b2fc Mon Sep 17 00:00:00 2001 From: Dmitry Shibanov Date: Wed, 23 Sep 2020 13:37:15 +0300 Subject: [PATCH 3/6] rename select-xamarin to selec-xamarin-sdk --- .../provision/assets/{select-xamarin.sh => select-xamarin-sdk.sh} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename images/macos/provision/assets/{select-xamarin.sh => select-xamarin-sdk.sh} (100%) diff --git a/images/macos/provision/assets/select-xamarin.sh b/images/macos/provision/assets/select-xamarin-sdk.sh similarity index 100% rename from images/macos/provision/assets/select-xamarin.sh rename to images/macos/provision/assets/select-xamarin-sdk.sh From c5aa898cd6a59686a559a20be464929a98af2095 Mon Sep 17 00:00:00 2001 From: Dmitry Shibanov Date: Wed, 23 Sep 2020 14:13:02 +0300 Subject: [PATCH 4/6] change to find search --- images/macos/provision/configuration/finalize-vm.sh | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/images/macos/provision/configuration/finalize-vm.sh b/images/macos/provision/configuration/finalize-vm.sh index 3b7f1dc6..77902ea4 100644 --- a/images/macos/provision/configuration/finalize-vm.sh +++ b/images/macos/provision/configuration/finalize-vm.sh @@ -18,11 +18,7 @@ sudo chmod ugo+rwx /usr/local/opt/$USER/scripts sudo chown $USER:admin /usr/local/opt/$USER mv $HOME/image-generation/assets/* /usr/local/opt/$USER/scripts -executableScripts=$(ls /usr/local/opt/$USER/scripts | grep "*\.sh") -for script in $executableScripts -do - chmod +x $script -done +find /usr/local/opt/$USER/scripts -type f -name "*\.sh" -exec chmod +x {} \; # Clean up npm cache which collected during image-generation # we have to do that here because `npm install` is run in a few different places during image-generation From dd325a465c472ed319823fd4adbcca97d9039a11 Mon Sep 17 00:00:00 2001 From: Dibir Magomedsaygitov Date: Tue, 27 Oct 2020 17:14:56 +0300 Subject: [PATCH 5/6] clean yarn and npm cache --- images/win/scripts/Installers/Finalize-VM.ps1 | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/images/win/scripts/Installers/Finalize-VM.ps1 b/images/win/scripts/Installers/Finalize-VM.ps1 index 4e7a260c..d0bb3d26 100644 --- a/images/win/scripts/Installers/Finalize-VM.ps1 +++ b/images/win/scripts/Installers/Finalize-VM.ps1 @@ -30,3 +30,7 @@ New-Item -Path $winInstallDir -ItemType Directory -Force # Remove AllUsersAllHosts profile Remove-Item $profile.AllUsersAllHosts -Force + +# Clean yarn and npm cache +yarn cache clean +npm cache clean --force \ No newline at end of file From d4973999576f7423cfdf80bdfe77a44c1ab3dc8e Mon Sep 17 00:00:00 2001 From: Dmitry Shibanov Date: Tue, 27 Oct 2020 18:36:59 +0300 Subject: [PATCH 6/6] resolve comments --- images/macos/provision/configuration/finalize-vm.sh | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/images/macos/provision/configuration/finalize-vm.sh b/images/macos/provision/configuration/finalize-vm.sh index 256a76c5..2b1967bc 100644 --- a/images/macos/provision/configuration/finalize-vm.sh +++ b/images/macos/provision/configuration/finalize-vm.sh @@ -17,9 +17,7 @@ fi cp $HOME/image-generation/output/software-report/systeminfo.txt $HOME/image-generation/output/software-report/systeminfo.md $HOME/ # Put build vm assets scripts to proper directory -sudo mkdir -p /usr/local/opt/$USER/scripts -sudo chmod ugo+rwx /usr/local/opt/$USER/scripts -sudo chown $USER:admin /usr/local/opt/$USER +mkdir -p /usr/local/opt/$USER/scripts mv $HOME/image-generation/assets/* /usr/local/opt/$USER/scripts find /usr/local/opt/$USER/scripts -type f -name "*\.sh" -exec chmod +x {} \;