Epic #47018

Implement Composer support and clean package manager API

Added by Thomas Maroschik over 7 years ago. Updated about 2 years ago.

Status:
Closed
Priority:
Should have
Category:
-
Target version:
-
Start date:
2013-08-28
Due date:
% Done:

100%

Sprint Focus:

Subtasks

Task #52737: Integrate Flow Package SubpackageClosedThomas Maroschik

Task #52740: Add composer.json filesClosedChristian Kuhn

Bug #55908: Package-Manager / Extension-Manager reads depencies only from ext_emconf.phpClosed

Bug #55905: In some matter the package manager duplicates entries in PackageState which leads to fatalsClosed

Bug #55755: Legacy packages with dependencies to other composer packages coudn't be installedRejected

Task #55749: isPackageActive() should check runtimeActivatedPackages firstClosedMichiel Roos

Bug #55646: Framework Packages aren't sorted properly if package is overriten in typo3conf/extClosed

Bug #53537: PackageFactory class not found while running install-tool in 6.2Closed

Bug #55152: Class 'TYPO3\Flow\Package\Exception\InvalidPackageStateException' not foundClosedThomas Maroschik

Bug #53342: PackageManager::getCacheIdentifier() uses truncated md5Closed

Bug #54581: Please repair PackageStates before next Beta!ClosedThomas Maroschik

Bug #53459: Extension manager - removed extension stays in PackageStates.php as inactiveClosedThomas Maroschik

Bug #54491: PackageManager doesn't solve/recognize real composer packages Rejected

Task #53122: Use package manager in impexp extension selectorClosed

Bug #52984: PackageManager resolving dependencies uses folderstructure for building keysRejectedThomas Maroschik

Bug #55413: [Extension Manager] - PackageStates.php empty if incompatible extension is installedClosedThomas Maroschik

Feature #51473: Make it possible, that extensions use composer to load libraries just once for the whole TYPO3ClosedThomas Maroschik

Task #55404: Extract package dependency sorting to own classClosedThomas Maroschik

Feature #53015: Allow the activation of packages during runtimeClosedThomas Maroschik

Task #53886: Optimize Package State MigrationClosedThomas Maroschik


Related issues

Related to TYPO3 Core - Feature #46615: Speed improvements in ClassLoader Closed 2013-03-23
Related to TYPO3 Core - Task #52731: Use 6.1 branch in travis-integration for travis Closed 2013-10-12
Related to TYPO3 Core - Bug #52891: Fatal error in ExtensionCompatibilityTester Closed 2013-10-16
Related to TYPO3 Core - Bug #55555: Cleanup EXT/requiredExt handling Closed 2014-02-01
Related to TYPO3 Core - Bug #55517: ClassLoader not working with NullBackend for legacy classes Closed 2014-01-31
Related to TYPO3 Core - Bug #53478: Performance: remove unneeded basename call in CacheManager Closed 2013-11-09
Precedes TYPO3 Core - Bug #54857: Test extensions are not considered in functional test cases Closed 2014-01-09

Associated revisions

Revision f4f27565 (diff)
Added by Christian Kuhn about 7 years ago

[TASK] Use 6.1 branch in travis-integration for travis

Change-Id: I748bae0a4c4995d6e47b42d2d84cead36db3665d
Resolves: #52731
Related: #47018
Releases: 6.1, 6.0
Reviewed-on: https://review.typo3.org/24660
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn

Revision f272d549 (diff)
Added by Christian Kuhn about 7 years ago

[TASK] Use 6.1 branch in travis-integration for travis

Change-Id: I748bae0a4c4995d6e47b42d2d84cead36db3665d
Resolves: #52731
Related: #47018
Releases: 6.1, 6.0
Reviewed-on: https://review.typo3.org/24660
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
(cherry picked from commit f4f2756533761fa2da2d89f6f91e2be90c2dcb42)
Reviewed-on: https://review.typo3.org/24662

Revision 16ac878e (diff)
Added by Christian Kuhn about 7 years ago

[TASK] Add composer.json files for each sysext extension

Change-Id: Iaf88fc46903400d97f6f1dc3acedb3c9b438e8dd
Releases: 6.2
Resolves: #52740
Related: #47018
Reviewed-on: https://review.typo3.org/24667
Reviewed-by: Thomas Maroschik
Tested-by: Thomas Maroschik
Reviewed-by: Alexander Opitz
Tested-by: Alexander Opitz
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn

Revision 04cca5ff (diff)
Added by Thomas Maroschik about 7 years ago

[TASK] Integrate Flow Package Subpackage

In order to enable the Package Management API, the used Flow classes
have been placed in the core. The last synced state and the made
changes to the source are noted in a README file.

