[BUGFIX] Prioritize composer.json
to resolve extension-key
#634
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The testing-framework internal composer package management
used to determine source location of extensions to provide
them in the functional test instances (legacy mode) stores
extension packages in internal property state by the TYPO3
extension key. In case
ext_emconf.php
does not exist ina extension, the fallback determined it by normalizing the
package name from the composer name or used the basename
of the source location folder as extension key.
The fallback logic was based on the need to allow loading
functional test fixture extension.
TYPO3 extension are sensitive to loading order which is
determined in different ways depending on the installation
mode. To mimic the TYPO3 core legacy mode sorting, custom
package sorting has been added to the testing-framework,
which has to deal with the fact that extension may not
provide a
ext_emconf.php
anymore, which is not neededfor composer installations.
Extension depending on another extension failed to be
sorted correctly with following exception:
The root cause for this is the fact, that the composer.json
entry for the
extension-key
has not been used as firstsource when reading extension from the filesystem. With this
change, places dealing to determine extension key from package
now respects the composer.json extension-key as first source.
Resolves: #541
Releases: main, 8