show upgrade errors as error in the console and report back that the upgrade process failed if it did

This commit is contained in:
Thomas Müller 2014-09-22 11:59:13 +02:00
parent b1d0a0f3bf
commit 43c191fffb
1 changed files with 14 additions and 12 deletions

View File

@ -22,6 +22,8 @@ class Upgrade extends Command {
const ERROR_UP_TO_DATE = 3; const ERROR_UP_TO_DATE = 3;
const ERROR_INVALID_ARGUMENTS = 4; const ERROR_INVALID_ARGUMENTS = 4;
public $upgradeFailed = false;
protected function configure() { protected function configure() {
$this $this
->setName('upgrade') ->setName('upgrade')
@ -75,6 +77,7 @@ class Upgrade extends Command {
} }
if(\OC::checkUpgrade(false)) { if(\OC::checkUpgrade(false)) {
$self = $this;
$updater = new Updater(); $updater = new Updater();
$updater->setSimulateStepEnabled($simulateStepEnabled); $updater->setSimulateStepEnabled($simulateStepEnabled);
@ -83,14 +86,13 @@ class Upgrade extends Command {
$updater->listen('\OC\Updater', 'maintenanceStart', function () use($output) { $updater->listen('\OC\Updater', 'maintenanceStart', function () use($output) {
$output->writeln('<info>Turned on maintenance mode</info>'); $output->writeln('<info>Turned on maintenance mode</info>');
}); });
$updater->listen('\OC\Updater', 'maintenanceEnd', function () use($output, $updateStepEnabled) { $updater->listen('\OC\Updater', 'maintenanceEnd',
function () use($output, $updateStepEnabled, $self) {
$output->writeln('<info>Turned off maintenance mode</info>'); $output->writeln('<info>Turned off maintenance mode</info>');
if (!$updateStepEnabled) { $mode = $updateStepEnabled ? 'Update' : 'Update simulation';
$output->writeln('<info>Update simulation successful</info>'); $status = $self->upgradeFailed ? 'failed' : 'successful';
} $message = "<info>$mode $status</info>";
else { $output->writeln($message);
$output->writeln('<info>Update successful</info>');
}
}); });
$updater->listen('\OC\Updater', 'dbUpgrade', function () use($output) { $updater->listen('\OC\Updater', 'dbUpgrade', function () use($output) {
$output->writeln('<info>Updated database</info>'); $output->writeln('<info>Updated database</info>');
@ -102,9 +104,9 @@ class Upgrade extends Command {
$output->writeln('<info>Disabled incompatible apps: ' . implode(', ', $appList) . '</info>'); $output->writeln('<info>Disabled incompatible apps: ' . implode(', ', $appList) . '</info>');
}); });
$updater->listen('\OC\Updater', 'failure', function ($message) use($output) { $updater->listen('\OC\Updater', 'failure', function ($message) use($output, $self) {
$output->writeln($message); $output->writeln("<error>$message</error>");
\OC_Config::setValue('maintenance', false); $self->upgradeFailed = true;
}); });
$updater->upgrade(); $updater->upgrade();