Add DrupalKernel->getModuleNamespacesPsr4(), to get module namespaces with PSR-4 directories. For the start, return only the usual PSR-0 directory in PSR-4 format.
autoload: Create a Drupal-specific core/autoload.php, and use it instead of the core/vendor/autoload.php generated by Composer.
For the start, this will simply include Composer's autoload.php.
autoload: Create a Drupal-specific ClassLoader, and use it instead of the one provided by Composer.
For the start, this is simply a copy of Composer's ClassLoader.
autoload: Switch our ClassLoader fork to Composer's PSR-4 ClassLoader as proposed in https://github.com/composer/composer/pull/2121/files
autoload: Register modules as PSR-4 instead of PSR-0, without moving the classes. Allow for multiple paths per prefix. Register 3 directories per module namespace:
- ../lib/Drupal/(modulename)
- ../lib
- ../src
This will be cleaned up later.
autoload: Register core namespaces as PSR-4
autoload: Use a loader with additional predictor character for PSR-4. Leave PSR-0 unchanged.
autoload: Register test namespaces as PSR-4.
plugin discovery: AnnotatedClassDiscovery with PSR-4 style directories.
plugin discovery: Introduce AbstractAnnotatedClassDiscovery
plugin discovery: Change the way that annotation namespaces are added to AnnotatedClassDiscovery. Introduce addAnnotationNamespace().
plugin discovery: DefaultPluginManager gets an addAnnotationNamespace() method, and changed constructor signature.
Motivation for addAnnotationNamespace():
- Simplify the constructor signature.
- Plugin managers no longer need to specify directories for their annotatino classes.
Motivation for swapping the first two constructor params:
- Namespace fragments are more meaningful to a developer than directory fragments.
- The namespace suffix is going to be *appended* to the root namespaces, so this parameter should go after the root namespaces.
plugin discovery: Allow annotation namespaces with multiple directories attached.
Register 3 PSR-4 directories for each module namespace:
- ../lib/Drupal/(modulename)
- ../lib
- ../src
This will be cleaned up in a follow-up.
Let DrupalKernel::getModuleNamespacesPsr4() return three PSR-4 directories per directory.
plugin discovery: annotation class loader uses regular class loader, if for the given namespace, TRUE is specified instead of a list of PSR-4 directories.
Port discovery of test classes to PSR-4.
Add a script to move all module classes to their new PSR-4 locations