Merge pull request #16473 from owncloud/occ_16221
occ option to update all third party apps without disable
This commit is contained in:
commit
896130b68d
2 changed files with 31 additions and 6 deletions
|
@ -70,6 +70,12 @@ class Upgrade extends Command {
|
|||
null,
|
||||
InputOption::VALUE_NONE,
|
||||
'only runs the database schema migration simulation, do not actually update'
|
||||
)
|
||||
->addOption(
|
||||
'--no-app-disable',
|
||||
null,
|
||||
InputOption::VALUE_NONE,
|
||||
'skips the disable of third party apps'
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -83,6 +89,7 @@ class Upgrade extends Command {
|
|||
|
||||
$simulateStepEnabled = true;
|
||||
$updateStepEnabled = true;
|
||||
$skip3rdPartyAppsDisable = false;
|
||||
|
||||
if ($input->getOption('skip-migration-test')) {
|
||||
$simulateStepEnabled = false;
|
||||
|
@ -90,6 +97,9 @@ class Upgrade extends Command {
|
|||
if ($input->getOption('dry-run')) {
|
||||
$updateStepEnabled = false;
|
||||
}
|
||||
if ($input->getOption('no-app-disable')) {
|
||||
$skip3rdPartyAppsDisable = true;
|
||||
}
|
||||
|
||||
if (!$simulateStepEnabled && !$updateStepEnabled) {
|
||||
$output->writeln(
|
||||
|
@ -106,6 +116,7 @@ class Upgrade extends Command {
|
|||
|
||||
$updater->setSimulateStepEnabled($simulateStepEnabled);
|
||||
$updater->setUpdateStepEnabled($updateStepEnabled);
|
||||
$updater->setSkip3rdPartyAppsDisable($skip3rdPartyAppsDisable);
|
||||
|
||||
$updater->listen('\OC\Updater', 'maintenanceStart', function () use($output) {
|
||||
$output->writeln('<info>Turned on maintenance mode</info>');
|
||||
|
@ -127,7 +138,7 @@ class Upgrade extends Command {
|
|||
$updater->listen('\OC\Updater', 'incompatibleAppDisabled', function ($app) use($output) {
|
||||
$output->writeln('<info>Disabled incompatible app: ' . $app . '</info>');
|
||||
});
|
||||
$updater->listen('\OC\Updater', 'thirdPartyAppDisabled', function ($app) use($output) {
|
||||
$updater->listen('\OC\Updater', 'thirdPartyAppDisabled', function ($app) use ($output) {
|
||||
$output->writeln('<info>Disabled 3rd-party app: ' . $app . '</info>');
|
||||
});
|
||||
$updater->listen('\OC\Updater', 'upgradeAppStoreApp', function ($app) use($output) {
|
||||
|
@ -145,7 +156,6 @@ class Upgrade extends Command {
|
|||
$updater->listen('\OC\Updater', 'appUpgrade', function ($app, $version) use ($output) {
|
||||
$output->writeln("<info>Updated <$app> to $version</info>");
|
||||
});
|
||||
|
||||
$updater->listen('\OC\Updater', 'failure', function ($message) use($output, $self) {
|
||||
$output->writeln("<error>$message</error>");
|
||||
$self->upgradeFailed = true;
|
||||
|
|
|
@ -65,6 +65,9 @@ class Updater extends BasicEmitter {
|
|||
/** @var bool */
|
||||
private $updateStepEnabled;
|
||||
|
||||
/** @var bool */
|
||||
private $skip3rdPartyAppsDisable;
|
||||
|
||||
/**
|
||||
* @param HTTPHelper $httpHelper
|
||||
* @param IConfig $config
|
||||
|
@ -99,6 +102,16 @@ class Updater extends BasicEmitter {
|
|||
$this->updateStepEnabled = $flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets whether the update disables 3rd party apps.
|
||||
* This can be set to true to skip the disable.
|
||||
*
|
||||
* @param bool $flag false to not disable, true otherwise
|
||||
*/
|
||||
public function setSkip3rdPartyAppsDisable($flag) {
|
||||
$this->skip3rdPartyAppsDisable = $flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if a new version is available
|
||||
*
|
||||
|
@ -407,10 +420,12 @@ class Updater extends BasicEmitter {
|
|||
continue;
|
||||
}
|
||||
|
||||
// disable any other 3rd party apps
|
||||
\OC_App::disable($app);
|
||||
$disabledApps[]= $app;
|
||||
$this->emit('\OC\Updater', 'thirdPartyAppDisabled', array($app));
|
||||
// disable any other 3rd party apps if not overriden
|
||||
if(!$this->skip3rdPartyAppsDisable) {
|
||||
\OC_App::disable($app);
|
||||
$disabledApps[]= $app;
|
||||
$this->emit('\OC\Updater', 'thirdPartyAppDisabled', array($app));
|
||||
};
|
||||
}
|
||||
return $disabledApps;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue