Commit Graph

333 Commits

Author SHA1 Message Date
Roland Walker 1abf0b99a9 Merge pull request #6329 from rolandwalker/system_command_refactor
refactor Cask::SystemCommand
2014-09-27 09:59:59 -04: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 6d622ed281 make `install_script` stanza more robust
* correctly (and leniently) parse values
* add test
2014-09-25 11:04:38 -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
Roland Walker 568365194d Merge pull request #6227 from rolandwalker/doc_uninstall_delete
doc/tests switchover to `uninstall :delete`
2014-09-18 06:25:59 -04:00
Roland Walker 0b4ad8714b doc/tests switchover to `uninstall :delete`
from `uninstall :files`
2014-09-17 10:41:10 -04:00
Roland Walker f7018e0106 DSL: add `artifact` stanza
Keeping the `link` stanza in the DSL is a mistake: it will be
confusing when combined with the ability to install by copying.

This PR retires `link` completely, and adds a generic artifact
stanza called `artifact`.  (`link` is removed from the docs, but
will still work for compatibility during transition.)

This only affects one current Cask (dwarf-fortress.rb), and that
Cask may be changed to use `suite` in the future.
2014-09-17 09:09:53 -04:00
Roland Walker fe0a053dad Merge pull request #6208 from rolandwalker/uninstall_force
add `--force` option for `brew cask uninstall`
2014-09-16 19:33:17 -04:00
Federico Bond 598a17d0c7 Merge pull request #6206 from rolandwalker/add_version_arg
support `brew cask --version` per `USAGE.md`
2014-09-16 14:58:21 -03:00
Roland Walker d156cbfcb2 add `--force` option for `brew cask uninstall`
also update some related docs for verbs `install` and `uninstall`
2014-09-16 10:59:44 -04:00
Roland Walker ca8417bf0e support `brew cask --version` per `USAGE.md`
closes #6178
2014-09-16 10:04:47 -04:00
Roland Walker 1ddec7128d add uninstall :rmdir
per discussion at https://github.com/caskroom/homebrew-cask/pull/6174#discussion-diff-17516171
refs: #6174

This PR is large because of some test-suite refactoring.
2014-09-16 09:48:32 -04:00
Roland Walker feca527e78 Merge pull request #6193 from rolandwalker/double_dot_is_relative
protect against inner ".." in uninstall paths
2014-09-16 07:08:35 -04:00
Roland Walker 3ea3d0e0e6 protect against inner ".." in uninstall paths 2014-09-15 11:30:41 -04:00
Roland Walker 5ae6e2f773 doc new `app` stanza and update tests to use it
Replacing `link` for almost all cases.

The `link` stanza can still appear in error messages, because
under the hood, `app` is still implemented as a pure synonym
for the `link` artifact.  That will change automatically when
we factor into separate artifacts.
2014-09-13 13:03:46 -04:00
Roland Walker ce64b38723 Merge pull request #6155 from rolandwalker/add_zap_stanza
functionality and docs for zap stanza and verb
2014-09-13 12:55:57 -04:00
Roland Walker 0f664ca78a Fix `brew cask alfred` for Yosemite/Alfred 2.4
Closes #5820
References: #6059
2014-09-13 12:34:12 -04:00
Roland Walker 00921dd513 functionality and docs for zap stanza
* `zap` was previously supported as a noop for forward-compatibility
* Also adds restrictions against relative paths in `uninstall :files`
* Also documents safety conventions for `uninstall :files`
2014-09-13 10:21:17 -04:00
Roland Walker dfcbd7154e docs, error msgs, tests for depends_on :formula
replacing depends_on_formula in DSL
2014-09-11 20:33:39 -04:00
Roland Walker 4595804e28 Merge pull request #6137 from rolandwalker/dsl_pkg_test_suite
DSL convert last of test suite to `pkg` stanza
2014-09-11 20:22:25 -04:00
Roland Walker 0574662679 metadata directory support
- incidentally adds defensive driving against null version
  in method `destination_path`
