Commit graph

55 commits

Author SHA1 Message Date
phinze
0de91ed257 exclude __MACOSX dir when unzipping
should take care of #222
2013-04-28 11:38:09 -05:00
phinze
7a1a6a9308 support for caveats
i.e. custom messages printed after installing a cask

refs #218
2013-04-28 11:10:06 -05:00
phinze
021c6afb73 allow linkables to be set to none
sometimes it doesn't make sense for a cask to link anything out to the
Applications dir
2013-04-28 11:10:06 -05:00
Vince Cima
3f35ac095e brew cask audit will now throw a warning for any formula hosted on SourceForge that doesn't use desired URL format 2013-04-20 00:16:57 -04:00
phinze
3a20b320d0 fix issue where linkapps would double symlink
since ln was not using the -h it was following the target symlink
destination and deciding it was a destination directory. madness
ensued.

also test cleanup and more output and change linkables to use sets
2013-04-13 18:17:20 -05:00
phinze
6cb1afa246 add unlinkapps for cli access to revert linkapps 2013-04-13 14:17:00 -05:00
phinze
e16e1622c0 automatically link on install / unlink on uninstall 2013-04-13 14:10:37 -05:00
phinze
74bdbd8f10 Merge branch 'apps-in-spotlight'
Closes #188
Closes #99
2013-04-12 08:30:15 -05:00
phinze
3b416ce7b5 add audits into the build process
this way travis will be able to cover incoming pull requests of new
casks by running the audit on them. cool!

also:

- add checksums to audit
- fix missing checksums
2013-04-07 14:30:09 -05:00
phinze
d92ca8fefd move Caskroom into opt for spotlight goodness 2013-04-07 12:56:55 -05:00
phinze
1585d52ddc linkapps 2.0 2013-04-07 12:56:55 -05:00
phinze
028f103131 missed a spot 2013-04-07 12:50:41 -05:00
phinze
7bc2db2979 build fixes 2013-04-07 12:46:35 -05:00
phinze
2427fd6dd5 make the Cask DSL resilient to unexpected methods
will help with introducing and removing features, since the Cask
definitions move with every `brew update` and track master but the code
to handle them requires an explicit release and a `brew upgrade brew-cask`

relates to #179
2013-04-07 12:04:39 -05:00
phinze
9f9849134f a quixotic journey to a passing travis build
Squashed commit of the following:

commit 379d19d38da69a25f2ddf0b802a2e1c9cd2e40df
Author: phinze <paul.t.hinze@gmail.com>
Date:   Fri Apr 5 02:04:56 2013 -0600

    concat out+err?

commit 3414556d5e494c89a1b91322be666df9933d29f2
Author: phinze <paul.t.hinze@gmail.com>
Date:   Fri Apr 5 01:59:06 2013 -0600

    switch to capture_subprocces_io

commit d50a878bf20892db4d136530ff64e5cb94fe3ae4
Author: phinze <paul.t.hinze@gmail.com>
Date:   Fri Apr 5 01:42:41 2013 -0600

    ensure later version of minitest

commit 49078c48b024e1f1ed1b5d9785de60ec050ee261
Author: phinze <paul.t.hinze@gmail.com>
Date:   Fri Apr 5 01:30:12 2013 -0600

    pull down a newer minitest

    hopefully to fix must_output

commit 537b5ddd22de57f0fff812646a03b982725dfa23
Author: phinze <paul.t.hinze@gmail.com>
Date:   Fri Apr 5 01:24:53 2013 -0600

    run a brew update in the build

commit 1516456663f8840f5ffc22345e140c0b5aa23c96
Author: phinze <paul.t.hinze@gmail.com>
Date:   Fri Apr 5 01:22:31 2013 -0600

    remove stray puts

commit 4c8f8348f88ffd8eafd7a1f948f70dfbc881b416
Author: phinze <paul.t.hinze@gmail.com>
Date:   Fri Apr 5 01:16:10 2013 -0600

    add expand_path to see if that helps