Resolves: #52737
Related: #47018
Releases: 6.2
Change-Id: Ic8fda623d9ff81f52c3c104a0d5ae7c290bf7953
Reviewed-on: https://review.typo3.org/24666
Reviewed-by: Alexander Opitz
Tested-by: Alexander Opitz
Reviewed-by: Sascha Egerer
Tested-by: Sascha Egerer
Reviewed-by: Thomas Maroschik
Tested-by: Thomas Maroschik

Revision 84d6207c (diff)
Added by Thomas Maroschik about 7 years ago

[FEATURE] Integrate preliminary PackageManager API

The Package Manager from Flow has been backported and integrated as
CMS Package Manager. This enables us to use full vendor namespaces for
extensions and brings us closer to a unified TYPO3 package format.

For more Details see: http://wiki.typo3.org/Blueprints/Packagemanager

Resolves: #47018
Releases: 6.2
Change-Id: I52abedaf470cebddb3553e37581021bf368380e6
Reviewed-on: https://review.typo3.org/19605
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
Reviewed-by: Alexander Opitz
Reviewed-by: Sascha Egerer
Reviewed-by: Thomas Maroschik
Tested-by: Thomas Maroschik
Tested-by: Alexander Opitz
Reviewed-by: Ernesto Baschny
Tested-by: Ernesto Baschny

History

#1 Updated by Gerrit Code Review over 7 years ago

  • Status changed from New to Under Review

Patch set 3 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/19605

#2 Updated by Gerrit Code Review over 7 years ago

Patch set 2 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/19604

#3 Updated by Gerrit Code Review over 7 years ago

Patch set 4 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/19605

#4 Updated by Gerrit Code Review over 7 years ago

Patch set 5 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/19605

#5 Updated by Gerrit Code Review over 7 years ago

Patch set 2 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/19601

#6 Updated by Gerrit Code Review over 7 years ago

Patch set 6 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/19605

#7 Updated by Gerrit Code Review over 7 years ago

Patch set 7 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/19605

#8 Updated by Gerrit Code Review over 7 years ago

Patch set 8 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/19605

#9 Updated by Gerrit Code Review over 7 years ago

Patch set 9 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/19605

#10 Updated by Gerrit Code Review over 7 years ago

Patch set 10 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/19605

#11 Updated by Gerrit Code Review over 7 years ago

Patch set 11 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/19605

#12 Updated by Gerrit Code Review over 7 years ago

Patch set 12 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/19605

#13 Updated by Gerrit Code Review over 7 years ago

Patch set 13 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/19605

#14 Updated by Gerrit Code Review over 7 years ago

Patch set 14 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/19605

#15 Updated by Gerrit Code Review over 7 years ago

Patch set 15 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/19605

#16 Updated by Gerrit Code Review over 7 years ago

Patch set 16 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/19605

#17 Updated by Gerrit Code Review over 7 years ago

Patch set 17 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/19605

#18 Updated by Gerrit Code Review about 7 years ago

Patch set 18 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/19605

#19 Updated by Gerrit Code Review about 7 years ago

Patch set 19 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/19605

#20 Updated by Alexander Opitz about 7 years ago

After checkout the Patch Set, I got following Error in logfile:

[Fri Aug 16 14:04:28 2013] [error] [client 192.168.8.146] PHP Fatal error:  Uncaught exception 'TYPO3\\CMS\\Core\\Package\\Exception\\PackageStatesUnavailableException' with message
'The package states file is not available. Please visit the installer.' in /home/opitz/projects/typo3-master/typo3-src/typo3/sysext/core/Classes/Package/PackageManager.php:202
Stack trace:
#0 /home/opitz/projects/typo3-master/typo3-src/typo3/sysext/core/Classes/Package/PackageManager.php(91): TYPO3\\CMS\\Core\\Package\\PackageManager->loadPackageStates()
#1 /home/opitz/projects/typo3-master/typo3-src/typo3/sysext/core/Classes/Core/Bootstrap.php(292): TYPO3\\CMS\\Core\\Package\\PackageManager->initialize(Object(TYPO3\\CMS\\Core\\Core\\Bootstrap), '/home/opitz/web...')
#2 /home/opitz/projects/typo3-master/typo3-src/typo3/sysext/core/Classes/Core/Bootstrap.php(224): TYPO3\\CMS\\Core\\Core\\Bootstrap->initializePackageManagement('TYPO3\\CMS\\Core\\...')
#3 /home/opitz/projects/typo3-master/typo3-src/typo3/sysext/install/Start/Install.php(112): TYPO3\\CMS\\Core\\Core\\Bootstrap->loadConfigurationAndInitialize(false, 'TYPO3\\CMS\\Core\\...') in /home/opitz/projects/typo3-master/typo3-src/typo3/sysext/core/Classes/Package/PackageManager.php on line 202