2014-09-11 11:17:52 -04:00
Roland Walker 4e705cea43 DSL convert last of test suite to `pkg` stanza
instead of `install`
2014-09-11 09:44:45 -04:00
Roland Walker 65cda1257e new DSL form container :nested => <inner> 2014-09-11 09:26:40 -04:00
Roland Walker d6f8aafeda Merge pull request #6115 from rolandwalker/postflight_in_test_suite
update test suite for postflit/preflight DSL forms
2014-09-10 17:34:17 -04:00
Roland Walker 3b7ce85381 bug: fix container :type => <type>
Copypasta error in #6068 means that container :type
never worked, because it looked for nonexistent container.formula
2014-09-10 09:52:26 -04:00
Roland Walker 2f303a651a update test suite for postflit/preflight DSL forms 2014-09-10 08:15:59 -04:00
Roland Walker 07158e455b Revise gpg stanza order and parameters
References: #5971
2014-09-01 10:04:17 -04:00
Federico Bond 1b1a7fde17 Merge pull request #5806 from federicobond/conditional-caveats
Avoid printing Caveats title when output is empty
2014-08-19 10:04:43 -03:00
Federico Bond ab4c5b13e5 Avoid printing Caveats title when output is empty
Closes #4878
2014-08-16 23:09:24 -03:00
Federico Bond ff0a5c10e3 Remove Cask::Decorator 2014-08-15 13:00:52 -03:00
Federico Bond 3cb833c89e Add DSL for after_install and similar blocks 2014-08-11 21:41:06 -03:00
Roland Walker f2b7d8e59f Merge pull request #5636 from federicobond/suggestion-tests
Re-enable suggestion tests
2014-08-04 14:18:21 -04:00
Federico Bond 39bddf20de Re-enable suggestion tests 2014-08-04 09:30:58 -03:00
Roland Walker 99d001afa4 add support for xar containers
references: #5442
2014-08-02 14:51:51 -04:00
Roland Walker a0785a0cfa create a somewhat better fake `pkg` for tests 2014-08-02 11:04:03 -04:00
Roland Walker 465caffa0d Merge pull request #5569 from rolandwalker/dsl_conflicts_with
DSL: add `conflicts_with` stanza
2014-07-30 10:05:55 -04: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 e795a56850 Delete special files (eg symlinks) from pkg BOMs
`pkgutil --only-files` plus `pkgutil --only-dirs` does not
cover all files in the BOM.

Closes #5491
2014-07-29 07:55:07 -04:00
Roland Walker 35e7997c35 support pure gzip containers (not tar.gz)
References: #5455
2014-07-26 15:58:49 -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 3932c4d467 Merge pull request #4951 from rolandwalker/add_installer_stanza
DSL: add `install_script` stanza
2014-07-02 18:29:56 -04:00
Roland Walker 0f311784cf DSL tests for `install_script` stanza 2014-07-02 18:06:24 -04:00
Paul Hinze 63a32ef021 rspecify scopes and download strategy tests
refs #5080
2014-06-29 14:56:47 -05:00
Paul Hinze 58d4c745a9 install rspec; move first few tests over
refs #5080
2014-06-29 11:33:22 -05: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 99ba340a4d Merge pull request #4896 from rolandwalker/add_depends_on_stanza
DSL: add `depends_on` stanza
2014-06-28 10:19:18 -04:00
Roland Walker b2390ac3d8 Merge pull request #4848 from rolandwalker/add_gpg_stanza
DSL: add `gpg` stanza
2014-06-28 10:18:36 -04:00
Roland Walker cc7db15b5b Merge pull request #4847 from rolandwalker/extend_appcast_stanza
DSL: extend `appcast` stanza
2014-06-28 10:11:49 -04:00
Roland Walker 52152016c2 Merge pull request #4865 from rolandwalker/allow_all_uninstall
DSL: allow all Casks to use `uninstall` stanzas
2014-06-28 10:09:19 -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