Commit graph

35 commits

Author SHA1 Message Date
Roland Walker
a0c86c4cd5 remove utf-8 encoding cookie 2014-12-18 13:28:00 -05:00
Claudia
e3c617b6f4 When handling errors or missing methods, the CLI now suggests updating
This helps cut trivial issues that would be easily fixable by doing `brew update && …`.
2014-12-12 19:50:19 +01:00
Roland Walker
6da48b07a3 add MacOS.release alias for MacOS.version
* to match phrasing in our documentation
* to distinguish against the Cask `version` (of which there may
  be more than one in the future)
* better fit with symbolic release names eg `:yosemite`
* `MacOS.release` itself is intentionally undocumented pending
  the next code release
2014-12-09 08:45:37 -05:00
Roland Walker
82826b2687 DSL: add accessibility_access stanza
* accepts a Boolean value
* replaces the never-documented `postflight` methods `enable_accessibility_access` /
 `disable_accessibility_access` (`remove_accessibility_access`)
* declarative: unlike the `postflight` approach, does not have to be
  invoked in two places
* de-document obsolete form `caveats` / `assistive_devices`
* bump Travis seed to avoid false test failures
2014-12-08 19:17:19 -05:00
Roland Walker
f5bcbd00a5 Merge pull request #7805 from rolandwalker/add_name_stanza
Add `name` stanza for proper name
2014-12-06 05:28:30 -05:00
Roland Walker
f800db0383 Add name stanza for proper name
Documentation is in a separate PR so that authors don't start
using this feature before release.
2014-12-04 20:08:55 -05:00
Roland Walker
bf96caa2b3 convert more backend code from cask_name to token
missed in #7673
2014-12-04 18:48:33 -05:00
Roland Walker
19ee3986c0 Refactor backend classes to match pre/postflight
From legacy forms "after_install", etc.
* abstract out `method_missing_message` to Cask::Utils
* provide `method_missing` coverage in pre/postflight blocks (fixes #7445)
* fix old-style rendering of Cask name as a classname in
  `method_missing` messages
2014-11-26 12:19:17 -05:00
Roland Walker
e31264de00 DSL: remove support for container_type
obsoleted by new form `container :type`
2014-11-18 08:12:05 -05:00
Roland Walker
d2132ac520 DSL: remove support for depends_on_formula
obsoleted by `depends_on :formula`
2014-11-17 11:16:08 -05:00
Roland Walker
0e7be245be Return Cask::SystemCommand::Result object
from Cask::SystemCommand.run

* stderr and stdout are now separated, though both are available
* :print_stderr is made the default, closer to previous behavior
* exit status can be read from the result object
* plist parsing is more naturally handled in the result object.
  The :plist argument to the run method was removed.
* whitespace
2014-09-27 08:59:08 -04:00
Roland Walker
49e6e6eb10 refactor :stderr => :silence
replace with :print_stderr => false

The double test on options[:print_stderr] in system_command.rb
is intentional, and temporary.
2014-09-25 09:23:27 -04:00
Federico Bond
ab4c5b13e5 Avoid printing Caveats title when output is empty
Closes #4878
2014-08-16 23:09:24 -03:00
Federico Bond
693e3b97fb Convert backtick commands to Cask::SystemCommand.run
Closes #4971
2014-08-02 16:43:30 -03:00
Roland Walker
44f1a37546 DSL: add conflicts_with stanza
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
2014-07-29 18:24:34 -04:00
Roland Walker
ecb66ac567 DSL: add tags stanza
only limited/defined keys are permitted
 - :vendor
 - :font_pitch
 - :font_serif
 - :font_weight
 - :font_slant

forward-compatibility: no associated functionality is
provided.  Intentionally left undocumented.

References: #4688
2014-07-02 18:54:13 -04:00
Roland Walker
2c06def3ba Merge pull request #4873 from rolandwalker/add_license_stanza
DSL: add `license` stanza
2014-06-28 10:32:22 -04:00
Roland Walker
d2e302afbb Add license stanza to DSL
References: #4688.

For forward-compatibility; intentionally left undocumented.

The `license` stanza is not free-form.  There is a limited
set of valid symbols, of which the argument must be a member.
(The set will later be documented, and probably needs amendments.)

Version numbers and variants of licenses are intentionally
ommitted.  The use-case for `license` is filtering and listing
of Casks. We want to avoid becoming a detailed repository of
application descriptions: that information can be found at the
`homepage` URL.
2014-06-26 09:13:56 -04:00
Roland Walker
33f8cc431a add gpg stanza to DSL
For forward compatibility.  The stanza has no effect, and is
intentionally left undocumented at this time.

References: #4688
2014-06-18 19:59:54 -04:00
Roland Walker
a0a5ba44df Merge pull request #4965 from rolandwalker/doctor_load_path_annotation
Annotatate unexpected $LOAD_PATH in doctor
2014-06-18 17:45:09 -04:00
Roland Walker
1e9c5de1dc Annotatate unexpected $LOAD_PATH in doctor
Warning if first element is not Homebrew-cask's own lib dir
2014-06-18 17:26:40 -04:00
Roland Walker
5b35f21345 Merge pull request #4969 from rolandwalker/doc_standard_upgrade_command
standardize the recommended upgrade command
2014-06-18 16:34:51 -04:00
Roland Walker
2ffee346df standardize the recommended upgrade command
in both docs and error messages.

Recent bug reports indicate that `cleanup` commands are essential
in some situations.
2014-06-18 15:15:50 -04:00
Roland Walker
4c8e530570 move utility methods inside module namespace
Cask::Utils
2014-06-18 11:21:18 -04:00
Roland Walker
4d199ada2d force UTF-8 encodings
Fixes #4677.  This change is necessitated by Homebrew's recent
switch to Ruby 2.x.  These changes may be incomplete and/or
may not work well with Ruby 1.8.  Travis should test Ruby 1.8
compatibility.
2014-06-07 17:04:42 -04:00
Roland Walker
5c8640d6fe Merge pull request #2706 from rolandwalker/install_suggest
suggest replacements on "brew cask install" fail
2014-03-27 08:51:13 -04:00
Roland Walker
c95a7f2534 suggest replacements on "brew cask install" fail 2014-03-01 15:04:12 -05:00
Roland Walker
bf49dc9fa8 ability to specify container type, not detect
Fixes #2997.  Interface is optional DSL stanza `container_type`.
This should only be used in rare instances.  It is needed for the
case of a naked executable which should not be unpacked.
2014-02-25 16:39:12 -05:00
Roland Walker
297cd6382a Merge pull request #3058 from rolandwalker/exception_objects
raise exception objects
2014-02-25 12:30:30 -05:00
Roland Walker
fe2ff07f2e add optional appcast stanza to DSL
Appcasts are a standard way for applications to publish
information about available updates via RSS.  Sparkle and
other update frameworks are built upon appcasts.

In a quick test, appcasts were found for 188/360 Casks examined.

This PR adds an optional `appcast` stanza, but does not add
`appcast` to any Cask or make use of the info in any way.  It is
intentionally left undocumented.
2014-02-22 19:31:33 -05:00
Roland Walker
60378bcc7e CaskError objects instead of strings, better msgs 2014-02-19 18:47:39 -05:00
Roland Walker
6096cc8d57 fork abv method with better odd-filename defense
Fixes #2917.  New method is named `cabv`. The original `abv`
method is in Homebrew at `Library/Homebrew/extend/pathname.rb`
2014-02-17 11:13:39 -05:00
Roland Walker
5548bc4756 test valid keys in _process_options
add monkeypatch on Hash in utils.rb for `assert_valid_keys` method
2014-02-10 10:57:55 -05:00
Roland Walker
b737ff758d add new method depends_on_formula to odumpcask 2014-02-01 12:44:09 -05:00
Roland Walker
216444849e Add copious debugging with --debug
- add new file "cask/utils.rb" analogous to "utils.rb" in Homebrew
- define odebug and odumpcask, analogs of ohai and friends, but
  which only give output when --debug is in effect
- move the debug setting from an instance variable in Cask::CLI
  to a method Cask.debug, defined in "lib/cask/options.rb", which
  was added in #2276. (Perhaps options.rb should be merged back
  into Cask::CLI).
- sprinkle odebug statements liberally throughout the codebase
- update tests
2014-01-28 10:15:43 -05:00