commit c6e8aa160dd4c778497de4dca8f90f4519d76bd4
Author: phinze <paul.t.hinze@gmail.com>
Date:   Fri Apr 5 01:13:22 2013 -0600

    add debugging output for travis
2013-04-05 02:08:51 -06:00
phinze
bf33643526 create casks with brew cask edit foo --create 2013-04-04 16:24:26 -06:00
phinze
0fbe7a1a8d rework Cask.path so it can return hypothetical paths
introduces the concept of a default_tap which is where we assume cask
paths that do not exist will end up

this is plumbing to support the incoming `cask edit foo --create`
feature
2013-04-04 15:55:07 -06:00
phinze
aa0a931f1b homebrew testing_env now defines HOMEBREW_LIBRARY yay 2013-04-04 15:53:38 -06:00
phinze
b156c04b84 basic tests around edit 2013-04-04 14:24:28 -06:00
phinze
d8583ba649 kill homebrew submodule; call out to system one 2013-04-04 14:24:01 -06:00
phinze
6ac7b48ce2 fix broken info tests
prevent future breakage by relying on testcasks instead of live ones
2013-04-04 14:10:44 -06:00
Paul Hinze
e702a69b28 so long content_length
closes #131
2013-03-13 13:13:37 -05:00
Paul Hinze
78834bfbd0 extract link checker from audit process
did not duplicate content lentgh check in preparation for the removal of
content_length as discussed in #131
2013-03-13 12:41:16 -05:00
phinze
0dbb81b0e1 rename 'open' -> 'home' to match homebrew
closes #167
2013-02-22 16:32:02 -06:00
phinze
ff80676b29 add brew cask info command
thanks to @passcod for original implementation on his fork

refs #72
2013-02-17 14:25:23 -06:00
phinze
f866a18725 add brew cask open command
thanks to @passcod for original implementation on his fork

refs #72
2013-02-17 14:07:59 -06:00
phinze
9189bd5be6 Out of the Cellar, into the Caskroom
Install casks into HOMEBREW_PREFIX/"Caskroom" instead of the Cellar.
This prevents us from colliding with normal Homebrew Formulae.

NOTE: this will be a breaking change, with the following effects:

- all installed casks will no longer be reported as installed
- orphans all existing casks in the Cellar
- no automated facility for cleanup or migration of existing casks

refs #38, where we can discuss the implications of this before cutting a
new release
2013-02-17 12:54:44 -06:00
Mikko Kouhia
d36b9ffdda Update test cask
Test cask previously contained only attributes `url`, `homepage` and
`version`.  Add also `content_length` and `sha1`.
2013-01-06 13:46:04 +02:00
Paul Hinze
fca6c49beb Merge pull request #117 from passcod/options-support
Add options to the cli
2012-12-19 22:51:40 -08:00
Félix Saparelli
5ad6796bcd Add options to the cli
Options can be passed on the command-line and/or using
the HOMEBREW_CASK_OPTS environment variable (which has
lowest priority). There is a single --appdir=PATH option
right now, but this commit enables future awesomeness!

Other minor changes:

* `brew cask help` now returns the same thing as `brew cask`
  instead of saying there was “no such command as help”.

* The HEREDOC block now uses Homebrew's #undent instead of the
  customed-rolled #gsub version. Cleaner and more flexible.

* `Cask.set_appdir` has been renamed to `Cask.appdir=`. This
  is more Rubyish, and of little consequence (the only place
  it was previously used was in the tests).
2012-12-19 00:54:49 +13:00
phinze
0d1f831b79 Add checksum support to Casks.
`md5`, `sha1`, `sha256` all take a hexdigest string, e.g:
sha1 'f645e9da45a621415a07a7492c45923b1a1fd4d4'

