Commit graph

99 commits

Author SHA1 Message Date
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
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
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
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
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
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
07158e455b Revise gpg stanza order and parameters
References: #5971
2014-09-01 10:04:17 -04:00
Federico Bond
ab4c5b13e5 Avoid printing Caveats title when output is empty
Closes #4878
2014-08-16 23:09:24 -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
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
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
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
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
d811b3b32e Add depends_on stanza to DSL.
For forward-compatibility, intentionally undocumented.  Currently
works only as a synonym: `depends_on :formula` substitutes for
`depends_on_formula`, which is intended to be removed.

However, this PR also provides additional `depends_on` keys for
future expansion of functionality:
 - `:cask`
 - `:macos`
 - `:arch`
 - `:x11`
 - `:java`

The symbol names were chosen to match those used in Homebrew Formulae.

References: #4688, #2001
2014-06-19 15:58:21 -04:00
Roland Walker
182811676b tests for appcast stanza 2014-06-19 12:06:43 -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
Fernando Paredes
b767f9f1e6 Add OS X 10.10 as a known OS version
* In Yosemite the tests failed for being unknown
2014-06-06 10:56:41 -07:00
Roland Walker
0ef4606e0c retire support for no_checksum stanza 2014-06-04 23:26:09 -04:00
Roland Walker
c436ddc5fd transition docs/tests/messages to sha256 :no_check
`sha256 :no_check` has been supported syntax for a couple of months,
and now is being transitioned to the preferred syntax, replacing
the `no_checksum` stanza (which will still be supported, but
deprecated)
2014-05-08 08:42:44 -04:00
Roland Walker
815168546a update test suite to use sha256
also convert no_checksum to sha256 :no_check in some cases
2014-03-14 09:24:53 -04:00
Roland Walker
a8acf3de1a bugfix: preserve resource forks when unzipping
Use the unarchiving ability built into the `ditto` utility,
rather explicitly calling the `unzip` utility.  Fixes
caskroom/homebrew-fonts#90.
2014-03-11 08:46:38 -04:00
Paul Hinze
c0f470cd55 Merge pull request #3011 from rolandwalker/force_container_type
ability to specify container type, not detect
2014-02-28 09:23:01 -06: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
c7e0e5b2e5 support Bzip2 containers
bzips of tarballs are already supported via `tar`.  This
adds support for a single file asset within a bzip2 container.
2014-02-25 16:36:36 -05:00
Roland Walker
9fa39c2681 add support for RAR containers
this will not pass Travis until #2744 is merged
2014-02-25 16:29:24 -05:00
Roland Walker
b90633d92a add support for Stuffit containers
This will not pass Travis until #2744 is merged
2014-02-25 12:54:49 -05:00
Roland Walker
a75a4840cf Add 7z container support
relevant Casks must use `depends_on_formula unar`
2014-02-25 12:32:37 -05:00
Roland Walker
a7647426ce Merge pull request #2467 from vmrob/adobe-air-apps
Add support for Adobe Air app container
2014-02-25 12:23:08 -05:00
Roland Walker
2d8e90eb32 rename rest-client.rb
to `wiztoolsorg-restclient.rb`, per naming rules in `CONTRIBUTING.md`.
This requires making changes to the test suite, as the tests used this
cask.  Imported special test Casks for the relevant test no longer has
a dependency on real Casks.
2014-02-25 09:13:54 -05:00
Roland Walker
6f6a07fc0f mass whitespace cleanup 2014-02-22 21:13:52 -05:00
Roland Walker
664bcb3c4e caveats DSL os_version_only spelling
change method name to follow documentation
2014-02-19 18:51:45 -05:00
Victor Robertson
026ca0c6e1 Add support for Adobe Air app installations
Adobe Air applications take the form of a .air file that the Adobe Air
runtime then installs and creates a .app -- typically in
/Applications.  This patch provides a new container for those .air
files which the Adobe Air runtime installs to the Caskroom as well as
tests for Adobe Air app installations.

Presently, if homebrew-cask doesn't detect the Adobe Air runtime, it
will provide an informative error message and instructions to obtain
it via `brew cask install adobe-air`.  This is obviously not ideal and
the installation process for the runtime should be automated in the
future.
2014-02-17 11:36:01 -06:00
Roland Walker
16ae31edf3 FakeSystemCommand.run! should follow usual case 2014-02-15 12:21:27 -05:00
Roland Walker
e4554a170a force consistent timestamps for SVN downloads
to make checksumming work correctly
2014-02-15 12:04:00 -05:00
Roland Walker
82452b3181 Merge pull request #2822 from rolandwalker/svn_download_strategy
add Cask::SubversionDownloadStrategy
2014-02-14 13:27:13 -05:00