55 lines
No EOL
2.4 KiB
Bash
55 lines
No EOL
2.4 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
### Load AWS secrets
|
|
if [ -d /Applications ] && [ -d /System ] && [ ! -d /Applications/Xcode.app ]; then
|
|
### Remove old files
|
|
gum log -sl info 'Removing old ~/.xcodeinstall folder' && rm -rf ~/.xcodeinstall
|
|
|
|
### Ensure xcodeinstall installed
|
|
if ! command -v xcodeinstall > /dev/null; then
|
|
gum log -sl info 'Installing xcodeinstall'
|
|
brew install sebsto/macos/xcodeinstall
|
|
fi
|
|
|
|
### Authenticate
|
|
gum log -sl info 'Authenticating with AWS via xcodeinstall'
|
|
xcodeinstall authenticate -s "$AWS_DEFAULT_REGION"
|
|
|
|
### Download files
|
|
while read XCODE_DOWNLOAD_ITEM; do
|
|
if [[ "$XCODE_DOWNLOAD_ITEM" != *"Command Line Tools"* ]]; then
|
|
DOWNLOAD_ID="$(echo "$XCODE_DOWNLOAD_ITEM" | sed 's/^\[\(.*\)\] .*/\1/')"
|
|
gum log -sl info "Downloading $XCODE_DOWNLOAD_ITEM"
|
|
echo "$DOWNLOAD_ID" | xcodeinstall download -s "$AWS_DEFAULT_REGION"
|
|
fi
|
|
done < <(xcodeinstall list -s "$AWS_DEFAULT_REGION" | grep --invert-match 'Release Candidate' | grep --invert-match ' beta ' | grep ' Xcode \d\d ')
|
|
|
|
### Install Xcode
|
|
gum log -sl info 'Installing Xcode'
|
|
xcodeinstall install --name "$(basename "$(find ~/.xcodeinstall/download -maxdepth 1 -name "*.xip")")"
|
|
|
|
### Install Command Line Tools
|
|
# Commentted out because it is already installed by xcode-select in the provision.sh script
|
|
# xcodeinstall install --name "$(basename "$(find ~/.xcodeinstall/download -maxdepth 1 -name "*Command Line Tools*")")"
|
|
|
|
### Install Additional Tools
|
|
gum log -sl info 'Installing Additional Tools'
|
|
while read ADDITIONAL_TOOLS; do
|
|
hdiutil attach "$ADDITIONAL_TOOLS"
|
|
rm -rf "/Applications/Additional Tools"
|
|
cp -rf "/Volumes/Additional Tools" "/Applications/Additional Tools"
|
|
hdiutil detach "$(find /Volumes -name "Additional Tools")"
|
|
done < <(find ~/.xcodeinstall/download -name "Additional Tools*")
|
|
|
|
### Install Font Tools
|
|
gum log -sl info 'Installing Font Tools'
|
|
while read FONT_TOOLS; do
|
|
hdiutil attach "$FONT_TOOLS"
|
|
cd "$(find /Volumes -maxdepth 1 -name "*Font Tools*")"
|
|
sudo installer -pkg "$(find . -maxdepth 1 -name "*Font Tools*.pkg")" -target /
|
|
cd / && hdiutil detach "$(find /Volumes -maxdepth 1 -name "*Font Tools*")"
|
|
done < <(find ~/.xcodeinstall/download -name "Font Tools*")
|
|
|
|
### Remove cache / downloaded files
|
|
rm -rf ~/.xcodeinstall
|
|
fi |