/** * Loads given extension * * Warning: This method only works if the ugrade wizard to transform * localconf.php to LocalConfiguration.php was already run * * @param string $extensionKey Extension key to load * @return void * @throws \RuntimeException */ public static function loadExtension($extensionKey) { if (static::$packageManager->isPackageActive($extensionKey)) { throw new \RuntimeException('Extension already loaded', 1342345486); } static::$packageManager->activatePackage($extensionKey); }
/** * Activates all packages that are configured in root composer.json or are required * * @param bool $removeInactivePackages */ public function generatePackageStatesCommand($removeInactivePackages = FALSE) { try { $installationPackages = $this->getPackagesFromRootComposerFile(); } catch (\Exception $e) { $this->outputLine('<error>' . $e->getMessage() . '</error>'); $this->quit(1); return; } foreach ($this->packageManager->getAvailablePackages() as $package) { if (isset($installationPackages[$package->getPackageKey()]) || $package->isProtected() || $package instanceof Package && $package->isPartOfMinimalUsableSystem()) { $this->packageManager->activatePackage($package->getPackageKey()); } else { try { $this->packageManager->deactivatePackage($package->getPackageKey()); } catch (\UnexpectedValueException $exception) { $this->outputLine('<info>Error while deactivating package %s. Exception: %s</info>', array($package->getPackageKey(), $exception->getMessage())); } if ($removeInactivePackages) { $this->packageManager->unregisterPackage($package); GeneralUtility::flushDirectory($package->getPackagePath()); $this->outputLine('Removed Package: ' . $package->getPackageKey()); } } } $this->packageManager->forceSortAndSavePackageStates(); }
/** * Activates all packages that are configured in root composer.json or are required * * @param bool $removeInactivePackages */ public function generatePackageStatesCommand($removeInactivePackages = FALSE) { $installationPackages = $this->getPackagesFromRootComposerFile(); foreach ($this->packageManager->getAvailablePackages() as $package) { if (in_array($package->getPackageKey(), $installationPackages) || $package->isProtected() || $package instanceof Package && $package->isPartOfMinimalUsableSystem()) { $this->packageManager->activatePackage($package->getPackageKey()); } else { $this->packageManager->deactivatePackage($package->getPackageKey()); if ($removeInactivePackages) { $this->packageManager->unregisterPackage($package); GeneralUtility::flushDirectory($package->getPackagePath()); $this->outputLine('Removed Package: ' . $package->getPackageKey()); } } } $this->packageManager->forceSortAndSavePackageStates(); }
/** * @test */ public function activatePackageAndDeactivatePackageActivateAndDeactivateTheGivenPackage() { $packageKey = 'Acme.YetAnotherTestPackage'; $this->createPackage($packageKey); $this->packageManager->deactivatePackage($packageKey); $this->assertFalse($this->packageManager->isPackageActive($packageKey)); $this->packageManager->activatePackage($packageKey); $this->assertTrue($this->packageManager->isPackageActive($packageKey)); }
/** * Wrapper function for loading extensions * * @param string $extensionKey * @return void */ protected function loadExtension($extensionKey) { $this->packageManager->activatePackage($extensionKey); }