This document summarizes revisions to the Cask Domain-Specific Language (DSL).
These are deltas from the pre-existing (unversioned) conventions to the Cask DSL 1.0 specification.
- Header Line (1.0)
- New Forms (1.0)
- Renamed Forms (1.0)
- All Supported Stanzas (1.0)
- Other Supported Non-stanza Methods (1.0)
- Caveats Mini-DSL (1.0)
The header line was changed from the form
class MyApp < Cask
to
cask :v1 => 'my-app' do
Legacy rules for mapping Cask filenames to header class names are no longer
needed. The token 'my-app'
in the header corresponds directly to the
filename my-app.rb
.
The term :v1
identifies the DSL version (currently 1.0), and defines the
features which are available for the current Cask.
###(1.0)
appcast
artifact
depends_on :cask
depends_on :java
- stub - not yet functional
conflicts_with
- stub - not yet functional
gpg
stub: not yet functional.installer :script
license
name
*flight plist_set
postflight suppress_move_to_applications
stage_only
- replaced undocumented
caskroom_only
- replaced undocumented
suite
tags
uninstall :rmdir
uninstall :trash
- stub - currently just a synonym for
uninstall :delete
- stub - currently just a synonym for
zap
old form | new form |
---|---|
after_install |
postflight |
after_uninstall |
uninstall_postflight |
arch_only (within caveats ) |
depends_on :arch |
assistive_devices (within caveats ) |
accessibility_access |
before_install |
preflight |
before_uninstall |
uninstall_preflight |
container_type |
container :type |
depends_on_formula |
depends_on :formula |
destination_path |
staged_path |
install |
pkg |
link |
app (or sometimes suite or artifact ) |
manual_installer (within caveats ) |
installer :manual |
nested_container |
container :nested => |
os_version_only (within caveats ) |
depends_on :macos |
title (in interpolations) |
token |
uninstall :files |
uninstall :delete |
version 'latest' |
version :latest |
x11_required (within caveats ) |
depends_on :x11 |
app
appcast
artifact
binary
caveats
colorpicker
conflicts_with
container
depends_on
font
gpg
stub: not yet functional.homepage
input_method
installer
internet_plugin
license
pkg
postflight
preflight
prefpane
qlplugin
screen_saver
service
sha256
stage_only
suite
tags
uninstall_postflight
uninstall_preflight
uninstall
url
version
zap
For use in eg interpolation: