use OCP\IL10N;
class BundleFetcher {
- /** @var IL10N */
- private $l10n;
+ private IL10N $l10n;
- /**
- * @param IL10N $l10n
- */
public function __construct(IL10N $l10n) {
$this->l10n = $l10n;
}
/**
* @return Bundle[]
*/
- public function getBundles() {
+ public function getBundles(): array {
return [
new EnterpriseBundle($this->l10n),
new HubBundle($this->l10n),
];
}
- /**
- * Bundles that should be installed by default after installation
- *
- * @return Bundle[]
- */
- public function getDefaultInstallationBundle() {
- return [
- ];
- }
-
/**
* Get the bundle with the specified identifier
*
* @return Bundle
* @throws \BadMethodCallException If the bundle does not exist
*/
- public function getBundleByIdentifier($identifier) {
- /** @var Bundle[] $bundles */
- $bundles = array_merge(
- $this->getBundles(),
- $this->getDefaultInstallationBundle()
- );
- foreach ($bundles as $bundle) {
+ public function getBundleByIdentifier(string $identifier): Bundle {
+ foreach ($this->getBundles() as $bundle) {
if ($bundle->getIdentifier() === $identifier) {
return $bundle;
}
// Install shipped apps and specified app bundles
Installer::installShippedApps();
- $bundleFetcher = new BundleFetcher(\OC::$server->getL10N('lib'));
- $defaultInstallationBundles = $bundleFetcher->getDefaultInstallationBundle();
- foreach ($defaultInstallationBundles as $bundle) {
- try {
- $this->installer->installAppBundle($bundle);
- } catch (Exception $e) {
- }
- }
// create empty file in data dir, so we can later find
// out that this is indeed an ownCloud data directory
$this->assertEquals($expected, $this->bundleFetcher->getBundles());
}
- public function testGetDefaultInstallationBundle() {
- $expected = [];
- $this->assertEquals($expected, $this->bundleFetcher->getDefaultInstallationBundle());
- }
-
public function testGetBundleByIdentifier() {
$this->assertEquals(new EnterpriseBundle($this->l10n), $this->bundleFetcher->getBundleByIdentifier('EnterpriseBundle'));
$this->assertEquals(new GroupwareBundle($this->l10n), $this->bundleFetcher->getBundleByIdentifier('GroupwareBundle'));