Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. Factory.php

function Factory::createDownloadManager

Parameters

IO\IOInterface $io:

EventDispatcher $eventDispatcher:

1 call to Factory::createDownloadManager()
Factory::createComposer in vendor/composer/composer/src/Composer/Factory.php
Creates a Composer instance

File

vendor/composer/composer/src/Composer/Factory.php, line 506

Class

Factory
Creates a configured instance of composer.

Namespace

Composer

Code

public function createDownloadManager(IOInterface $io, Config $config, HttpDownloader $httpDownloader, ProcessExecutor $process, ?EventDispatcher $eventDispatcher = null) : Downloader\DownloadManager {
    $cache = null;
    if ($config->get('cache-files-ttl') > 0) {
        $cache = new Cache($io, $config->get('cache-files-dir'), 'a-z0-9_./');
        $cache->setReadOnly($config->get('cache-read-only'));
    }
    $fs = new Filesystem($process);
    $dm = new Downloader\DownloadManager($io, false, $fs);
    switch ($preferred = $config->get('preferred-install')) {
        case 'dist':
            $dm->setPreferDist(true);
            break;
        case 'source':
            $dm->setPreferSource(true);
            break;
        case 'auto':
        default:
            // noop
            break;
    }
    if (is_array($preferred)) {
        $dm->setPreferences($preferred);
    }
    $dm->setDownloader('git', new Downloader\GitDownloader($io, $config, $process, $fs));
    $dm->setDownloader('svn', new Downloader\SvnDownloader($io, $config, $process, $fs));
    $dm->setDownloader('fossil', new Downloader\FossilDownloader($io, $config, $process, $fs));
    $dm->setDownloader('hg', new Downloader\HgDownloader($io, $config, $process, $fs));
    $dm->setDownloader('perforce', new Downloader\PerforceDownloader($io, $config, $process, $fs));
    $dm->setDownloader('zip', new Downloader\ZipDownloader($io, $config, $httpDownloader, $eventDispatcher, $cache, $fs, $process));
    $dm->setDownloader('rar', new Downloader\RarDownloader($io, $config, $httpDownloader, $eventDispatcher, $cache, $fs, $process));
    $dm->setDownloader('tar', new Downloader\TarDownloader($io, $config, $httpDownloader, $eventDispatcher, $cache, $fs, $process));
    $dm->setDownloader('gzip', new Downloader\GzipDownloader($io, $config, $httpDownloader, $eventDispatcher, $cache, $fs, $process));
    $dm->setDownloader('xz', new Downloader\XzDownloader($io, $config, $httpDownloader, $eventDispatcher, $cache, $fs, $process));
    $dm->setDownloader('phar', new Downloader\PharDownloader($io, $config, $httpDownloader, $eventDispatcher, $cache, $fs, $process));
    $dm->setDownloader('file', new Downloader\FileDownloader($io, $config, $httpDownloader, $eventDispatcher, $cache, $fs, $process));
    $dm->setDownloader('path', new Downloader\PathDownloader($io, $config, $httpDownloader, $eventDispatcher, $cache, $fs, $process));
    return $dm;
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal