35 Commits

Author SHA1 Message Date
Jack Nagel
c5885757e5 Store the object itself in the failed download set
Patches don't respond to "name".
2014-09-10 22:09:15 -05:00
Jack Nagel
3a96a1a594 Use a set to track failed downloads 2014-08-22 22:55:10 -05:00
Jack Nagel
fd4f985cb6 Rescue only DownloadError 2014-08-22 22:55:10 -05:00
Mike McQuaid
2d91613d06 fetch: retry the download on a failure. 2014-08-16 08:49:01 +01:00
Jack Nagel
10a1952d2c Only "extend self" once on the Homebrew module 2014-06-19 13:10:36 -05:00
Jack Nagel
86cdd812a2 Teach fetch to download patches 2014-03-13 21:35:41 -05:00
Jack Nagel
a8fe989733 Update fetch command for generalized bottle implementation 2014-03-10 14:56:02 -05:00
Mike McQuaid
9850e84f3b fetch: fix --retry with resources. 2014-03-08 17:21:37 +00:00
Mike McQuaid
cb047a223b fetch: fix overloading Homebrew.failed. 2014-03-06 21:17:52 +00:00
Mike McQuaid
7f45c63468 fetch: add --retry option to retry fetch once.
Sometimes there may be intermittent failures with hosts that work if
immediately retried. Let's allow a single retry in this case with the
--retry flag. This also behaves nicely with the --force flag.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2014-03-01 16:45:31 +00:00
Jack Nagel
3f2782e22d fetch: check for existing cache file before downloading 2013-10-31 14:29:48 -05:00
Jack Nagel
d35e465671 fetch: clear partial downloads when --force is given
Fixes Homebrew/homebrew#23764.
2013-10-31 14:29:38 -05:00
Adam Vandenberg
809fc87da0 Allow resource fetching
Closes Homebrew/homebrew#20047.
2013-09-11 22:05:27 -07:00
Jack Nagel
2d8496129c Formula#fetch: always return the cached path
This allows us to remove some type checks that were protecting against
potential nils.
2013-05-16 14:06:26 -05:00
Jack Nagel
daef74aa27 Adjust semantics of Formula#fetch
It doesn't really make logical sense that this method returns both the
fetched path (or sometimes nil!) and the downloader, so just return the
path (again, or nil!) and callers that want the downloader can ask for
it separately.
2013-05-16 14:06:26 -05:00
Jack Nagel
a6f9a1c4a3 fetch: rename 'tarball' to 'download' 2013-05-16 14:06:26 -05:00
Jack Nagel
db0c93dbae fetch: use concat rather than << and flatten 2013-05-16 14:06:25 -05:00
Jack Nagel
67d798e905 Refactor fetch
Remove direct references to checksum types, access them through the
Checksum::TYPES constant instead.
2013-02-01 22:17:46 -06:00
Jack Nagel
109145bf21 Replace usages of recursive_deps with recursive_dependencies 2013-01-26 12:14:49 -06:00
Mike McQuaid
239217e944 brew-fetch: remove MD5 output. 2013-01-26 12:48:00 +00:00
Mike McQuaid
a22e60ee8c brew-fetch: Return error code on unmatched hash. 2012-09-03 11:20:07 -07:00
Jack Nagel
75a60e5104 fetch: remove dead code
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-07-08 10:47:57 -05:00
Jack Nagel
af53f54b24 fetch: use new checksum verification
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-07-04 22:47:34 -05:00
Jack Nagel
b6d44dd38a fetch: make use of new formula specs 2012-07-04 22:47:33 -05:00
Jack Nagel
227ee505b0 fetch: don't display cached location twice
The download strategy will print the cached location if we've already
fetched it, so avoid printing redundant information.

Also just "puts" it instead of using a second `ohai` line.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-04-02 21:04:30 -05:00
Adam Vandenberg
a161058bcd brew fetch: show downloaded path 2012-03-21 09:09:11 -07:00
Mike McQuaid
d47cf55f68 Use fetch for downloading bottles.
Fixes Homebrew/homebrew#10958.
2012-03-18 15:16:57 +13:00
Jack Nagel
5ab0488918 fetch: compare checksums case-insensitively
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-02-15 22:34:48 -06:00
Jack Nagel
1a3a1249bf Warn the user of required arguments
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-02-04 00:27:05 -06:00
Jack Nagel
f29c44d1fd fetch: use correct sha256 instance variable
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2011-10-09 15:56:15 -05:00
Charlie Sharpsteen
9d19506ee9 mirror support: Add mirror method to Formula.rb
Mirrors can now be declared using the `mirror` method which works similar to
`depends_on` and takes the same arguments as `url`.

The formula class now has a public `fetch` method that cycles through the
mirror list if the downloader for the primary URL throws a `DownloadError`.
Other brew commands, like brew-fetch, also benefit from mirror support by using
this method.

Closes Homebrew/homebrew#7574.
2011-09-19 09:24:43 -07:00
Jack Nagel
2505ebda67 fetch: fix '--force' for pathnames
`brew fetch --force` was a no-op for formula pathnames when that formula
did not exist in Library/Formula, because `brew --cache #{f.name}`
results in an error for that case.

Fix it by always using f.cached_download.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2011-09-01 19:17:13 -05:00
Birger J. Nordølum
5a10cc8e76 Added SHA-256 to the fetch command.
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2011-04-14 15:43:58 -07:00
Adam Vandenberg
d6382efdeb Add brew fetch --deps
`brew fetch --deps` will also cache the dependencies of any listed formulae.
2011-04-14 15:09:15 -07:00
Adam Vandenberg
b7e068b740 'brew fetch' now an official command 2011-03-12 11:55:11 -08:00