So I tried the installer and got following error

[Fri Aug 16 14:11:46 2013] [error] [client 192.168.8.146] PHP Fatal error:  Class 'TYPO3\\CMS\\Core\\Package\\FailSafePackageManager' not found in /home/opitz/projects/typo3-master/typo3-src/typo3/sysext/core/Classes/Core/Bootstrap.php on line 286
[Fri Aug 16 14:11:46 2013] [error] [client 192.168.8.146] PHP Stack trace:
[Fri Aug 16 14:11:46 2013] [error] [client 192.168.8.146] PHP   1. {main}() /home/opitz/projects/typo3-master/typo3-src/typo3/sysext/install/Start/Install.php:0
[Fri Aug 16 14:11:46 2013] [error] [client 192.168.8.146] PHP   2. TYPO3\\CMS\\Core\\Core\\Bootstrap->loadConfigurationAndInitialize() /home/opitz/projects/typo3-master/typo3-src/typo3/sysext/install/Start/Install.php:112
[Fri Aug 16 14:11:46 2013] [error] [client 192.168.8.146] PHP   3. TYPO3\\CMS\\Core\\Core\\Bootstrap->initializePackageManagement() /home/opitz/projects/typo3-master/typo3-src/typo3/sysext/core/Classes/Core/Bootstrap.php:223

This is caused by the file name FailsafePackageManager.php vs class name FailSafePackageManager (upper vs lower case of the s in safe). After renaming this class I got following error:

Fri Aug 16 14:35:26 2013] [error] [client 192.168.8.146] PHP Fatal error:  Uncaught exception 'TYPO3\\Flow\\Package\\Exception\\InvalidPackageKeyException' with message 
'"" is not a valid package key.' in /home/opitz/projects/typo3-master/typo3-src/typo3/sysext/core/Resources/PHP/TYPO3.Flow/Classes/TYPO3/Flow/Package/Package.php:103
Stack trace:
#0 /home/opitz/projects/typo3-master/typo3-src/typo3/sysext/core/Classes/Package/PackageFactory.php(68): TYPO3\\Flow\\Package\\Package->__construct(Object(TYPO3\\CMS\\Core\\Package\\FailSafePackageManager), '', '/home/opitz/web...', 'Classes/', '')
#1 /home/opitz/projects/typo3-master/typo3-src/typo3/sysext/core/Resources/PHP/TYPO3.Flow/Classes/TYPO3/Flow/Package/PackageManager.php(794): TYPO3\\CMS\\Core\\Package\\PackageFactory->create('/home/opitz/web...', 'typo3conf/ext/m...', '', 'Classes/', '')
#2 /home/opitz/projects/typo3-master/typo3-src/typo3/sysext/core/Classes/Package/FailSafePackageManager.php(81): TYPO3\\Flow\\Package\\PackageManager->registerPackagesFromConfiguration()
#3 /home/opitz/projects/typo3-master/typo3-src/typo3/sysext/core/Classes/Pack in /home/opitz/projects/typo3-master/typo3-src/typo3/sysext/core/Resources/PHP/TYPO3.Flow/Classes/TYPO3/Flow/Package/Package.php on line 103

This was caused by the new media management extension, which was installed, it includes something from behat which has no extension key.

#21 Updated by Gerrit Code Review about 7 years ago

Patch set 20 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/19605

#22 Updated by Alexander Opitz about 7 years ago

An issue in PHP that was fixed with todays version 5.4.20 "class_alias() should accept classes with leading backslashes" https://bugs.php.net/bug.php?id=61759

#23 Updated by Gerrit Code Review about 7 years ago

Patch set 21 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/19605

#24 Updated by Gerrit Code Review about 7 years ago

Patch set 22 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/19605

#25 Updated by Gerrit Code Review about 7 years ago

Patch set 23 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/19605

#26 Updated by Gerrit Code Review about 7 years ago

Patch set 24 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/19605

#27 Updated by Gerrit Code Review about 7 years ago

Patch set 25 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/19605

#28 Updated by Gerrit Code Review about 7 years ago

Patch set 26 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/19605

#29 Updated by Gerrit Code Review about 7 years ago

Patch set 27 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/19605

#30 Updated by Gerrit Code Review about 7 years ago

Patch set 28 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/19605

#31 Updated by Gerrit Code Review about 7 years ago

Patch set 29 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/19605

#32 Updated by Gerrit Code Review about 7 years ago

Patch set 30 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/19605

#33 Updated by Gerrit Code Review about 7 years ago

Patch set 31 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/19605

#34 Updated by Thomas Maroschik about 7 years ago

  • Status changed from Under Review to Resolved

#35 Updated by Ernesto Baschny over 6 years ago

  • Tracker changed from Feature to Epic

#36 Updated by Benni Mack about 2 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF