-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbrew-cask-upgrade
executable file
·36 lines (29 loc) · 1.02 KB
/
brew-cask-upgrade
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/bin/bash
# Script to upgrade all Homebrew Cask packages and cleanup old versions
baseDir="/usr/local/Caskroom"
metadataDir=".metadata"
# Loop over all installed casks
for package in `brew cask list`; do
# Get latest version of cask
packageVersionSearch="$package: "
packageVersionLine=`brew cask info $package | grep $packageVersionSearch`
packageVersion=${packageVersionLine#$packageVersionSearch}
# If latest version is not installed then install it
cd "$baseDir/$package"
if [ ! -d "$packageVersion" ]; then
brew cask install --force "$package"
fi
# Remove old version folders and files from the cask directory
for folder in */; do
if [ "$folder" != "$packageVersion/" ]; then
rm -rf "$folder"
fi
done
# Remove old version folders and files from the cask metadata directory
cd "$baseDir/$package/$metadataDir"
for folder in */; do
if [ "$folder" != "$packageVersion/" ]; then
rm -rf "$folder"
fi
done
done