-
-
Notifications
You must be signed in to change notification settings - Fork 10.7k
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
Roadmap: Rationalizing and Extending the Cask DSL (DSL 1.0) #4688
Comments
We also need a stanza for after copying is implemented, to deal with special cases. |
Will need to read through this tomorrow when I get a chance |
@fanquake take your time, there is no hurry. |
I guess I forgot to prioritize these. The important removal in my view is @vitorgalvao would that work as an Also paging @phinze. |
I don’t think we’d need a block. I was envisioning it simply as an optional stanza, since it won’t need extra options (this is really the only part with different needs in linking and copying), and should be needed sparingly. Something like (using gridwars as the example) class Gridwars < Cask
url 'http://gridwars.marune.de/bin/gridwars_osx_x86.zip'
homepage 'http://gridwars.marune.de/'
version '9.3.2006'
sha256 '39694d6d7f7af1a25818d10dbd811d0309562622f91f43f71d8b217bccdb03fb'
app 'gridwars_osx_x86/gridwars.app'
copy 'gridwars_osx_x86'
end
|
This makes the following stanzas available in the DSL as synonyms to existing stanza, with no change to existing functionality: - pkg for `install` - app for `link` - suite for `link` - preflight for `before_install` - postflight for `before_uninstall` - uninstall_preflight for `before_uninstall` - uninstall_postflight for `after_uninstall` References Homebrew#4688 This works, but is marked WIP because we are not in a hurry, and because I intend to add tests.
HOLD until Homebrew#4865 is merged. After Homebrew#4865, `caskroom_only` can be subclassed from Cask::Artifact::Base like any other artifact. It no longer has the special property of making `uninstall` stanzas work. This stanza has never been documented. It is possible that it will no longer be needed, after Homebrew#4865 and subsequent cleanup on Casks that use this form. References: Homebrew#4688
@rolandwalker Just to clarify, how are you envisioning
So cask :v1 => 'gridwars' do
version '9.3.2006'
sha256 '39694d6d7f7af1a25818d10dbd811d0309562622f91f43f71d8b217bccdb03fb'
url 'http://gridwars.marune.de/bin/gridwars_osx_x86.zip'
homepage 'http://gridwars.marune.de/'
license :unknown
app 'gridwars_osx_x86/gridwars.app'
suite 'gridwars_osx_x86'
end while apps like 1 It works since the link is still accessing the app in the directory with every other resource that might be needed. |
@vitorgalvao, hmm, I think the implicit change in behavior described above would be unpredictable to both end-users and Cask authors. However, there is a need describe the apps that are within a suite for other reasons, such as determining the runtime version number. And I'm definitely in favor of giving control to end-users who prefer a flat Applications folder, or a hierarchical one. We just need to define a good interface for that. What about a command-line option and corresponding config-file option? I'm not saying this is a good choice of name, but $ brew cask install --appfolder gridwars |
@rolandwalker I’m not so much thinking about control, but breakage. In the When I asked “how are you envisioning Having a command-line option won’t work, because then we’re putting the burden on the user of knowing how the cask is structured. It’s safe to assume that once we have copying implemented, users will be divided between the ones that do one or the other exclusively. It doesn’t make sense for the copying user (that likely will have that option set in one of the shell’s startup files) to have to think “oh, in this articular cask I need to give this specific flag, or else it’ll break”. Even us wouldn’t be able to remember. |
At last, glad to see this is through. |
Background
Some of you may have noticed that #3066 works, but has been sitting unmerged
for a long time. The reason I pressed "pause" on that PR was the realization
that storing Cask files as metadata (while appealingly simple) would mean that
we need to keep backwards-compatibility with the DSL essentially forever.
We could still add stanzas or keys, but it would become difficult to remove
anything, because we would need to be able to load arbitrarily old metadata-Casks.
Recently, we did make substantial changes to the DSL (including the removal
of stanzas) all of which was accomplished pretty much glitch-free. (#2931, #4264,
#4257, #4689). The process goes something like this (duplicated in Tracker below):
Argument
Like most successful things, the Cask DSL has grown incrementally over time
and was not always planned. This seems like a good moment to review and
rationalize the DSL (before merging #3066 or something like it).
As with #4678, this is only a draft, and will be edited in-place.
Goals
brew cask upgrade
Proposed DSL Changes
app
stanza, and substitute it for the most common case wherelink
is currently used. (DSL: forward-compatible synonyms #4845)App
for thisapp
: there is anInfo.plist
to consult for version numbers, the app can be shut down during upgrades, etc.link
in the DSL for unusual cases? No, this is a bad idea because it is a verb, and will be confusing when combined with an option to install by copyinglink
out of habit.However, the inconvenience is balanced by the fact thatNo, that compatibility is not worth the potential confusion.link
will continue to work (it just won't gain new features asapp
will).suite
stanza for Casks that link a directory into ~/Applications (DSL: forward-compatible synonyms #4845)suite
detailing the location of apps inside the folderartifact
stanza for "generic artifact", to cover corner cases (DSL: addartifact
stanza #6225)install
withpkg
(DSL: forward-compatible synonyms #4845)Pkg
for thisinstall
/uninstall
are enforcedsuch that
uninstall
is unavailable to non-pkg Casks. We need tobreak that linkage and make
uninstall
available for all Casks.Removing
install
as a keyword will help Cask authors intuit thatinstall
anduninstall
are not connected (DSL: allow all Casks to useuninstall
stanzas #4865).before_install
/after_install
withpreflight
/postflight
(DSL: forward-compatible synonyms #4845)preflight
andpostflight
as discrete verbs in the CLIbefore_uninstall
/after_uninstall
withuninstall_preflight
/uninstall_postflight
(DSL: forward-compatible synonyms #4845)preflight
/postflight
caskroom_only
stanza (DSL: remove special properties ofcaskroom_only
stanza #4866)caskroom_only
currently does somewhat more than the name suggests, because the class is based onCask::Artifact::Pkg
rather thanCask::Artifact::Base
. Specifically,:uninstall
is fully respected.caskroom_only
is preserved, thenCask::Artifact::CaskroomOnly
should be based onCask::Artifact::Base
uninstall
can be made available to all Cask types, then we might not needcaskroom_only
caskroom_only
is also used in a funny idiom withafter_install
, a new stanza might be needed for that (proposedinstaller :script
below)stage_only
Adddsl
stanza to store DSL specification version number? (DSL: adddsl
stanza, defining DSL specification version for a Cask #4870)license
stanza (DSL: addlicense
stanza #4873, DSL add NCSA OSS license type #6071, update valid license values #6357)depends_on_formula
with extensibledepends_on :formula
(DSL: adddepends_on
stanza #4896)depends_on :formula
matches Homebrewconflicts_with
stanza to complementdepends_on
(DSL: addconflicts_with
stanza #5569)Consider removingif
statements in favor of a more meaningful syntax for variantsaddcopy
stanza (name negotiable) to support special casesI don't yet fully understand what it would do, but we can add the keyword now. As withappcast
, it doesn't have to undertake a function until later.suite
, see comments below.gpg
stanza to support GPG signatures (DSL: addgpg
stanza #4848, Revise gpg stanza order and parameters #5975)'latest'
string with:latest
symbol inversion
stanza (DSL: allowversion :latest
(symbol not string) #4849)'latest'
was simply a convention, no different from other version strings at the technical level. Recently, we have been assigning special semantics to 'latest
'. Changing it to a symbol underscores the special meaning at the language level. On the backend, we will enforce that a symbol argument forversion
must be one of a specific list (currently only:latest
), which will catch errant spellings of the special value.:latest
will stringify tolatest
, so layout on disk will be unchanged.'latest'
would not be removed, though we might remove the special semantics from it over timeversion
values against version numbers from appcasts and bundleInfo.plist
s. The symbol value:latest
will also indicate "this is not a version-string: do not expect it to match appcast orInfo.plist
.zap
, an extension ofuninstall
that removes more stuff (DSL: addzap
stanza #4869, functionality and docs for zap stanza and verb #6155, sanity check against deleting user files #6610, protect against inner ".." in uninstall paths #6193)uninstall
syntax, describing uninstall-like actions which do not run by default — only with the newzap
command verbzap
targets from the mackup project. We could simply mine mackup for a list of files as an initial seed.appcast
to include keys such as a checksum. (DSL: extendappcast
stanza #4847)installer :script
(name negotiable) as a more direct way to expresscaskroom_only
/after_install
(DSL: addinstall_script
stanza #4951, makeinstall_script
stanza more robust #6306, DSL: addinstaller
stanza #6660)add:glob
option to file targets which currently support:target
. (WIP DSL: add:glob
key to expand fileglobs #5043):expand
?expand
method:app expand('*/VLC.app')
:target
is interpreted insideCask::Artifact::Symlinked
. The relevant code should be moved todsl.rb
and/or constructors called fromdsl.rb
, after which it would be easier to add support for:expand
uninstall
directive:files
to:remove
or:delete
. (DSL: add uninstall:delete
and:trash
#4928):trash
, anuninstall
directive which works by moving files to the OS X Trashuninstall :rmdir
(add uninstall :rmdir #6192)tags
stanza (DSL: addtags
stanza #4953):vendor
(removed in favor of toplevel stanza:name
name
)phinze> like
cask OnePassword; name '1password'; ... ; endcask :v1 => 'google-chrome' do; end
container_type
tocontainer
(DSL: change container_type to extensible container #6068, bug: fix container :type => <type> #6118)container :type => :naked
nested_container
intocontainer
(new DSL form container :nested => <inner> #6120)container :nested => <inner-container>
manual_installer
to a first-class artifact (DSL: addinstaller
stanza #6660)caveats
is opaqueinstaller :manual
installer :script
internet_plugin
artifact per user request (add support for internet_plugin artifact #5923)accessibility_access
(DSL: addaccessibility_access
stanza #7854)Tracker
This tracker ignores new functionality such as implementing
gpg
on the backend or addingzap
stanzas to Casks. The purpose is tracking the stabilization of Cask DSL 1.0 (purely as a language) and when we can merge #3066.)caskroom_only
to be revisitedbrew cask create
templateapp
switchover (doc newapp
stanza and update tests to use it #6167)license
stanza (stub value of:unknown
) (docs andcreate
template for new license stanza #6426)addNotags
stanza? (stub value of:vendor => :unknown
?)? addnot neededdsl
stanza ? (value'1.0'
)README.md
(doc: first changes for DSL 1.0 #6072)update(no change)HACKING.md
if neededuninstall
now applies to all Casks (DSL doc: uninstall now available for all Casks #6122)No, it will be removed.link
is now demoted to corner casesCONTRIBUTING.md
(doc newapp
stanza and update tests to use it #6167)link
should be removed in favor ofartifact
(DSL: addartifact
stanza #6225)CONTRIBUTING.md
for each changeapp
(doc newapp
stanza and update tests to use it #6167)suite
(document new suite stanza #6210)link
(remove) (doc newapp
stanza and update tests to use it #6167)pkg
(docs and error messages for new DSL stanzapkg
#6121)(not present)preflight
,postflight
,uninstall_preflight
,uninstall_postflight
license
(docs andcreate
template for new license stanza #6426)(not present)depends_on :formula
(not present)depends_on :arch
(not present)depends_on :macos
(not present)depends_on :x11
other(not present)depends_on
stubs(not present)conflicts_with
(all stubs)(not present)gpg
(not present)(not present)version :latest
as symbol(not present)zap
(not present)appcast
(new keys)(not present)installer :script
(not present)installer :manual
(not present)uninstall :delete
(not present)uninstall :trash
(not present)tags
(not present)container :type
container :nested
(docs and tests for new formcontainer :nested
#6578)(not present)uninstall :rmdir
(not present)artifact
method_missing
trick will not prompt users to upgrade) (DSL: document the new-style header line #7311)(not present)token
name
(until release: documentname
stanza #7806)(not present)plist_set
postflight(not present)suppress_move_to_applications
postflight(not present)accessibility_access
(not present)system_command
postflightCASK_LANGUAGE_REFERENCE.md
for each change (both addition and deprecation)app
(doc newapp
stanza and update tests to use it #6167)suite
(document new suite stanza #6210)link
(remove) (doc newapp
stanza and update tests to use it #6167, WIP doc followup: missing deprecations #6230)pkg
(docs and error messages for new DSL stanzapkg
#6121)preflight
,postflight
,uninstall_preflight
,uninstall_postflight
(transition: doc preflight/postflight stanzas #6074)license
(docs andcreate
template for new license stanza #6426)depends_on :formula
(docs, error msgs, tests for depends_on :formula #6138)depends_on :arch
(DSL:depends_on :arch
functionality/tests/doc #7793)depends_on :macos
(DSL:depends_on :macos
#7696)depends_on :x11
(DSL: adddepends_on :x11
, permit multipledepends_on
stanzas #7845)depends_on
stubs (docs, error msgs, tests for depends_on :formula #6138)conflicts_with
(all stubs) (documentconflicts_with
#6736)gpg
(basic docs for stub gpg stanza #6868)version :latest
as symbol (change docs/tests to useversion :latest
#6223, WIP doc followup: missing deprecations #6230)zap
(functionality and docs for zap stanza and verb #6155, doc don'tzap
user-created content #6189)appcast
(new keys) (documentappcast
stanza #6680)installer :script
(DSL: addinstaller
stanza #6660)installer :manual
(DSL: addinstaller
stanza #6660)uninstall :delete
(doc/tests switchover touninstall :delete
#6227)uninstall :trash
(Documentuninstall :trash
#6507)tags
(Document tags stanza #6509)container :type
(doc and tests forcontainer :type
#6463)container :nested
(docs and tests for new formcontainer :nested
#6578)uninstall :rmdir
(add uninstall :rmdir #6192)artifact
(DSL: addartifact
stanza #6225)method_missing
trick will not prompt users to upgrade) (DSL: document the new-style header line #7311)token
(unify and recast "Cask name" and "title" as "token" #7673)name
(until release: documentname
stanza #7806)plist_set
postflight (document thepostflight
mini-DSL #7938)suppress_move_to_applications
postflight (document thepostflight
mini-DSL #7938)accessibility_access
(DSL: addaccessibility_access
stanza #7854)(bumped)system_command
postflightcask_language_deltas.md
app
(doc newapp
stanza and update tests to use it #6167)suite
(document new suite stanza #6210)link
(remove) (doc newapp
stanza and update tests to use it #6167)pkg
(docs and error messages for new DSL stanzapkg
#6121, restorepkg
to cask_language_deltas.md #6163)preflight
,postflight
,uninstall_preflight
,uninstall_postflight
(transition: doc preflight/postflight stanzas #6074)license
(docs andcreate
template for new license stanza #6426)depends_on :formula
(docs, error msgs, tests for depends_on :formula #6138)depends_on :arch
(DSL:depends_on :arch
functionality/tests/doc #7793)depends_on :macos
(DSL:depends_on :macos
#7696)depends_on :x11
(DSL: adddepends_on :x11
, permit multipledepends_on
stanzas #7845)depends_on
stubs (docs, error msgs, tests for depends_on :formula #6138)conflicts_with
(all stubs) (documentconflicts_with
#6736)gpg
(basic docs for stub gpg stanza #6868)version :latest
as symbol (change docs/tests to useversion :latest
#6223, WIP doc followup: missing deprecations #6230)zap
(functionality and docs for zap stanza and verb #6155)appcast
(new keys) (documentappcast
stanza #6680)installer :script
(DSL: addinstaller
stanza #6660)installer :manual
(DSL: addinstaller
stanza #6660)uninstall :delete
(doc/tests switchover touninstall :delete
#6227)uninstall :trash
(Documentuninstall :trash
#6507)tags
(Document tags stanza #6509)container :type
(doc and tests forcontainer :type
#6463)container :nested
(docs and tests for new formcontainer :nested
#6578)uninstall :rmdir
(add uninstall :rmdir #6192)artifact
(DSL: addartifact
stanza #6225)method_missing
trick will not prompt users to upgrade) (DSL: document the new-style header line #7311)token
(unify and recast "Cask name" and "title" as "token" #7673)name
(until release: documentname
stanza #7806)plist_set
postflight (document thepostflight
mini-DSL #7938)suppress_move_to_applications
postflight (document thepostflight
mini-DSL #7938)accessibility_access
(DSL: addaccessibility_access
stanza #7854)(bumped)system_command
postflightapp
(remove support forlink
artifact #7065)suite
(remove support forlink
artifact #7065)link
(remove) (remove support forlink
artifact #7065)pkg
(docs and error messages for new DSL stanzapkg
#6121)preflight
,postflight
,uninstall_preflight
,uninstall_postflight
(transition: doc preflight/postflight stanzas #6074)license
(docs andcreate
template for new license stanza #6426)depends_on :formula
(docs, error msgs, tests for depends_on :formula #6138)depends_on :arch
(DSL:depends_on :arch
functionality/tests/doc #7793)depends_on :macos
(DSL:depends_on :macos
#7696)depends_on :x11
(DSL: adddepends_on :x11
, permit multipledepends_on
stanzas #7845)depends_on
stubs (docs, error msgs, tests for depends_on :formula #6138)(all stubs)conflicts_with
gpg
(DSL: addgpg
stanza #4848)version :latest
as symbol (change docs/tests to useversion :latest
#6223)zap
(functionality and docs for zap stanza and verb #6155, Improve zap feedback messages #6207)appcast
(new keys) (documentappcast
stanza #6680)installer :script
(DSL: addinstaller
stanza #6660)installer :manual
(DSL: addinstaller
stanza #6660)uninstall :delete
(doc/tests switchover touninstall :delete
#6227)uninstall :trash
(Documentuninstall :trash
#6507)tags
(Document tags stanza #6509)container :type
(doc and tests forcontainer :type
#6463)container :nested
(docs and tests for new formcontainer :nested
#6578)uninstall :rmdir
(add uninstall :rmdir #6192)artifact
(DSL: addartifact
stanza #6225, remove support forlink
artifact #7065)token
(unify and recast "Cask name" and "title" as "token" #7673)name
(Addname
stanza for proper name #7805)plist_set
postflight (Add DSL for after_install and similar blocks #5723, sanity checks and error handling in postflight mini-DSL #7940)suppress_move_to_applications
postflight (Add DSL for after_install and similar blocks #5723, sanity checks and error handling in postflight mini-DSL #7940)accessibility_access
(DSL: addaccessibility_access
stanza #7854)bumpedsystem_command
postflightthis checklist does not yet have all needed items(done)preflight
/postflight
switchover, all repos (Mass change: new preflight/postflight stanzas #6096, Mass change: new preflight/postflight stanzas homebrew-cask-versions#411)uninstall_preflight
/uninstall_postflight
switchover, all repos (Mass change: new preflight/postflight stanzas #6096, Mass change: new preflight/postflight stanzas homebrew-cask-versions#411)app
switchover, all repos (Mass convert to app stanza #6194, convert old-stylelink
stanza toapp
orartifact
in 3 Casks #6648, useapp
instead oflink
in airfile.rb #7048, caskroom/homebrew-unofficial#17, Mass convert to app stanza homebrew-cask-versions#418, Convert three casks to newapp
stanza homebrew-cask-versions#424)suite
switchover, all repos (Mass change Casks to newsuite
stanza #6211, caskroom/homebrew-unofficial#18, use newsuite
stanza in sketchup-pro homebrew-cask-versions#423)pkg
switchover, all repos (Mass change Casks to use new DSL stanzapkg
#6123, Mass change Casks to use new DSL stanzapkg
homebrew-cask-versions#412, command-line-tools should use pkg stanza homebrew-cask-versions#419)depends_on :formula
switchover, all repos (update hashcat.rb to use depends_on :formula #6140, Mass change todepends_on :formula
homebrew-cask-fonts#231)version :latest
switchover, all repos (Mass changeversion :latest
as symbol #6224, caskroom/homebrew-unofficial#19, Mass changeversion :latest
as symbol homebrew-cask-versions#426, Mass changeversion :latest
as symbol homebrew-cask-fonts#234)zap
stanzas, all repos (First casks using zap #6164)addDecided against. No sufficiently accurate seed data, andtags
stanzas, all repos (cantags
stanza be empty?)tags
is not a required stanza.license
stanza, all repos (stub value of:unknown
) (Add license stanza for 1921 Casks #6431, caskroom/homebrew-unofficial#22, add license stanza for 137 Casks homebrew-cask-versions#449, add license stanza for 934 Casks homebrew-cask-fonts#239)uninstall :delete
switchover, all repos (Mass Cask change to useuninstall :delete
#6245, Mass Cask change to useuninstall :delete
homebrew-cask-versions#428)? addnot neededdsl
stanza, all repos ? (value'1.0'
)caskroom_only
switchover, all reposcaskroom_only
needlessly, all repos (Removecaskroom_only
withmanual_installer
in 12 Casks #6305)caskroom_only
solely to make:uninstall
fire, all repos (Removecaskroom_only
from three Casks #6246, Removecaskroom_only
withmanual_installer
in 2 Casks homebrew-cask-versions#432)caskroom_only
/postflight
to useinstaller :script
, all repos (useinstaller :script
in 3 Casks #6869)stage_only
instead ofcaskroom_only
(Switch tostage_only
in 2 casks #7456, switch node-webkit-32bit to new formstage_only
homebrew-cask-versions#565)appcast
(new keys) (Add appcast checksums for 7 Casks #6988, appcast :format for 4 Casks #6683, add appcast checksums in 243 Casks #6686, add appcast checksums in 4 Casks homebrew-cask-versions#474)container :type
switchover, all repos (delay, release 0.40.0 is a prerequisite) (change 6 Casks to usecontainer :type =>
#6464, updated font-nova-slim to use github url homebrew-cask-fonts#493)container :nested
switchover, all repos (delay; release 0.41.0 is a prerequisite) (Change 37 Casks to usecontainer :nested
#6579, updatecontainer
in raw-photo-processor.rb #6914, new form container :nested, timemachineschedul... homebrew-cask-versions#467)uninstall :rmdir
switchover, all repos (delay; release 0.42.0 is a prerequisite) (add or expand zap stanzas in 53 Casks #6609)artifact
switchover, all repos (delay; release 0.42.0 is a prerequisite) (convert old-stylelink
stanza toapp
orartifact
in 3 Casks #6648)installer :manual
switchover, all repos (delay; 0.45.0 is a prerequisite) (useinstaller :manual
in 21 Casks #6873, remove manual_installer from league_of_legends #6902, useinstaller :manual
in 3 Casks homebrew-cask-versions#493)artifact
after addingapp
/suite
? (yes, at leastdwarf-fortress.rb
)staged_path
switchover, all repos (delay; 0.46.0 is a prerequisite) (Mass update 36 Casks to usestaged_path
instead ofdestination_path
#7297, Remove remaining uses ofdestination_path
#7505, Update 4 Casks to usestaged_path
instead ofdestination_path
homebrew-cask-versions#546)method_missing
trick will not prompt users to upgrade) (Mass update: new-style header line for 2065 Casks #7315, Mass update: new-style header line for 937 Casks homebrew-cask-fonts#252, Mass update: new-style header line for 154 Casks homebrew-cask-versions#550, caskroom/homebrew-unofficial#25, caskroom/homebrew-boneyard#4)token
switchover (Remove#{title}
in 24 Casks (transitional) #7820, Remove#{title}
in 2 Casks (transitional) homebrew-cask-versions#589)title
to transitional form: enablingtoken
bumped to DSL 1.0 followups #7683 followups)name
switchover (from trial formtags :name
), all repos (Comment outtags :name
in 5 Casks #7808)tags :name
: enabling standalonename
is bumped to DSL 1.0 followups #7683 followupsplist_set
postflight switchover, all repos (Use postflight DSL for setting JVMOptions in plist #7661, use plist_set in 4 Casks homebrew-cask-versions#583)suppress_move_to_applications
postflight switchover, all repos (Use postflight DSL with :key option for suppressing Move to Applications alerts #7660, Use postflight DSL for suppressing Move to Applications alerts #7122, usesuppress_move_to_applications
in flux-beta.rb homebrew-cask-versions#580)(bumped)accessibility_access
switchover, all repos(bumped)system_command
postflight switchover, all reposdepends_on :arch
switchover, all repos (Comment out arch_only in 2 Casks #7811, Enabledepends_on :arch
in 2 Casks #7846)depends_on :macos
switchover, all repos (Convert 7 Casks todepends_on :macos
#7760, caskroom/homebrew-boneyard#11)depends_on :x11
switchover, all repos (Switch 3 Casks todepends_on :x11
#7847)assistive_devices
caveats, all repos (Remove assistive_devices caveat in 4 Casks #7849)destination_path
tostaged_path
(recast methoddestination_path
asstaged_path
#6783 related: use "staged" instead of "installed" for Caskroom files in messages #6840)title
totoken
(unify and recast "Cask name" and "title" as "token" #7673)app
(doc newapp
stanza and update tests to use it #6167)suite
(must add a test) (add missing test coverage forsuite
artifact #7432)artifact
(must add a test) (DSL: addartifact
stanza #6225)link
(remove) (remove support forlink
artifact #7065)pkg
(DSL convert last of test suite topkg
stanza #6137)preflight
,postflight
,uninstall_preflight
,uninstall_postflight
(update test suite for postflit/preflight DSL forms #6115, fix skipped test file + doc #6461)license
(docs andcreate
template for new license stanza #6426)depends_on :formula
(docs, error msgs, tests for depends_on :formula #6138)depends_on :arch
(DSL:depends_on :arch
functionality/tests/doc #7793)depends_on :macos
(DSL:depends_on :macos
#7696)depends_on :x11
(DSL: adddepends_on :x11
, permit multipledepends_on
stanzas #7845)other(bumped)depends_on
stubs(bumped)conflicts_with
(all stubs)gpg
(DSL: addgpg
stanza #4848, Revise gpg stanza order and parameters #5975)version :latest
as symbol (change docs/tests to useversion :latest
#6223)zap
(functionality and docs for zap stanza and verb #6155)appcast
(new keys) (documentappcast
stanza #6680)(bumped)installer :script
(there is one test, but another would be good)(bumped)installer :manual
uninstall :delete
(doc/tests switchover touninstall :delete
#6227)(bumped)uninstall :trash
tags
(DSL: addtags
stanza #4953)container :type
(doc and tests forcontainer :type
#6463, repaired in DSL: remove support forcontainer_type
#7429)container :nested
(docs and tests for new formcontainer :nested
#6578)uninstall :rmdir
(add uninstall :rmdir #6192)method_missing
trick will not prompt users to upgrade) (remove old-style header line from test Casks #7430)header line / class name in rspec-driven tests(skippable for now as there are no file reads)token
(unify and recast "Cask name" and "title" as "token" #7673)name
(Addname
stanza for proper name #7805)plist_set
postflight (Add DSL for after_install and similar blocks #5723)suppress_move_to_applications
postflight (Add DSL for after_install and similar blocks #5723)accessibility_access
(DSL: addaccessibility_access
stanza #7854, previously Add DSL for after_install and similar blocks #5723)system_command
postflight (Add DSL for after_install and similar blocks #5723)CASK_NAMING_REFERENCE.md
(DSL: document the new-style header line #7311)developer/bin/cask_namer
(DSL: document the new-style header line #7311)lib/cask/cli/create.rb
(DSL: document the new-style header line #7311)font_casker
(DSL: document the new-style header line homebrew-cask-fonts#251)stage_only
can be removedcaskroom_only
being renamed tostage_only
caskroom_only
withmanual_installer
in 12 Casks #6305)manual_installer
to a first-class artifact,installer :manual
(DSL: addinstaller
stanza #6660)stage_only
(DSL: add stanzastage_only
(new spelling ofcaskroom_only
) #7365)CASK_LANGUAGE_REFERENCE.md
(DSL: add stanzastage_only
(new spelling ofcaskroom_only
) #7365)cask_language_deltas.md
(DSL: add stanzastage_only
(new spelling ofcaskroom_only
) #7365)stage_only
and any activatable artifact (DSL: add stanzastage_only
(new spelling ofcaskroom_only
) #7365)title
support (remove support fortitle
method in Casks #7825)assistive_devices
caveats support (removeassistive_devices
caveats
method #7855)os_version_only
caveats support (removeos_version_only
support fromcaveats
#7794)arch_only
caveats support (DSL: removearch_only
caveats support #7810)x11_required
caveats support (removecaveats
/x11_required
#7848)'latest'
as string (enforce version:latest
as a symbol #7504)link
support (remove support forlink
artifact #7065)install
support (DSL: remove support forinstall
stanza #7268)after_uninstall
support (DSL: remove support forafter_install
and friends #7354)after_install
support (DSL: remove support forafter_install
and friends #7354)before_uninstall
support (DSL: remove support forafter_install
and friends #7354)before_install
support (DSL: remove support forafter_install
and friends #7354)uninstall :files
support (DSL remove support for old formuninstall :files
#7367)depends_on_formula
support (DSL: remove support fordepends_on_formula
#7401)container_type
support (DSL: remove support forcontainer_type
#7429)nested_container
support (DSL: remove support fornested_container
#7451)manual_installer
caveat support (DSL: removemanual_installer
fromcaveats
mini-DSL #7428)destination_path
support (remove support for legacy formdestination_path
#7506)caskroom_only
support (DSL: remove support forcaskroom_only
#7507)tags :name
support (DSL: remove support fortags :name
#7812)cask_language_deltas.md
(fill incask_language_deltas.md
#7567)CASK_LANGUAGE_REFERENCE.md
(remove legacy docs from CASK_LANGUAGE_REFERENCE.md #7531)caveats
mini-DSL for removalspostflight
mini-DSL for inclusionsystem_command
is bumped to DSL 1.1remove_accessibility_access
should be renamed todisable_accessibility_access
for consistency (Review and revise accessibility methods in postflight mini-DSL #7684)enable_accessibility_access
/disable_accessibility_access
should be combined intoaccessibility_access
and moved out ofpostflight
(DSL: addaccessibility_access
stanza #7854)is bumped to DSL 1.1 in favor of a new form outside of
postflight
cask_language_deltas.md
(doc: remove "incomplete" banner on deltas doc #7941)mark any Casks using undocumented features as DSL 1.1seems to be noneupdatenot neededHACKING.md
if neededREADME.md
(goal: 1 Dec) (remove DSL-change banner #7698)References
This is a tracking issue referred to in #4678 , the roadmap for
brew cask upgrade
There is a followup tracker at #7683.
The text was updated successfully, but these errors were encountered: