composer/composer — pull request #915 by chEbba (2012-07-15 19:15:50+00:00)
Title: Package storage

Reviewed system package cache from #62.

How it works:
* After package was downloaded it is copied (actualy repacked from targetDir) to local system repository with modified dist url.
* Local system repository is added to RepositoryManager as first repository.
* If package is found in the local system reposity it is installed from it (just copied).

For now feature is disabled by default and can be enabled with "package-cache" config option.

Notes:
* This PR comes with improved Archive support (for now only with zip), and can be used in downloaders (1 ArchiveDownloader with Extractors).
* Works only for dists.

Planned improvements:
* Cleaner Factory code for cache.
* Additional configuration options.
* CLI option to disable cache for command.
* CLI commands for system repository manipulation.

Discussion:
* General workflow and details.
* Configuration and factory creation.

PS Also planned a full http cache support, i can create a separate issue to discuss because there are many several strategies how to implement on what level.