Explore simplifying our fixture manipulation classes

Created on 24 January 2023, almost 2 years ago
Updated 26 January 2023, almost 2 years ago

Problem/Motivation

I have found the relation between \Drupal\fixture_manipulator\StageFixtureManipulator and \Drupal\package_manager_bypass\Beginner was always very hard for me to understand, especially how the logic around object destruction works and ensuring that `commitChanges()` gets called because the `StageFixtureManipulator` are serialized in state between requests.

@wim leers did some amazing work to make the current logic work but there seems to be no way to make the current system simple and we are still finding edge cases.

Because of this understanding how this works you have to read many places in our code base and I still find it challenging to understand.

Proposed resolution

Remove the need to have StageFixtureManipulator objects serialized in state at all by adding methods to Beginner that just store package versions in state, not objects.

Remaining tasks

πŸ“Œ Task
Status

Fixed

Version

2.0

Component

Code

Created by

πŸ‡ΊπŸ‡ΈUnited States tedbow Ithaca, NY, USA

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Production build 0.71.5 2024