[BUGFIX] Resolves extension dependencies recursively 28/50628/2
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:53:06 +0000 (12:53 +0100)
commitc33d526bd8c9c268b4444fc894e7fd0ef97c11cf
tree29ce960ea79a597f8ba18e475e48e45d9d47e2c5
parent51bfde1e72443ac291cc22a803dc903d1e89cb9b
[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.

Change-Id: I6ab77a9deb883ad9eb00bfcae33dd3133695328a
Resolves: #78666
Relates: #66152
Releases: master, 7.6
Reviewed-on: https://review.typo3.org/50628
Tested-by: TYPO3com <no-reply@typo3.com>
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