Add cache-files-ttl setting, and docs for the cache
parent
b7fb60494d
commit
b05a554883
|
@ -596,6 +596,10 @@ The following options are supported:
|
||||||
* **notify-on-install:** Defaults to `true`. Composer allows repositories to
|
* **notify-on-install:** Defaults to `true`. Composer allows repositories to
|
||||||
define a notification URL, so that they get notified whenever a package from
|
define a notification URL, so that they get notified whenever a package from
|
||||||
that repository is installed. This option allows you to disable that behaviour.
|
that repository is installed. This option allows you to disable that behaviour.
|
||||||
|
* **cache-files-ttl:** Defaults to `15552000` (6 months). Composer caches all
|
||||||
|
dist (zip, tar, ..) packages that it downloads. Those are purged after six
|
||||||
|
months of being unused by default. This option allows you to tweak this
|
||||||
|
duration (in seconds) or disable it completely by setting it to 0.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
|
|
|
@ -184,6 +184,8 @@ EOT
|
||||||
// handle config values
|
// handle config values
|
||||||
$uniqueConfigValues = array(
|
$uniqueConfigValues = array(
|
||||||
'process-timeout' => array('is_numeric', 'intval'),
|
'process-timeout' => array('is_numeric', 'intval'),
|
||||||
|
'cache-ttl' => array('is_numeric', 'intval'),
|
||||||
|
'cache-files-ttl' => array('is_numeric', 'intval'),
|
||||||
'vendor-dir' => array('is_string', function ($val) { return $val; }),
|
'vendor-dir' => array('is_string', function ($val) { return $val; }),
|
||||||
'bin-dir' => array('is_string', function ($val) { return $val; }),
|
'bin-dir' => array('is_string', function ($val) { return $val; }),
|
||||||
'notify-on-install' => array(
|
'notify-on-install' => array(
|
||||||
|
|
|
@ -120,6 +120,16 @@ class Config
|
||||||
|
|
||||||
return rtrim($this->process(getenv($env) ?: $this->config[$key]), '/\\');
|
return rtrim($this->process(getenv($env) ?: $this->config[$key]), '/\\');
|
||||||
|
|
||||||
|
case 'cache-ttl':
|
||||||
|
return (int) $this->config[$key];
|
||||||
|
|
||||||
|
case 'cache-files-ttl':
|
||||||
|
if (isset($this->config[$key])) {
|
||||||
|
return (int) $this->config[$key];
|
||||||
|
}
|
||||||
|
|
||||||
|
return (int) $this->config['cache-ttl'];
|
||||||
|
|
||||||
case 'home':
|
case 'home':
|
||||||
return rtrim($this->process($this->config[$key]), '/\\');
|
return rtrim($this->process($this->config[$key]), '/\\');
|
||||||
|
|
||||||
|
|
|
@ -240,7 +240,10 @@ class Factory
|
||||||
*/
|
*/
|
||||||
public function createDownloadManager(IOInterface $io, Config $config)
|
public function createDownloadManager(IOInterface $io, Config $config)
|
||||||
{
|
{
|
||||||
$cache = new Cache($io, $config->get('home').'/cache.files/', 'a-z0-9_./');
|
$cache = null;
|
||||||
|
if ($config->get('cache-files-ttl') > 0) {
|
||||||
|
$cache = new Cache($io, $config->get('home').'/cache.files/', 'a-z0-9_./');
|
||||||
|
}
|
||||||
|
|
||||||
$dm = new Downloader\DownloadManager();
|
$dm = new Downloader\DownloadManager();
|
||||||
$dm->setDownloader('git', new Downloader\GitDownloader($io, $config));
|
$dm->setDownloader('git', new Downloader\GitDownloader($io, $config));
|
||||||
|
|
Loading…
Reference in New Issue