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:
blizzz 2022-09-22 17:34:30 +02:00 committed by GitHub
commit ac1c7397a1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 4 additions and 351 deletions

View file

@ -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',

View file

@ -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',

View file

@ -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;
}

View file

@ -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',
];
}
}

View file

@ -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)),

View file

@ -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());
}
}
}
}

View file

@ -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

View file

@ -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);
}
}

View file

@ -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'));
}

View file

@ -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',
];
}
}