[BUGFIX] Resolves extension dependencies recursively 02/50602/7
authorNicole Cordes <typo3@cordes.co>
Sat, 12 Nov 2016 09:19:10 +0000 (10:19 +0100)
committerMarkus Klein <markus.klein@typo3.org>
Sun, 13 Nov 2016 11:37:04 +0000 (12:37 +0100)
commit0620f2d6fe08145ced436f81716358911b8be904
tree969df73f1fceda31ad5d6ea29d5daaf0ce560172
parent04bf0cbf58cbf7ff169a0feb483a19ca54aab579
[BUGFIX] Resolves extension dependencies recursively

Currently it is not possible to install an extension which has special
sub-dependencies (e.g. dependencies of sub-extensions). During the
installation of an extension, the download information is fetched too
early and might not contain all necessary downloads. Furthermore later
installation actions add new dependencies, which have to be resolved
before any other extension can be installed.

This patch ensures all dependencies and their sub-dependencies are
fetched before the first installation. All installation information is
now correctly ordered, as the last one added has to be the first one in
the installation queue.

Resolves: #78666
Relates: #66152
Releases: master, 7.6
Change-Id: Idd9242aa1e2ecac3deb542290627fdf9c5479edc
Reviewed-on: https://review.typo3.org/50602
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Helmut Hummel <typo3@helhum.io>
Tested-by: Helmut Hummel <typo3@helhum.io>
Reviewed-by: Markus Klein <markus.klein@typo3.org>
Tested-by: Markus Klein <markus.klein@typo3.org>
typo3/sysext/extensionmanager/Classes/Domain/Model/DownloadQueue.php
typo3/sysext/extensionmanager/Classes/Service/ExtensionManagementService.php
typo3/sysext/extensionmanager/Tests/Unit/Service/ExtensionManagementServiceTest.php