`no_checksum` takes no argument, and indicates there is no checksum
for this cask. This is *not recommended*, and should only be used for
casks that have no versioned downloads.

`brew cask install` will complain if there is no sum provided (unless
`no_checksum` has been invoked), or if the sums do not match. It will
provide the computed checksum so the cask can be easily amended.

Adapted from @passcod's work in 82cc199ae6bbb1e98950e71a0573ab48e6a641ee
2012-12-17 17:04:22 -07:00
phinze
f1221be6c2 double gsub to properly get title for BootXChange
thanks to @passcod for this
2012-12-17 17:00:35 -07:00
phinze
c8621c92c1 remove mock-filled test for Cask.init 2012-11-25 15:49:16 -06:00
phinze
067973074d demockify install_test 2012-11-25 15:49:16 -06:00
phinze
97b715b27d demockify actions_tests 2012-11-25 15:49:16 -06:00
phinze
c96ea20317 get linkapps tests de-mockified 2012-11-25 15:49:16 -06:00
phinze
3ad61a5d56 halfway through ripping out mocha 2012-11-25 15:49:09 -06:00
phinze
3ac3ae6360 fix linkapps and cleanup output
damn i'm getting burned by mocking in my tests - going to have to fix
something here
2012-11-21 17:53:15 -06:00
phinze
259ed643f9 fix dmg plist parsing problem
should take care of #104

this was a subtle one - after i reorganized the requires, plist/parser
was getting double required, which broke plist parsing and hence dmg
installs
2012-11-21 16:12:45 -06:00
phinze
ef25273d96 allow test suite to be run without internet 2012-11-21 15:51:03 -06:00
phinze
2a22a74415 fix broken cask list 2012-11-20 10:21:28 -06:00
phinze
2f99d29693 brew cask audit
for a given cask:
 - checks required fields
 - checks URL responds successfully
 - checks content_length specified
2012-11-18 23:12:21 -06:00
phinze
e2d074e216 separate Cask.all_titles from Cask.all 2012-11-18 23:11:22 -06:00
phinze
9e509d289b uninstall no longer depends uses homebrew
- should make tests a bit more reliable
2012-11-18 12:17:50 -06:00
phinze
3539767745 fix uninstall to work with multiple casks at once
homebrew does internal caching in ARGV that prevents us from doing the
`ARGV.clear; ARGV << 'newarg'` trick twice.

rather than try to further reach in to homebrew's innards, i figure it's
better to just pass multiple arguments down to homebrew code at once,
since it already supports that

refs #47
2012-10-20 13:34:11 -05:00
phinze
ab57da07ea add brew cask uninstall
this delegates to homebrew's uninstall to get its work done. vanilla
`brew uninstall` actually works, but this gives us a more consistent
interface.

as discussed in #47
2012-10-20 13:01:41 -05:00
phinze
c40dc63737 fix typo in Cask.init :(
💩 this is what i get for doing things outside of test coverage

added a smoke test this time
2012-10-15 19:25:35 -05:00
phinze
9b2f2c7ecd allow brew cask linkapps to accept arguments
arguments scope linkapps command to just those casks

also added unit tests around the CLI code - whee!
2012-10-15 18:45:55 -05:00
phinze
96cff81979 have linkapps recognizes apps in subdirs
should address #33

includes cleanup and tests

i'm not crazy about leaning on installing/uninstalling caffeine in the
tests. it makes for some unnecessarily heavy tests and downloads. but
i'd rather get tests in place first then fix the warts.
2012-10-15 18:28:36 -05:00
phinze
1a7e278935 a bona fide cask install test; and more splitting
I chose Caffeine since it's relatively small to download. Eventually I'd
like to switch this up so we bundle a dmg, zip, etc that the test suite
wires in to verify that we do the Right Thing (tm) with all those file
types. Probably will want to support `file://` URLs in Casks to help us
for that use case.
2012-10-13 16:48:25 -05:00