Load the app.php before running apps' boot method
Some apps require the composer autoloader from app.php. If we run boot before including that file, classes and functions from dependencies won't be found. Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
This commit is contained in:
parent
39f3fcdf6b
commit
5bc8510b3b
|
@ -149,9 +149,6 @@ class OC_App {
|
|||
// in case someone calls loadApp() directly
|
||||
self::registerAutoloading($app, $appPath);
|
||||
|
||||
/** @var \OC\AppFramework\Bootstrap\Coordinator $coordinator */
|
||||
$coordinator = \OC::$server->query(\OC\AppFramework\Bootstrap\Coordinator::class);
|
||||
$coordinator->bootApp($app);
|
||||
if (is_file($appPath . '/appinfo/app.php')) {
|
||||
\OC::$server->getEventLogger()->start('load_app_' . $app, 'Load app: ' . $app);
|
||||
try {
|
||||
|
@ -176,6 +173,10 @@ class OC_App {
|
|||
\OC::$server->getEventLogger()->end('load_app_' . $app);
|
||||
}
|
||||
|
||||
/** @var \OC\AppFramework\Bootstrap\Coordinator $coordinator */
|
||||
$coordinator = \OC::$server->query(\OC\AppFramework\Bootstrap\Coordinator::class);
|
||||
$coordinator->bootApp($app);
|
||||
|
||||
$info = self::getAppInfo($app);
|
||||
if (!empty($info['activity']['filters'])) {
|
||||
foreach ($info['activity']['filters'] as $filter) {
|
||||
|
|
|
@ -38,6 +38,13 @@ interface IBootstrap {
|
|||
public function register(IRegistrationContext $context): void;
|
||||
|
||||
/**
|
||||
* Boot the application
|
||||
*
|
||||
* At this stage you can assume that all services are registered and the DI
|
||||
* container(s) are ready to be queried.
|
||||
*
|
||||
* This is also the state where an optional `appinfo/app.php` was loaded.
|
||||
*
|
||||
* @param IBootContext $context
|
||||
*
|
||||
* @since 20.0.0
|
||||
|
|
Loading…
Reference in New Issue