cask "visual-studio" do arch arm: "arm64", intel: "x64" on_arm do version "17.6.7.417,ceb0ea3f-4db8-46b4-8dc3-8049d27c0107,91eb158e928097dcb6e42ece2db7ebac" sha256 "cc9b0d5976699de952b38e39029dbf54328bf455324ef6727a6a8cf155446d15" end on_intel do version "17.6.7.417,ceb0ea3f-4db8-46b4-8dc3-8049d27c0107,045784e15e744e97f292d5bacc45c169" sha256 "3512f7431f5f7228c4766a5048e34280f80e530d35914654db55c4387e9e5541" end url "https://download.visualstudio.microsoft.com/download/pr/#{version.csv.second}/#{version.csv.third}/visualstudioformac-#{version.csv.first}-#{arch}.dmg" name "Microsoft Visual Studio" desc "Integrated development environment" homepage "https://visualstudio.microsoft.com/vs/mac/" livecheck do url "https://aka.ms/vsmac/manifest/#{version.major}-stable" regex(%r{/download/pr/([^/]+)/([^/]+)/visualstudioformac[._-]v?(\d+(?:\.\d+)+)-#{arch}.dmg}i) strategy :json do |json| json["items"].flat_map do |item| item["url"]&.scan(regex)&.map { |match| "#{match[2]},#{match[0]},#{match[1]}" } end end end auto_updates true depends_on macos: ">= :catalina" depends_on cask: "homebrew/cask-versions/mono-mdk-for-visual-studio" app "Visual Studio.app" zap trash: [ "/Applications/Xamarin Profiler.app", "/Applications/Xamarin Workbooks.app", "~/Library/Application Support/CrashReporter/VisualStudio*", "~/Library/Application Support/VisualStudio", "~/Library/Caches/VisualStudio", "~/Library/Caches/VisualStudioInstaller", "~/Library/Caches/XamarinInstaller", "~/Library/Developer/Xamarin", "~/Library/Logs/VisualStudio", "~/Library/Logs/VisualStudioInstaller", "~/Library/Logs/XamarinInstaller", "~/Library/MonoAndroid", "~/Library/MonoTouch", "~/Library/Preferences/Visual*Studio", "~/Library/Preferences/Xamarin", "~/Library/VisualStudio", "~/Library/Xamarin.Mac", ] end