summaryrefslogtreecommitdiffstats
path: root/lib/private
diff options
context:
space:
mode:
authorLukas Reschke <lukas@statuscode.ch>2017-10-19 11:05:23 +0200
committerGitHub <noreply@github.com>2017-10-19 11:05:23 +0200
commitf6f7b50cf0156673f92c7e00ebacf0fbfd6e98c1 (patch)
treede06a8061309bc204d8868edd62c34f9f030bd4d /lib/private
parent07b6e234bd3ba015809d9e4a312259266370d985 (diff)
parentff9f325677276069684edac165353da49f9036f4 (diff)
downloadnextcloud-server-f6f7b50cf0156673f92c7e00ebacf0fbfd6e98c1.tar.gz
nextcloud-server-f6f7b50cf0156673f92c7e00ebacf0fbfd6e98c1.zip
Merge pull request #6853 from nextcloud/apps_autoloader
Allow apps to have their own autoloader
Diffstat (limited to 'lib/private')
-rw-r--r--lib/private/legacy/app.php16
1 files changed, 12 insertions, 4 deletions
diff --git a/lib/private/legacy/app.php b/lib/private/legacy/app.php
index 627107a63a8..bd261b05e51 100644
--- a/lib/private/legacy/app.php
+++ b/lib/private/legacy/app.php
@@ -200,17 +200,25 @@ class OC_App {
if(isset(self::$alreadyRegistered[$key])) {
return;
}
+
self::$alreadyRegistered[$key] = true;
+
// Register on PSR-4 composer autoloader
$appNamespace = \OC\AppFramework\App::buildAppNamespace($app);
\OC::$server->registerNamespace($app, $appNamespace);
- \OC::$composerAutoloader->addPsr4($appNamespace . '\\', $path . '/lib/', true);
+
+ if (file_exists($path . '/composer/autoload.php')) {
+ require_once $path . '/composer/autoload.php';
+ } else {
+ \OC::$composerAutoloader->addPsr4($appNamespace . '\\', $path . '/lib/', true);
+ // Register on legacy autoloader
+ \OC::$loader->addValidRoot($path);
+ }
+
+ // Register Test namespace only when testing
if (defined('PHPUNIT_RUN') || defined('CLI_TEST_RUN')) {
\OC::$composerAutoloader->addPsr4($appNamespace . '\\Tests\\', $path . '/tests/', true);
}
-
- // Register on legacy autoloader
- \OC::$loader->addValidRoot($path);
}
/**