Esempio n. 1
0
 /**
  * {@inheritdoc}
  */
 public function rebuildRootPackage()
 {
     // See the getCorePackage() interface docblock for an explanation of why
     // we're writing the root package to core/composer.json.
     $core_package = $this->getCorePackage();
     $extension_packages = $this->getExtensionPackages();
     $root_package = $this->rootPackageBuilder->build($core_package, $extension_packages);
     JsonFile::write($this->root . '/core/composer.json', $root_package);
 }
Esempio n. 2
0
  /**
   * {@inheritdoc}
   */
  public function rebuildRootPackage() {
    $root_package = JsonFile::read($this->root . '/composer.json');
    // Rebuild the merged keys.
    $merged_extension_package = $this->buildMergedExtensionPackage();
    $root_package['require'] = [
      'composer/installers' => '^1.0.21',
      'wikimedia/composer-merge-plugin' => '^1.3.0',
    ] + $merged_extension_package['require'];
    $root_package['require-dev'] = $merged_extension_package['require-dev'];
    $root_package['replace'] = [
      'drupal/core' => '~8.0',
    ] + $merged_extension_package['replace'];
    $root_package['repositories'] = $merged_extension_package['repositories'];
    // Ensure the presence of the Drupal Packagist repository.
    // @todo Remove once Drupal Packagist moves to d.o and gets added to
    // the root package by default.
    $root_package['repositories'][] = [
      'type' => 'composer',
      'url' => 'https://packagist.drupal-composer.org',
    ];

    JsonFile::write($this->root . '/composer.json', $root_package);
  }
  /**
   * {@inheritdoc}
   */
  public function rebuildRootPackage() {
    $root_package = JsonFile::read($this->root . '/composer.json');
    // Initialize known start values. These should match what's already in
    // the root composer.json shipped with Drupal.
    $core_requirement = $root_package['replace']['drupal/core'];
    $root_package['replace'] = [
      'drupal/core' => $core_requirement,
    ];
    $root_package['repositories'] = [];
    $root_package['extra']['merge-plugin']['include'] = [
      'core/composer.json',
    ];
    // Add the discovered extensions to the replace list so that they doesn't
    // get redownloaded if required by another package.
    foreach ($this->getExtensionPackages() as $extension_package) {
      $version = '8.*';
      if (isset($extension_package['extra']['branch-alias']['dev-master'])) {
        $version = $extension_package['extra']['branch-alias']['dev-master'];
      }
      $root_package['replace'][$extension_package['name']] = $version;
    }
    // Ensure the presence of the Drupal Packagist repository.
    // @todo Remove once Drupal Packagist moves to d.o and gets added to
    // the root package by default.
    $root_package['repositories'][] = [
      'type' => 'composer',
      'url' => 'https://packagist.drupal-composer.org',
    ];
    // Add each discovered extension to the merge list.
    foreach ($this->getExtensionPackages() as $extension_package) {
      $root_package['extra']['merge-plugin']['include'][] = $extension_package['extra']['path'];
    }

    JsonFile::write($this->root . '/composer.json', $root_package);
  }