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

Breadcrumb

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

function Installer::removeDisabledInstallers

Look for installers set to be disabled in composer's extra config and remove them from the list of supported installers.

Globals:

  • true, "all", and "*" - disable all installers.
  • false - enable all installers (useful with wikimedia/composer-merge-plugin or similar)
1 call to Installer::removeDisabledInstallers()
Installer::__construct in vendor/composer/installers/src/Composer/Installers/Installer.php
Disables installers specified in main composer extra installer-disable list

File

vendor/composer/installers/src/Composer/Installers/Installer.php, line 255

Class

Installer

Namespace

Composer\Installers

Code

protected function removeDisabledInstallers() : void {
    $extra = $this->composer
        ->getPackage()
        ->getExtra();
    if (!isset($extra['installer-disable']) || $extra['installer-disable'] === false) {
        // No installers are disabled
        return;
    }
    // Get installers to disable
    $disable = $extra['installer-disable'];
    // Ensure $disabled is an array
    if (!is_array($disable)) {
        $disable = array(
            $disable,
        );
    }
    // Check which installers should be disabled
    $all = array(
        true,
        "all",
        "*",
    );
    $intersect = array_intersect($all, $disable);
    if (!empty($intersect)) {
        // Disable all installers
        $this->supportedTypes = array();
        return;
    }
    // Disable specified installers
    foreach ($disable as $key => $installer) {
        if (is_string($installer) && key_exists($installer, $this->supportedTypes)) {
            unset($this->supportedTypes[$installer]);
        }
    }
}
RSS feed
Powered by Drupal