Problem/Motivation

In preparation to expose Drupal Components outside of Drupal we added a composer.json file to every component and a "replace" section to core/composer.json.

But:

- some components requirement declarations are incorrect
- some components are missing from the drupal/core replace section
- some composer files are missing from Drupal\Tests\ComposerIntegrationTest::getPaths()

Examples:

- drupal/core-event-dispatcher declares "symfony/event-dispatcher": "2.7.*", drupal/core replaces "drupal/core-event-dispatcher": "self.version", drupal/core requires "symfony/event-dispatcher": "~2.8"
- drupal/core-dependency-injection declares "symfony/dependency-injection": "2.7.*"; drupal/core requires "symfony/dependency-injection": "~2.8". Here drupal/core-dependency-injection is missing from the drupal/core replace section.
- drupal/core-dependency-injection declares "symfony/expression-language": "2.7.*"; symfony/expression-language is not required by drupal/core.
- #2712647: Update Symfony components to ~3.2 has a patch which updates core/composer.json but not the core component composer files.

Proposed resolution

- Fix the drupal/core replace section to have all drupal/core-* components declared.
- Fix Drupal\Tests\ComposerIntegrationTest::getPaths() to cover all drupal/core-* composer files.
- Track down all drupal/core-* components external dependencies that are also required by drupal/core but still have have an old version requirement declaration after drupal/core updated its version requirement. Update the components composer.json to match drupal/core in this respect.
- Test coverage?

#2720811: Fix package names of drupal/core-fileCache and drupal/core-phpStorage
#2744357: drupal/core-* components Symfony requirements conflict with drupal/core
#2744383: drupal/core-dependency-injection is missing from the drupal/core replace section
#2747083: drupal/core-dependency-injection wrongly requires symfony/expression-language
#2752119: drupal/core-render is missing from the drupal/core replace section
#2752127: drupal/core-assertion is missing from the drupal/core replace section
#2759839: Rename drupal/core-httpFoundation, add it to drupal/core replace section

Comments

Eric_A created an issue. See original summary.

Eric_A’s picture

Issue summary: View changes
Eric_A’s picture

Issue summary: View changes
dawehner’s picture

Issue tags: +Novice

Patching those sounds like a novice task.

Eric_A’s picture

Issue summary: View changes
Eric_A’s picture

Issue summary: View changes
Eric_A’s picture

Issue summary: View changes
Eric_A’s picture

Issue summary: View changes
Eric_A’s picture

Issue summary: View changes
Eric_A’s picture

Title: drupal/core-* and drupal/core requires/replace declarations are broken » [meta] drupal/core-* and drupal/core requires/replace declarations are broken
Eric_A’s picture

Title: [meta] drupal/core-* and drupal/core requires/replace declarations are broken » [meta] drupal/core-* components and drupal/core requires/replace declarations are broken
Eric_A’s picture

Eric_A’s picture

Issue summary: View changes
Eric_A’s picture

Eric_A’s picture

Issue summary: View changes
Eric_A’s picture

Mile23’s picture

+1 on this work. Rock on. :-)

- Test coverage?

That will be the final build process.

Hopefully many of these 'replaces' will be removed because they're splits that will be pulled in and put in vendor/.

Eric_A’s picture

Issue summary: View changes

One more missing from the replace section. Think this is the last one.

#2759839: Rename drupal/core-httpFoundation, add it to drupal/core replace section

Eric_A’s picture

Eric_A’s picture

Status: Active » Fixed

All child issues fixed here!

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.