Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

caveats first-class in DSL, gets own mini-DSL #2426

Merged
merged 1 commit into from Jan 20, 2014

Conversation

rolandwalker
Copy link
Contributor

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 purpose is to make things easier for Cask authors, as well as to provide
a framework to address issues such as #2350, or the need to login/logout as
discussed in #2416 (because artifact type cannot always predict which
caveats are needed).

@phinze
Copy link
Contributor

phinze commented Jan 18, 2014

Nice idea! Papa homebrew definitely evolved something similar for Formula caveats.

I'm +1 for a merge.

@rolandwalker
Copy link
Contributor Author

Merge conflicts now resolved

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.
rolandwalker added a commit that referenced this pull request Jan 20, 2014
caveats first-class in DSL, gets own mini-DSL
@rolandwalker rolandwalker merged commit 4c885db into Homebrew:master Jan 20, 2014
@rolandwalker rolandwalker deleted the caveats_dsl branch February 8, 2014 21:48
@Homebrew Homebrew locked and limited conversation to collaborators May 8, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants