mirror of
https://github.com/actions/runner-images.git
synced 2025-12-20 06:35:47 +00:00
xcode-tools
This commit is contained in:
@@ -14,6 +14,7 @@ if [ -z $XCODE_INSTALL_USER ] || [ -z $XCODE_INSTALL_PASSWORD ]; then
|
||||
fi
|
||||
|
||||
XCODE_COUNT=$(get_toolset_value '.xcode.versions | length')
|
||||
XCODE_LOCAL_LIST=$(get_toolset_value '.xcode.versions[].localVersion')
|
||||
DEFAULT_XCODE_VERSION=$(get_toolset_value '.xcode.default')
|
||||
WORK_DIR="${HOME}/Library/Caches/XcodeInstall"
|
||||
|
||||
@@ -25,64 +26,33 @@ for ((XCODE_INDEX=0; XCODE_INDEX<XCODE_COUNT; XCODE_INDEX++)); do
|
||||
XCODE_VERSION=$(get_toolset_value ".xcode.versions[$XCODE_INDEX].version")
|
||||
SYMLINKS=($(get_toolset_value ".xcode.versions[$XCODE_INDEX].symlinks"))
|
||||
|
||||
echo "Installing Xcode '$XCVERSION_VERSION' to '$LOCAL_VERSION'"
|
||||
VERSION_TO_INSTALL=$(resolveLatestXcodeVersion "$XCODE_VERSION")
|
||||
if [[ -z "$VERSION_TO_INSTALL" ]]; then
|
||||
echo "No versions were found matching $XCODE_VERSION"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Downloading Xcode $VERSION_TO_INSTALL ..."
|
||||
xcversion install "$VERSION_TO_INSTALL" --no-install
|
||||
echo "Installing Xcode '$XCODE_VERSION' to '/Applications/Xcode_${LOCAL_VERSION}.app'"
|
||||
downloadXcode $XCODE_VERSION
|
||||
|
||||
echo "Extracting Xcode.app ($VERSION_TO_INSTALL) to ${WORK_DIR} ..."
|
||||
extractXcodeXip $WORK_DIR "$VERSION_TO_INSTALL"
|
||||
extractXcodeXip $WORK_DIR
|
||||
|
||||
echo "Checking if unpacked Xcode ${XCODE_VERSION} is valid"
|
||||
echo "Validating unpacked Xcode ${XCODE_VERSION}"
|
||||
validateXcodeIntegrity "$WORK_DIR"
|
||||
|
||||
echo "Copying Xcode.app to /Applications/Xcode_${LOCAL_VERSION}.app"
|
||||
mv -f "${WORK_DIR}/Xcode.app" "/Applications/Xcode_${LOCAL_VERSION}.app"
|
||||
|
||||
echo "Accepting license for Xcode ${XCODE_VERSION}..."
|
||||
approveLicense "$LOCAL_VERSION"
|
||||
approveXcodeLicense "$LOCAL_VERSION"
|
||||
|
||||
# Creating a symlink for all Xcode 10* and Xcode 9.3, 9.4 to stay backwards compatible with consumers of the Xcode beta version
|
||||
createBetaSymlink "$LOCAL_VERSION"
|
||||
createXamarinProvisionatorSymlink "$XCODE_VERSION"
|
||||
echo "Creating symlinks..."
|
||||
createXcodeSymlinks $LOCAL_VERSION $SYMLINKS
|
||||
|
||||
find $WORK_DIR -mindepth 1 -delete
|
||||
done
|
||||
|
||||
echo "Configuring 'runFirstLaunch' for all Xcode versions"
|
||||
if is_Less_Catalina; then
|
||||
##TO-DO
|
||||
LATEST_XCODE_VERSION=$(get_latest_xcode_from_toolset)
|
||||
echo "Install additional packages for Xcode ${LATEST_XCODE_VERSION}"
|
||||
installAdditionalPackages $LATEST_XCODE_VERSION
|
||||
fi
|
||||
|
||||
for XCODE_VERSION in "${XCODE_LIST[@]}"
|
||||
do
|
||||
if [[ $XCODE_VERSION == 8* || $XCODE_VERSION == 9* ]]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
XCODE_VERSION=$(echo $XCODE_VERSION | cut -d"_" -f 1)
|
||||
|
||||
echo "Running 'runFirstLaunch' for Xcode ${XCODE_VERSION}..."
|
||||
runFirstLaunch $XCODE_VERSION
|
||||
done
|
||||
echo "Running 'runFirstLaunch' for all Xcode versions"
|
||||
runFirstLaunchXcodeList $XCODE_LOCAL_LIST
|
||||
|
||||
echo "Running 'runFirstLaunch' for default Xcode ${DEFAULT_XCODE_VERSION}..."
|
||||
runFirstLaunch $DEFAULT_XCODE_VERSION
|
||||
|
||||
# Create symlinks for Xcode on Catalina: 11.3 -> 11.3.1, 11.2 -> 11.2.1
|
||||
if is_Catalina; then
|
||||
ln -sf /Applications/Xcode_11.2.1.app /Applications/Xcode_11.2.app
|
||||
ln -sf /Applications/Xcode_11.3.1.app /Applications/Xcode_11.3.app
|
||||
fi
|
||||
|
||||
echo "Setting Xcode ${DEFAULT_XCODE_VERSION} as default"
|
||||
sudo xcode-select -s "/Applications/Xcode_${DEFAULT_XCODE_VERSION}.app/Contents/Developer"
|
||||
|
||||
@@ -95,6 +65,5 @@ sudo /usr/sbin/DevToolsSecurity --enable
|
||||
echo "Setting environment variables 'XCODE_<VERSION>_DEVELOPER_DIR'"
|
||||
setXcodeDeveloperDirVariables
|
||||
|
||||
# Cleanup
|
||||
echo "Doing cleanup. Emptying ${WORK_DIR}..."
|
||||
rm -rf "$WORK_DIR"
|
||||
|
||||
Reference in New Issue
Block a user