Skip to content

Latest commit

 

History

History
23 lines (13 loc) · 2.74 KB

File metadata and controls

23 lines (13 loc) · 2.74 KB

appcast

The value of the appcast stanza is a string, holding the URL for an appcast which provides information on future updates.

Required Appcast Parameters

key value
checkpoint: a string holding a custom checksum of the most recent appcast which matches the current Cask versioning. Use `curl --compressed --location --user-agent 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.152 Safari/537.36' "{{appcast_url}}"

Example: atom.rb

There are a few different ways the appcast can be determined:

  • If the app is distributed via GitHub releases, the appcast will be of the form https://github.com/{{user}}/{{project_name}}/releases.atom. (Example: electron.rb)

  • The popular update framework Sparkle generally uses the SUFeedURL property in Contents/Info.plist inside .app bundles. You can use the script find_sparkle_appcast by running the command "$(brew --repository)/Library/Taps/caskroom/homebrew-cask/developer/bin/find_sparkle_appcast" '/full/path/to/software.app' to find the appcast and checkpoint automatically. (Example: glyphs.rb)

  • Sourceforge projects follow the form https://downloads.sourceforge.net/projects/{{project_name}}/rss. A more specific page can be used as needed, pointing to a specific directory structure: https://sourceforge.net/projects/{{project_name}}/rss?path=/{{path_here}}. (Example: seashore.rb)

  • HockeyApp URLs are of the form https://rink.hockeyapp.net/api/2/apps/HEXADECIMAL_STRING<SOMETHING_ELSE>. For the appcast, remove <SOMETHING_ELSE> (ending up with https://rink.hockeyapp.net/api/2/apps/HEXADECIMAL_STRING. (Example: iconjar.rb)

  • An appcast can be any URL hosted by the app’s developer that changes every time a new release is out (e.g. a changelog HTML page). (Example: shortcat.rb)