mirror of
https://github.com/nextcloud/server.git
synced 2026-06-09 00:32:29 -04:00
Merge pull request #34190 from nextcloud/fix/noid/remove-core-bundle
remove CoreBundle as we now ship the lat app that was referenced there
This commit is contained in:
commit
ac1c7397a1
10 changed files with 4 additions and 351 deletions
|
|
@ -720,7 +720,6 @@ return array(
|
|||
'OC\\App\\AppManager' => $baseDir . '/lib/private/App/AppManager.php',
|
||||
'OC\\App\\AppStore\\Bundles\\Bundle' => $baseDir . '/lib/private/App/AppStore/Bundles/Bundle.php',
|
||||
'OC\\App\\AppStore\\Bundles\\BundleFetcher' => $baseDir . '/lib/private/App/AppStore/Bundles/BundleFetcher.php',
|
||||
'OC\\App\\AppStore\\Bundles\\CoreBundle' => $baseDir . '/lib/private/App/AppStore/Bundles/CoreBundle.php',
|
||||
'OC\\App\\AppStore\\Bundles\\EducationBundle' => $baseDir . '/lib/private/App/AppStore/Bundles/EducationBundle.php',
|
||||
'OC\\App\\AppStore\\Bundles\\EnterpriseBundle' => $baseDir . '/lib/private/App/AppStore/Bundles/EnterpriseBundle.php',
|
||||
'OC\\App\\AppStore\\Bundles\\GroupwareBundle' => $baseDir . '/lib/private/App/AppStore/Bundles/GroupwareBundle.php',
|
||||
|
|
@ -1461,7 +1460,6 @@ return array(
|
|||
'OC\\Repair\\Owncloud\\CleanPreviews' => $baseDir . '/lib/private/Repair/Owncloud/CleanPreviews.php',
|
||||
'OC\\Repair\\Owncloud\\CleanPreviewsBackgroundJob' => $baseDir . '/lib/private/Repair/Owncloud/CleanPreviewsBackgroundJob.php',
|
||||
'OC\\Repair\\Owncloud\\DropAccountTermsTable' => $baseDir . '/lib/private/Repair/Owncloud/DropAccountTermsTable.php',
|
||||
'OC\\Repair\\Owncloud\\InstallCoreBundle' => $baseDir . '/lib/private/Repair/Owncloud/InstallCoreBundle.php',
|
||||
'OC\\Repair\\Owncloud\\MigrateOauthTables' => $baseDir . '/lib/private/Repair/Owncloud/MigrateOauthTables.php',
|
||||
'OC\\Repair\\Owncloud\\MoveAvatars' => $baseDir . '/lib/private/Repair/Owncloud/MoveAvatars.php',
|
||||
'OC\\Repair\\Owncloud\\MoveAvatarsBackgroundJob' => $baseDir . '/lib/private/Repair/Owncloud/MoveAvatarsBackgroundJob.php',
|
||||
|
|
|
|||
|
|
@ -753,7 +753,6 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2
|
|||
'OC\\App\\AppManager' => __DIR__ . '/../../..' . '/lib/private/App/AppManager.php',
|
||||
'OC\\App\\AppStore\\Bundles\\Bundle' => __DIR__ . '/../../..' . '/lib/private/App/AppStore/Bundles/Bundle.php',
|
||||
'OC\\App\\AppStore\\Bundles\\BundleFetcher' => __DIR__ . '/../../..' . '/lib/private/App/AppStore/Bundles/BundleFetcher.php',
|
||||
'OC\\App\\AppStore\\Bundles\\CoreBundle' => __DIR__ . '/../../..' . '/lib/private/App/AppStore/Bundles/CoreBundle.php',
|
||||
'OC\\App\\AppStore\\Bundles\\EducationBundle' => __DIR__ . '/../../..' . '/lib/private/App/AppStore/Bundles/EducationBundle.php',
|
||||
'OC\\App\\AppStore\\Bundles\\EnterpriseBundle' => __DIR__ . '/../../..' . '/lib/private/App/AppStore/Bundles/EnterpriseBundle.php',
|
||||
'OC\\App\\AppStore\\Bundles\\GroupwareBundle' => __DIR__ . '/../../..' . '/lib/private/App/AppStore/Bundles/GroupwareBundle.php',
|
||||
|
|
@ -1494,7 +1493,6 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2
|
|||
'OC\\Repair\\Owncloud\\CleanPreviews' => __DIR__ . '/../../..' . '/lib/private/Repair/Owncloud/CleanPreviews.php',
|
||||
'OC\\Repair\\Owncloud\\CleanPreviewsBackgroundJob' => __DIR__ . '/../../..' . '/lib/private/Repair/Owncloud/CleanPreviewsBackgroundJob.php',
|
||||
'OC\\Repair\\Owncloud\\DropAccountTermsTable' => __DIR__ . '/../../..' . '/lib/private/Repair/Owncloud/DropAccountTermsTable.php',
|
||||
'OC\\Repair\\Owncloud\\InstallCoreBundle' => __DIR__ . '/../../..' . '/lib/private/Repair/Owncloud/InstallCoreBundle.php',
|
||||
'OC\\Repair\\Owncloud\\MigrateOauthTables' => __DIR__ . '/../../..' . '/lib/private/Repair/Owncloud/MigrateOauthTables.php',
|
||||
'OC\\Repair\\Owncloud\\MoveAvatars' => __DIR__ . '/../../..' . '/lib/private/Repair/Owncloud/MoveAvatars.php',
|
||||
'OC\\Repair\\Owncloud\\MoveAvatarsBackgroundJob' => __DIR__ . '/../../..' . '/lib/private/Repair/Owncloud/MoveAvatarsBackgroundJob.php',
|
||||
|
|
|
|||
|
|
@ -27,12 +27,8 @@ namespace OC\App\AppStore\Bundles;
|
|||
use OCP\IL10N;
|
||||
|
||||
class BundleFetcher {
|
||||
/** @var IL10N */
|
||||
private $l10n;
|
||||
private IL10N $l10n;
|
||||
|
||||
/**
|
||||
* @param IL10N $l10n
|
||||
*/
|
||||
public function __construct(IL10N $l10n) {
|
||||
$this->l10n = $l10n;
|
||||
}
|
||||
|
|
@ -40,7 +36,7 @@ class BundleFetcher {
|
|||
/**
|
||||
* @return Bundle[]
|
||||
*/
|
||||
public function getBundles() {
|
||||
public function getBundles(): array {
|
||||
return [
|
||||
new EnterpriseBundle($this->l10n),
|
||||
new HubBundle($this->l10n),
|
||||
|
|
@ -50,17 +46,6 @@ class BundleFetcher {
|
|||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Bundles that should be installed by default after installation
|
||||
*
|
||||
* @return Bundle[]
|
||||
*/
|
||||
public function getDefaultInstallationBundle() {
|
||||
return [
|
||||
new CoreBundle($this->l10n),
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the bundle with the specified identifier
|
||||
*
|
||||
|
|
@ -68,13 +53,8 @@ class BundleFetcher {
|
|||
* @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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,42 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (c) 2017 Lukas Reschke <lukas@statuscode.ch>
|
||||
*
|
||||
* @author Lukas Reschke <lukas@statuscode.ch>
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
namespace OC\App\AppStore\Bundles;
|
||||
|
||||
class CoreBundle extends Bundle {
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public function getName() {
|
||||
return 'Core bundle';
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public function getAppIdentifiers() {
|
||||
return [
|
||||
'bruteforcesettings',
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
@ -40,7 +40,6 @@ use OCP\Collaboration\Resources\IManager;
|
|||
use OCP\EventDispatcher\IEventDispatcher;
|
||||
use OCP\Migration\IOutput;
|
||||
use OCP\Migration\IRepairStep;
|
||||
use OC\App\AppStore\Bundles\BundleFetcher;
|
||||
use OC\Avatar\AvatarManager;
|
||||
use OC\DB\Connection;
|
||||
use OC\DB\ConnectionAdapter;
|
||||
|
|
@ -75,7 +74,6 @@ use OC\Repair\NC24\AddTokenCleanupJob;
|
|||
use OC\Repair\OldGroupMembershipShares;
|
||||
use OC\Repair\Owncloud\CleanPreviews;
|
||||
use OC\Repair\Owncloud\DropAccountTermsTable;
|
||||
use OC\Repair\Owncloud\InstallCoreBundle;
|
||||
use OC\Repair\Owncloud\MigrateOauthTables;
|
||||
use OC\Repair\Owncloud\MoveAvatars;
|
||||
use OC\Repair\Owncloud\SaveAccountsTableData;
|
||||
|
|
@ -193,11 +191,6 @@ class Repair implements IOutput {
|
|||
new MigrateOauthTables(\OC::$server->get(Connection::class)),
|
||||
new FixMountStorages(\OC::$server->getDatabaseConnection()),
|
||||
new UpdateLanguageCodes(\OC::$server->getDatabaseConnection(), \OC::$server->getConfig()),
|
||||
new InstallCoreBundle(
|
||||
\OC::$server->query(BundleFetcher::class),
|
||||
\OC::$server->getConfig(),
|
||||
\OC::$server->query(Installer::class)
|
||||
),
|
||||
new AddLogRotateJob(\OC::$server->getJobList()),
|
||||
new ClearFrontendCaches(\OC::$server->getMemCacheFactory(), \OC::$server->query(JSCombiner::class)),
|
||||
new ClearGeneratedAvatarCache(\OC::$server->getConfig(), \OC::$server->query(AvatarManager::class)),
|
||||
|
|
|
|||
|
|
@ -1,79 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (c) 2017 Lukas Reschke <lukas@statuscode.ch>
|
||||
*
|
||||
* @author Julius Härtl <jus@bitgrid.net>
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
namespace OC\Repair\Owncloud;
|
||||
|
||||
use OC\App\AppStore\Bundles\BundleFetcher;
|
||||
use OC\Installer;
|
||||
use OCP\IConfig;
|
||||
use OCP\Migration\IOutput;
|
||||
use OCP\Migration\IRepairStep;
|
||||
|
||||
class InstallCoreBundle implements IRepairStep {
|
||||
/** @var BundleFetcher */
|
||||
private $bundleFetcher;
|
||||
/** @var IConfig */
|
||||
private $config;
|
||||
/** @var Installer */
|
||||
private $installer;
|
||||
|
||||
/**
|
||||
* @param BundleFetcher $bundleFetcher
|
||||
* @param IConfig $config
|
||||
* @param Installer $installer
|
||||
*/
|
||||
public function __construct(BundleFetcher $bundleFetcher,
|
||||
IConfig $config,
|
||||
Installer $installer) {
|
||||
$this->bundleFetcher = $bundleFetcher;
|
||||
$this->config = $config;
|
||||
$this->installer = $installer;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getName() {
|
||||
return 'Install new core bundle components';
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function run(IOutput $output) {
|
||||
$versionFromBeforeUpdate = $this->config->getSystemValue('version', '0.0.0');
|
||||
|
||||
if (version_compare($versionFromBeforeUpdate, '12.0.0.14', '>')) {
|
||||
return;
|
||||
}
|
||||
|
||||
$defaultBundle = $this->bundleFetcher->getDefaultInstallationBundle();
|
||||
foreach ($defaultBundle as $bundle) {
|
||||
try {
|
||||
$this->installer->installAppBundle($bundle);
|
||||
$output->info('Successfully installed core app bundle.');
|
||||
} catch (\Exception $e) {
|
||||
$output->warning('Could not install core app bundle: ' . $e->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -403,14 +403,6 @@ class Setup {
|
|||
|
||||
// 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
|
||||
|
|
|
|||
|
|
@ -1,142 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (c) 2017 Lukas Reschke <lukas@statuscode.ch>
|
||||
*
|
||||
* @author Lukas Reschke <lukas@statuscode.ch>
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
namespace Test\Repair\Owncloud;
|
||||
|
||||
use OC\App\AppStore\Bundles\Bundle;
|
||||
use OC\App\AppStore\Bundles\BundleFetcher;
|
||||
use OC\Installer;
|
||||
use OC\Repair\Owncloud\InstallCoreBundle;
|
||||
use OCP\IConfig;
|
||||
use OCP\Migration\IOutput;
|
||||
use Test\TestCase;
|
||||
|
||||
class InstallCoreBundleTest extends TestCase {
|
||||
/** @var BundleFetcher|\PHPUnit_Framework_MockObject_MockObject */
|
||||
private $bundleFetcher;
|
||||
/** @var IConfig|\PHPUnit_Framework_MockObject_MockObject */
|
||||
private $config;
|
||||
/** @var Installer|\PHPUnit_Framework_MockObject_MockObject */
|
||||
private $installer;
|
||||
/** @var InstallCoreBundle */
|
||||
private $installCoreBundle;
|
||||
|
||||
public function setUp(): void {
|
||||
parent::setUp();
|
||||
$this->bundleFetcher = $this->createMock(BundleFetcher::class);
|
||||
$this->config = $this->createMock(IConfig::class);
|
||||
$this->installer = $this->createMock(Installer::class);
|
||||
|
||||
$this->installCoreBundle = new InstallCoreBundle(
|
||||
$this->bundleFetcher,
|
||||
$this->config,
|
||||
$this->installer
|
||||
);
|
||||
}
|
||||
|
||||
public function testGetName() {
|
||||
$this->assertSame('Install new core bundle components', $this->installCoreBundle->getName());
|
||||
}
|
||||
|
||||
public function testRunOlder() {
|
||||
$this->config
|
||||
->expects($this->once())
|
||||
->method('getSystemValue')
|
||||
->with('version', '0.0.0')
|
||||
->willReturn('12.0.0.15');
|
||||
$this->bundleFetcher
|
||||
->expects($this->never())
|
||||
->method('getDefaultInstallationBundle');
|
||||
/** @var IOutput|\PHPUnit_Framework_MockObject_MockObject $output */
|
||||
$output = $this->createMock(IOutput::class);
|
||||
$output
|
||||
->expects($this->never())
|
||||
->method('info');
|
||||
$output
|
||||
->expects($this->never())
|
||||
->method('warning');
|
||||
|
||||
$this->installCoreBundle->run($output);
|
||||
}
|
||||
|
||||
public function testRunWithException() {
|
||||
$this->config
|
||||
->expects($this->once())
|
||||
->method('getSystemValue')
|
||||
->with('version', '0.0.0')
|
||||
->willReturn('12.0.0.14');
|
||||
$bundle = $this->createMock(Bundle::class);
|
||||
$this->bundleFetcher
|
||||
->expects($this->once())
|
||||
->method('getDefaultInstallationBundle')
|
||||
->willReturn([
|
||||
$bundle,
|
||||
]);
|
||||
$this->installer
|
||||
->expects($this->once())
|
||||
->method('installAppBundle')
|
||||
->with($bundle)
|
||||
->willThrowException(new \Exception('ExceptionText'));
|
||||
/** @var IOutput|\PHPUnit_Framework_MockObject_MockObject $output */
|
||||
$output = $this->createMock(IOutput::class);
|
||||
$output
|
||||
->expects($this->never())
|
||||
->method('info');
|
||||
$output
|
||||
->expects($this->once())
|
||||
->method('warning')
|
||||
->with('Could not install core app bundle: ExceptionText');
|
||||
|
||||
$this->installCoreBundle->run($output);
|
||||
}
|
||||
|
||||
public function testRun() {
|
||||
$this->config
|
||||
->expects($this->once())
|
||||
->method('getSystemValue')
|
||||
->with('version', '0.0.0')
|
||||
->willReturn('12.0.0.14');
|
||||
$bundle = $this->createMock(Bundle::class);
|
||||
$this->bundleFetcher
|
||||
->expects($this->once())
|
||||
->method('getDefaultInstallationBundle')
|
||||
->willReturn([
|
||||
$bundle,
|
||||
]);
|
||||
$this->installer
|
||||
->expects($this->once())
|
||||
->method('installAppBundle')
|
||||
->with($bundle);
|
||||
/** @var IOutput|\PHPUnit_Framework_MockObject_MockObject $output */
|
||||
$output = $this->createMock(IOutput::class);
|
||||
$output
|
||||
->expects($this->once())
|
||||
->method('info')
|
||||
->with('Successfully installed core app bundle.');
|
||||
$output
|
||||
->expects($this->never())
|
||||
->method('warning');
|
||||
|
||||
$this->installCoreBundle->run($output);
|
||||
}
|
||||
}
|
||||
|
|
@ -22,7 +22,6 @@
|
|||
namespace Test\App\AppStore\Bundles;
|
||||
|
||||
use OC\App\AppStore\Bundles\BundleFetcher;
|
||||
use OC\App\AppStore\Bundles\CoreBundle;
|
||||
use OC\App\AppStore\Bundles\EducationBundle;
|
||||
use OC\App\AppStore\Bundles\EnterpriseBundle;
|
||||
use OC\App\AppStore\Bundles\GroupwareBundle;
|
||||
|
|
@ -58,16 +57,8 @@ class BundleFetcherTest extends TestCase {
|
|||
$this->assertEquals($expected, $this->bundleFetcher->getBundles());
|
||||
}
|
||||
|
||||
public function testGetDefaultInstallationBundle() {
|
||||
$expected = [
|
||||
new CoreBundle($this->l10n),
|
||||
];
|
||||
$this->assertEquals($expected, $this->bundleFetcher->getDefaultInstallationBundle());
|
||||
}
|
||||
|
||||
public function testGetBundleByIdentifier() {
|
||||
$this->assertEquals(new EnterpriseBundle($this->l10n), $this->bundleFetcher->getBundleByIdentifier('EnterpriseBundle'));
|
||||
$this->assertEquals(new CoreBundle($this->l10n), $this->bundleFetcher->getBundleByIdentifier('CoreBundle'));
|
||||
$this->assertEquals(new GroupwareBundle($this->l10n), $this->bundleFetcher->getBundleByIdentifier('GroupwareBundle'));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,36 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (c) 2017 Lukas Reschke <lukas@statuscode.ch>
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
namespace Test\App\AppStore\Bundles;
|
||||
|
||||
use OC\App\AppStore\Bundles\CoreBundle;
|
||||
|
||||
class CoreBundleTest extends BundleBase {
|
||||
protected function setUp(): void {
|
||||
parent::setUp();
|
||||
$this->bundle = new CoreBundle($this->l10n);
|
||||
$this->bundleIdentifier = 'CoreBundle';
|
||||
$this->bundleName = 'Core bundle';
|
||||
$this->bundleAppIds = [
|
||||
'bruteforcesettings',
|
||||
];
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue