There's only one substantive change in this patch, which is
that the Canonical App name is defined exactly by the name
of the App bundle on disk. The suggestion that the author's
website be consulted for orthography is removed.
Now that 'Link Details' exists, it's a great place to discuss how to handle subfolders within zip files. "relative path" is unclear in the world of zip folders, as the root isn't clear either, so an example seemed prudent. Seemed better here than in the link discussion.
Squashed from https://github.com/phinze/homebrew-cask/pull/2617
Package IDs are contained within <pkg-info> tags within PackageInfo
files. These files can be located by unpackaging a package with
`pkgutil --expand` and then using the `find` command.
Make caveats a first-class member of the Cask DSL. It no longer has to
be specified with "def caveats", but can be given as "caveats do ... end"
as with after_install blocks.
In addition, create a mini-DSL which can be used within caveats blocks,
providing standard messages when manual installers must be used,
reboot-required, etc.
Add alternate form: caveats can also accept a compile-time string for
simple cases.
This is 99% compatible with old Casks, as it still works by defining
a caveats method. However, all Casks containing caveats are cleaned
up and adapted according to the new DSL.
Full docs in CONTRIBUTING.md.
The indentation in CONTRIBUTING.md implies that :script accepts a hash.
But that is not the case. Instead :script accesses the entire hash defined
by uninstall. Unrelated install keys such as :quit leak through to
@command.run! when attempting to exec :script. Result: contrary to docs,
:script cannot be combined with other uninstall keys.
This PR makes uninstall :script accept a hash. When :args or :input are not
needed, :script can still accept a plain string, so many Casks require no
alteration.
In addition
- adds key :executable, required when using hash argument to :script
- keys to :script are validated and sanitized before being passed to
@command.run!
- adds :quit to with-installable.rb test to protect against regression
on leaky keys
Proposed order - :script, :launchctl, :quit, :kext, :pkgutil, :files. Quit
a process before attempting to unload an assocated kext, unload kext before
attempting to delete the associated file, etc. Arguably :script fits
loically with :files near the end of the list. However, we also have
:after_uninstall which implicitly fires immediately after :files.
Therefore, running :script early provides greater functionality.
Mostly this is spelling, capitalization, and whitespace. One
substantive change is updating the list of fields given in FAQ.md
to match CONTRIBUTING.md. Also incorporates suggestions from @NanoXD,
removing an old paragraph from FAQ.md re: nested containers.
- document sf link policy
- change audit to accept old and new style links
- need to keep old style links for projects where the 'latest' link
does not point to something usable
- link to official policy in audit warning message
refs #1436
The rest of the contribution instructions
have people working on the clone already in brew taps.
This just updates a reference that is still pointing
to the would-be contributors' home directory.
- recommend working out of the main tap rather than symlinking, as it
seems to make the instructions shorter/simpler
- add user's fork as a remote of the main tap, and push branch to that
- reference the new brew cask create command
refs #306
this will cause it to show up as a link from incoming pull requests, and
also make the documentation and its change history a little more
first-class with respect to the rest of the project.
big ups to @mkouhia, @passcod, @mwarkentin, and @vincecima for their
work on this document!