drush-ops/drush — pull request #994 by jonhattan (2014-11-17 08:51:46+00:00)
Title: Cache release xml by default

I've found that release xml files are not being cached by default. To enable this caching, it's mandatory to pass `--cache` option to commands. Drush make explicitly deals with it at several points, but other commands just doesn't cache by default. This is because `drush_download_cache()` directly access to `--cache` option. Moreover, this option is defined in package-handler engine, so commands that doesn't use this engine have to `--cache` option available for them (make, ups, pm-releases and more).

When I worked on the new update-status engine I assumed xml files where cached, but they weren't... So I experienced a slow response and introduced a update-status specific cache. Now I've seen this cache is unneeded. Caching xml files is enough.

This PR:

* Decouples `--cache` option from `drush_download_file()`. If you want to cache a file, just pass a cache lifetime.
* Removes the update-status specific cache, and starts caching release xml by default. Drush ups or drush make performs the same but `pm-download` and others have a performance gain directly related to the number of projects.

---

This is related to #824. I think drush make can be simplified a bit after this PR is accepted.