- Cask::Container::Pkg
- Cask::Container::Ttf
- Cask::Container::Otf
which are autodetected based on filetypes as with other
containers. Cask::Container::Naked remains available
for explicit use in a container_type stanza.
This logic is ugly as the installation directory will be left
in a mangled state if it fails partway through. However, the
same is true when `rmtree` fails partway through, which this
code is intended to minimize.
References: #5504
This is just a matter of semantics: renaming the abstract base
class `Cask::Container::UnarBase` so that it makes sense when
referring to it in a `container_type` stanza.
According to the logic of #5080, we should move away from calling
Homebrew internals, in part because things break over time, as
happened here with the implementation of `depends_on_formula`
(shortly to become `depends_on :formula`).
This re-implements formula dependencies by invoking the Homebrew
CLI, which is the only stable API Homebrew guarantees.
Fixes#5475Fixes#4010
Forgotten in #4688, but should be considered part of Cask DSL 1.0.
A `depends_on` stanza is much less useful without the corresponding
`conflicts_with`.
References: #4896
- remove font tags (per earlier discussion - they were left
in by mistake)
- add tag `:name` for corner cases where the Cask name cannot
adequately follow the product name. Examples: non-English
apps, App bundles which do not match publicized names.
This is possibly the cause of other glitches such as random
failures on Travis.
Ruby 1.8 popen3 does set global $? for the exit status, Ruby
1.9 and above does not. For Ruby 2.0 users (Mavericks and
above with recent Homebrew), success or failure of the current
external command was determined by the exit status of some
previous command.
Closescaskroom/homebrew-fonts#186
Currently, Casks names are constrained by the need to form
valid Ruby class names. This change enables a new syntax,
in which the first line of a Cask will read like
```ruby
cask :v1 => 'my-app' do
```
where :v1 refers to the version of the DSL spec.
- `:delete` is intended to replace `:files`
- `:trash` is intended to move files to the OS X Trash
- `:trash` is only a stub — currently all three function identically
References: #4688
The zap functionality here is in working form, but there is not a
corresponding `brew cask zap` command verb, which is to be supplied
in a separate PR.
Like other forward-compatible DSL extensions, it is intentionally
undocumented.
References: #4688