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

Breadcrumb

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

function FilesystemRepository::initialize

Initializes repository (reads file, or remote address).

Overrides ArrayRepository::initialize

1 call to FilesystemRepository::initialize()
FilesystemRepository::reload in vendor/composer/composer/src/Composer/Repository/FilesystemRepository.php
@inheritDoc

File

vendor/composer/composer/src/Composer/Repository/FilesystemRepository.php, line 75

Class

FilesystemRepository
Filesystem repository.

Namespace

Composer\Repository

Code

protected function initialize() {
    parent::initialize();
    if (!$this->file
        ->exists()) {
        return;
    }
    try {
        $data = $this->file
            ->read();
        if (isset($data['packages'])) {
            $packages = $data['packages'];
        }
        else {
            $packages = $data;
        }
        if (isset($data['dev-package-names'])) {
            $this->setDevPackageNames($data['dev-package-names']);
        }
        if (isset($data['dev'])) {
            $this->devMode = $data['dev'];
        }
        if (!is_array($packages)) {
            throw new \UnexpectedValueException('Could not parse package list from the repository');
        }
    } catch (\Exception $e) {
        throw new InvalidRepositoryException('Invalid repository data in ' . $this->file
            ->getPath() . ', packages could not be loaded: [' . get_class($e) . '] ' . $e->getMessage());
    }
    $loader = new ArrayLoader(null, true);
    foreach ($packages as $packageData) {
        $package = $loader->load($packageData);
        $this->addPackage($package);
    }
}
RSS feed
Powered by Drupal