Epic #47018

Implement Composer support and clean package manager API

Added by Thomas Maroschik over 2 years ago. Updated 3 months ago.

Status:Resolved Start date:2013-08-28
Priority:Could have Due date:
Assigned To:Thomas Maroschik % Done:

90%

Category:- Spent time: -
Target version:-
Sprint Focus:

Subtasks

Task #52737: Integrate Flow Package SubpackageResolvedThomas Maroschik

Task #52740: Add composer.json filesResolvedChristian Kuhn

Bug #55908: Package-Manager / Extension-Manager reads depencies only ...Resolved

Bug #55905: In some matter the package manager duplicates entries in ...Closed

Bug #55755: Legacy packages with dependencies to other composer packa...Rejected

Task #55749: isPackageActive() should check runtimeActivatedPackages f...ResolvedMichiel Roos

Bug #55646: Framework Packages aren't sorted properly if package is o...Needs Feedback

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

Bug #55152: Class 'TYPO3\Flow\Package\Exception\InvalidPackageStateEx...ClosedThomas Maroschik

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

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

Bug #53459: Extension manager - removed extension stays in PackageSta...ResolvedThomas Maroschik

Bug #54491: PackageManager doesn't solve/recognize real composer pack...Under Review

Task #53122: Use package manager in impexp extension selectorClosed

Bug #52984: PackageManager resolving dependencies uses folderstructur...RejectedThomas Maroschik

Bug #55413: [Extension Manager] - PackageStates.php empty if incompat...ClosedThomas Maroschik

Feature #51473: Make it possible, that extensions use composer to load li...ResolvedThomas Maroschik

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

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

Task #53886: Optimize Package State MigrationResolvedThomas Maroschik


Related issues

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

Associated revisions

Revision f4f27565
Added by Christian Kuhn almost 2 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
Added by Christian Kuhn almost 2 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
Added by Christian Kuhn almost 2 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
Added by Thomas Maroschik almost 2 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
Added by Thomas Maroschik almost 2 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 2 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 2 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 2 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 2 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 2 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 2 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 2 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 2 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 2 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 2 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 2 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 2 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 about 2 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 about 2 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 about 2 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 about 2 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 about 2 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 almost 2 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 almost 2 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 almost 2 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 almost 2 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 almost 2 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 almost 2 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 almost 2 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 almost 2 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 almost 2 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 almost 2 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 almost 2 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 almost 2 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 almost 2 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 almost 2 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 almost 2 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 almost 2 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 almost 2 years ago

  • Status changed from Under Review to Resolved

#35 Updated by Ernesto Baschny over 1 year ago

  • Tracker changed from Feature to Epic

Also available in: Atom PDF