131 lines
5.2 KiB
Ruby
131 lines
5.2 KiB
Ruby
cask "docker" do
|
|
arch arm: "arm64", intel: "amd64"
|
|
|
|
on_catalina :or_older do
|
|
version "4.15.0,93002"
|
|
sha256 arm: "fc8609d57fb8c8264122f581c0f66497e46e171f8027d85d90213527d6226362",
|
|
intel: "bee41d646916e579b16b7fae014e2fb5e5e7b5dbaf7c1949821fd311d3ce430b"
|
|
|
|
livecheck do
|
|
skip "Legacy version"
|
|
end
|
|
|
|
depends_on macos: ">= :catalina"
|
|
end
|
|
on_big_sur :or_newer do
|
|
version "4.23.0,120376"
|
|
sha256 arm: "88813e65928d86d2ad301e51619109aeb3f46f6e135b355000c8854ac4737cca",
|
|
intel: "30bf23633840a5d129c7e125f940f41336176ea0235c7592ab9b5b3f775d5b3e"
|
|
|
|
livecheck do
|
|
url "https://desktop.docker.com/mac/main/#{arch}/appcast.xml"
|
|
strategy :sparkle
|
|
end
|
|
|
|
depends_on macos: ">= :big_sur"
|
|
end
|
|
|
|
url "https://desktop.docker.com/mac/main/#{arch}/#{version.csv.second}/Docker.dmg"
|
|
name "Docker Desktop"
|
|
name "Docker Community Edition"
|
|
name "Docker CE"
|
|
desc "App to build and share containerized applications and microservices"
|
|
homepage "https://www.docker.com/products/docker-desktop"
|
|
|
|
auto_updates true
|
|
conflicts_with formula: %w[
|
|
docker
|
|
docker-completion
|
|
docker-compose
|
|
docker-compose-completion
|
|
docker-credential-helper-ecr
|
|
]
|
|
|
|
app "Docker.app"
|
|
binary "Docker.app/Contents/Resources/bin/com.docker.cli",
|
|
target: "/usr/local/bin/com.docker.cli"
|
|
binary "Docker.app/Contents/Resources/bin/docker",
|
|
target: "/usr/local/bin/docker"
|
|
binary "Docker.app/Contents/Resources/bin/docker-compose",
|
|
target: "/usr/local/bin/docker-compose"
|
|
binary "Docker.app/Contents/Resources/bin/docker-credential-desktop",
|
|
target: "/usr/local/bin/docker-credential-desktop"
|
|
binary "Docker.app/Contents/Resources/bin/docker-credential-ecr-login",
|
|
target: "/usr/local/bin/docker-credential-ecr-login"
|
|
binary "Docker.app/Contents/Resources/bin/docker-credential-osxkeychain",
|
|
target: "/usr/local/bin/docker-credential-osxkeychain"
|
|
binary "Docker.app/Contents/Resources/bin/docker-index",
|
|
target: "/usr/local/bin/docker-index"
|
|
binary "Docker.app/Contents/Resources/bin/hub-tool",
|
|
target: "/usr/local/bin/hub-tool"
|
|
binary "Docker.app/Contents/Resources/bin/kubectl",
|
|
target: "/usr/local/bin/kubectl.docker"
|
|
binary "Docker.app/Contents/Resources/bin/com.docker.vpnkit",
|
|
target: "/usr/local/bin/vpnkit"
|
|
binary "Docker.app/Contents/Resources/etc/docker.bash-completion",
|
|
target: "#{HOMEBREW_PREFIX}/etc/bash_completion.d/docker"
|
|
binary "Docker.app/Contents/Resources/etc/docker.zsh-completion",
|
|
target: "#{HOMEBREW_PREFIX}/share/zsh/site-functions/_docker"
|
|
binary "Docker.app/Contents/Resources/etc/docker.fish-completion",
|
|
target: "#{HOMEBREW_PREFIX}/share/fish/vendor_completions.d/docker.fish"
|
|
|
|
postflight do
|
|
kubectl_target = Pathname("/usr/local/bin/kubectl")
|
|
|
|
# Only link if `kubernetes-cli` is not installed.
|
|
next if kubectl_target.exist?
|
|
|
|
system_command "/bin/ln", args: ["-sfn", staged_path/"Docker.app/Contents/Resources/bin/kubectl", kubectl_target],
|
|
sudo: !kubectl_target.dirname.writable?
|
|
end
|
|
|
|
uninstall_postflight do
|
|
kubectl_target = Pathname("/usr/local/bin/kubectl")
|
|
|
|
if kubectl_target.symlink? && kubectl_target.readlink == staged_path/"Docker.app/Contents/Resources/bin/kubectl"
|
|
system_command "/bin/rm", args: [kubectl_target],
|
|
sudo: !kubectl_target.dirname.writable?
|
|
end
|
|
end
|
|
|
|
uninstall delete: [
|
|
"/Library/PrivilegedHelperTools/com.docker.socket",
|
|
"/Library/PrivilegedHelperTools/com.docker.vmnetd",
|
|
],
|
|
rmdir: "~/.docker/bin",
|
|
launchctl: [
|
|
"com.docker.helper",
|
|
"com.docker.socket",
|
|
"com.docker.vmnetd",
|
|
],
|
|
quit: "com.docker.docker"
|
|
|
|
zap trash: [
|
|
"/usr/local/bin/docker-compose.backup",
|
|
"/usr/local/bin/docker.backup",
|
|
"~/.docker",
|
|
"~/Library/Application Scripts/com.docker.helper",
|
|
"~/Library/Application Scripts/group.com.docker",
|
|
"~/Library/Application Support/com.bugsnag.Bugsnag/com.docker.docker",
|
|
"~/Library/Application Support/Docker Desktop",
|
|
"~/Library/Caches/com.docker.docker",
|
|
"~/Library/Caches/com.plausiblelabs.crashreporter.data/com.docker.docker",
|
|
"~/Library/Caches/KSCrashReports/Docker",
|
|
"~/Library/Containers/com.docker.docker",
|
|
"~/Library/Containers/com.docker.helper",
|
|
"~/Library/Group Containers/group.com.docker",
|
|
"~/Library/HTTPStorages/com.docker.docker",
|
|
"~/Library/HTTPStorages/com.docker.docker.binarycookies",
|
|
"~/Library/Logs/Docker Desktop",
|
|
"~/Library/Preferences/com.docker.docker.plist",
|
|
"~/Library/Preferences/com.electron.docker-frontend.plist",
|
|
"~/Library/Preferences/com.electron.dockerdesktop.plist",
|
|
"~/Library/Saved Application State/com.electron.docker-frontend.savedState",
|
|
"~/Library/Saved Application State/com.electron.dockerdesktop.savedState",
|
|
],
|
|
rmdir: [
|
|
"~/Library/Caches/com.plausiblelabs.crashreporter.data",
|
|
"~/Library/Caches/KSCrashReports",
|
|
]
|
|
end
|