|
| 1 | +#!/bin/bash -ex |
| 2 | + |
| 3 | +# Print disk status before cleaning |
| 4 | +df -h |
| 5 | + |
| 6 | +# We don't care about errors in this section, we just want to clean as much as possible |
| 7 | +set +e |
| 8 | + |
| 9 | +# Delete all the simulator devices. These can take up a lot of space over time (I've seen 100+GB on the bots) |
| 10 | +/Applications/Xcode.app/Contents/Developer/usr/bin/simctl delete all |
| 11 | + |
| 12 | +# Delete old Xcodes. |
| 13 | +ls -lad /Applications/Xcode*.app |
| 14 | + |
| 15 | +oldXcodes=( |
| 16 | + "/Applications/Xcode44.app" |
| 17 | + "/Applications/Xcode5.app" |
| 18 | + "/Applications/Xcode502.app" |
| 19 | + "/Applications/Xcode511.app" |
| 20 | + "/Applications/Xcode6.0.1.app" |
| 21 | + "/Applications/Xcode6.app" |
| 22 | + "/Applications/Xcode601.app" |
| 23 | + "/Applications/Xcode61.app" |
| 24 | + "/Applications/Xcode611.app" |
| 25 | + "/Applications/Xcode62.app" |
| 26 | + "/Applications/Xcode63.app" |
| 27 | + "/Applications/Xcode64.app" |
| 28 | + "/Applications/Xcode7.app" |
| 29 | + "/Applications/Xcode701.app" |
| 30 | + "/Applications/Xcode71.app" |
| 31 | + "/Applications/Xcode711.app" |
| 32 | + "/Applications/Xcode72.app" |
| 33 | + "/Applications/Xcode731.app" |
| 34 | + "/Applications/Xcode8-GM.app" |
| 35 | + "/Applications/Xcode8.app" |
| 36 | + "/Applications/Xcode81-GM.app" |
| 37 | + "/Applications/Xcode81.app" |
| 38 | + "/Applications/Xcode82.app" |
| 39 | + "/Applications/Xcode821.app" |
| 40 | + "/Applications/Xcode83.app" |
| 41 | + "/Applications/Xcode833.app" |
| 42 | + "/Applications/Xcode9-GM.app" |
| 43 | + "/Applications/Xcode9.app" |
| 44 | + "/Applications/Xcode91.app" |
| 45 | + "/Applications/Xcode92.app" |
| 46 | + "/Applications/Xcode93.app" |
| 47 | + "/Applications/Xcode94.app" |
| 48 | + "/Applications/Xcode941.app" |
| 49 | + "/Applications/Xcode10.app" |
| 50 | + "/Applications/Xcode101-beta2.app" |
| 51 | + "/Applications/Xcode101-beta3.app" |
| 52 | + "/Applications/Xcode101.app" |
| 53 | + "/Applications/Xcode102-beta1.app" |
| 54 | + "/Applications/Xcode102.app" |
| 55 | + "/Applications/Xcode1021.app" |
| 56 | + "/Applications/Xcode103.app" |
| 57 | + "/Applications/Xcode10GM.app" |
| 58 | + "/Applications/Xcode11-beta3.app" |
| 59 | + "/Applications/Xcode11-GM.app" |
| 60 | + "/Applications/Xcode11.app" |
| 61 | + "/Applications/Xcode111.app" |
| 62 | + "/Applications/Xcode112.app" |
| 63 | + "/Applications/Xcode1121.app" |
| 64 | + "/Applications/Xcode113.app" |
| 65 | + "/Applications/Xcode1131.app" |
| 66 | + "/Applications/Xcode114-beta1.app" |
| 67 | + "/Applications/Xcode114-beta2.app" |
| 68 | + "/Applications/Xcode114-beta3.app" |
| 69 | + "/Applications/Xcode114.app" |
| 70 | + "/Applications/Xcode1141.app" |
| 71 | + "/Applications/Xcode115-beta1.app" |
| 72 | + "/Applications/Xcode115-beta2.app" |
| 73 | + "/Applications/Xcode115-GM.app" |
| 74 | + "/Applications/Xcode_8.0.app" |
| 75 | + "/Applications/Xcode_8.1.app" |
| 76 | + "/Applications/Xcode_8.2.1.app" |
| 77 | + "/Applications/Xcode_8.3.3.app" |
| 78 | + "/Applications/Xcode_9.0.app" |
| 79 | + "/Applications/Xcode_9.1.0.app" |
| 80 | + "/Applications/Xcode_9.2.0.app" |
| 81 | + "/Applications/Xcode_9.2.app" |
| 82 | + "/Applications/Xcode_9.4.1.app" |
| 83 | +# Xcode 10.2.1 is currently used by Binding Tools for Swift # /Applications/Xcode_10.2.1.app |
| 84 | + "/Applications/Xcode_11.3.0.app" |
| 85 | + "/Applications/Xcode_11.5.0.app" |
| 86 | + "/Applications/Xcode_11.6.0-beta1.app" |
| 87 | + "/Applications/Xcode_12.0.0-beta1.app" |
| 88 | + "/Applications/Xcode_12.0.0-beta2.app" |
| 89 | + "/Applications/Xcode_12.0.0-beta3.app" |
| 90 | + "/Applications/Xcode_12.0.0-beta4.app" |
| 91 | + "/Applications/Xcode_12.0.0-beta5.app" |
| 92 | + "/Applications/Xcode_12.0.0-beta6.app" |
| 93 | + "/Applications/Xcode_12.1.0-GM.app" |
| 94 | + "/Applications/Xcode_12.0.0-GMb.app" |
| 95 | + "/Applications/Xcode_12.2.0-beta1.app" |
| 96 | + "/Applications/Xcode_12.2.0-beta2.app" |
| 97 | + "/Applications/Xcode_12.2.0-beta3.app" |
| 98 | + "/Applications/Xcode_12.2.0-beta.3.app" |
| 99 | + "/Applications/Xcode_12.2.0-rc.app" |
| 100 | + "/Applications/Xcode_12.5.0-rc.app" |
| 101 | + "/Applications/Xcode_13.0.0-beta.app" |
| 102 | + "/Applications/Xcode_13.0.0-beta2.app" |
| 103 | + "/Applications/Xcode_13.0.0-beta3.app" |
| 104 | + "/Applications/Xcode_14.3.1.app" |
| 105 | + "/Applications/Xcode_15.0.0.app" |
| 106 | + "/Applications/Xcode_15.0.1.app" |
| 107 | + "/Applications/Xcode_15.1.0.app" |
| 108 | +) |
| 109 | + |
| 110 | +# remove wrongly added .xip files under /Applications, confuses provisionator and |
| 111 | +# are not needed and wrong |
| 112 | +sudo rm -Rf /Applications/*.xip |
| 113 | + |
| 114 | +# pick the current selected xcode to make sure we do not remove it. |
| 115 | +XCODE_SELECT=$(xcode-select -p) |
| 116 | + |
| 117 | +for oldXcode in "${oldXcodes[@]}"; do |
| 118 | + if [ "$XCODE_SELECT" != "$oldXcode/Contents/Developer" ]; then |
| 119 | + sudo rm -Rf "$oldXcode" |
| 120 | + else |
| 121 | + echo "Not removing $oldXcode because is the currently selected one." |
| 122 | + fi |
| 123 | +done |
| 124 | + |
| 125 | +DIR="$(dirname "${BASH_SOURCE[0]}")" |
| 126 | +"$DIR"/clean-simulator-runtime.sh |
| 127 | + |
| 128 | +# Print disk status after cleaning |
| 129 | +df -h |
0 commit comments