Fix #1489 : Let errors happen when they occur

This commit is contained in:
Romain Neutron
2013-10-02 18:30:48 +02:00
parent 3564bd064a
commit abae32ca5f
4 changed files with 133 additions and 159 deletions

View File

@@ -33,8 +33,7 @@ use Alchemy\Phrasea\Command\Setup\XSendFileConfigurationDumper;
require_once __DIR__ . '/../lib/autoload.php'; require_once __DIR__ . '/../lib/autoload.php';
try { $cli = new CLI("
$cli = new CLI("
_____ _ _ _____ _____ ______ _ _ ______ _______ _____ _ _ _____ _____ ______ _ _ ______ _______
| __ \| | | | __ \ /\ / ____| ____| /\ | \ | | ____|__ __| | __ \| | | | __ \ /\ / ____| ____| /\ | \ | | ____|__ __|
| |__) | |__| | |__) | / \ | (___ | |__ / \ | \| | |__ | | | |__) | |__| | |__) | / \ | (___ | |__ / \ | \| | |__ | |
@@ -52,60 +51,54 @@ try {
under certain conditions; type `about:license' for details.\n\n" under certain conditions; type `about:license' for details.\n\n"
. ' KONSOLE KOMMANDER', Version::getName() . ' ' . Version::getNumber()); . ' KONSOLE KOMMANDER', Version::getName() . ' ' . Version::getNumber());
if (!$cli['phraseanet.configuration-tester']->isInstalled()) { if (!$cli['phraseanet.configuration-tester']->isInstalled()) {
throw new \RuntimeException('Phraseanet is not installed, use setup command instead'); throw new \RuntimeException('Phraseanet is not installed, use setup command instead');
} }
if (!$cli['phraseanet.configuration-tester']->isUpToDate()) { if (!$cli['phraseanet.configuration-tester']->isUpToDate()) {
throw new \RuntimeException('Phraseanet is not up-to-date, use setup command instead'); throw new \RuntimeException('Phraseanet is not up-to-date, use setup command instead');
}
$cli->command(new \module_console_aboutAuthors('about:authors'));
$cli->command(new \module_console_aboutLicense('about:license'));
$cli->command(new CheckConfig('check:config'));
$cli->command(new \module_console_checkExtension('check:extension'));
$cli->command(new UpgradeDBDatas('system:upgrade-datas'));
$cli->command(new \module_console_sphinxGenerateSuggestion('sphinx:generate-suggestions'));
$cli->command(new \module_console_systemMailCheck('system:mail-check'));
$cli->command(new \module_console_systemBackupDB('system:backup-db'));
$cli->command(new \module_console_systemClearCache('system:clear-cache'));
$cli->command(new \module_console_systemExport('system:export'));
$cli->command(new \module_console_taskrun('task:run'));
$cli->command(new \module_console_tasklist('task:list'));
$cli->command(new \module_console_taskState('task:state'));
$cli->command(new \module_console_schedulerState('scheduler:state'));
$cli->command(new \module_console_schedulerStop('scheduler:stop'));
$cli->command(new \module_console_schedulerStart('scheduler:start'));
$cli->command(new MailTest('mail:test'));
$cli->command(new \module_console_fieldsList('fields:list'));
$cli->command(new \module_console_fieldsDelete('fields:delete'));
$cli->command(new \module_console_fieldsRename('fields:rename'));
$cli->command(new \module_console_fieldsMerge('fields:merge'));
$cli->command(new CreateCollection('collection:create'));
$cli->command(new RecordAdd('records:add'));
$cli->command(new RescanTechnicalDatas('records:rescan-technical-datas'));
$cli->command(new BuildMissingSubdefs('records:build-missing-subdefs'));
$cli->command(new AddPlugin());
$cli->command(new RemovePlugin());
$cli->command(new Configuration());
$cli->command(new XSendFileConfigurationDumper());
$cli->command(new XSendFileMappingGenerator());
$cli->loadPlugins();
$result_code = is_int($cli->run()) ? : 1;
} catch (\Exception $e) {
$result_code = 1;
echo sprintf("\nAn error occured :\n\n\t\033[0;31m%s\033[0;37m\n\n", $e->getMessage());
} }
exit($result_code); $cli->command(new \module_console_aboutAuthors('about:authors'));
$cli->command(new \module_console_aboutLicense('about:license'));
$cli->command(new CheckConfig('check:config'));
$cli->command(new \module_console_checkExtension('check:extension'));
$cli->command(new UpgradeDBDatas('system:upgrade-datas'));
$cli->command(new \module_console_sphinxGenerateSuggestion('sphinx:generate-suggestions'));
$cli->command(new \module_console_systemMailCheck('system:mail-check'));
$cli->command(new \module_console_systemBackupDB('system:backup-db'));
$cli->command(new \module_console_systemClearCache('system:clear-cache'));
$cli->command(new \module_console_systemExport('system:export'));
$cli->command(new \module_console_taskrun('task:run'));
$cli->command(new \module_console_tasklist('task:list'));
$cli->command(new \module_console_taskState('task:state'));
$cli->command(new \module_console_schedulerState('scheduler:state'));
$cli->command(new \module_console_schedulerStop('scheduler:stop'));
$cli->command(new \module_console_schedulerStart('scheduler:start'));
$cli->command(new MailTest('mail:test'));
$cli->command(new \module_console_fieldsList('fields:list'));
$cli->command(new \module_console_fieldsDelete('fields:delete'));
$cli->command(new \module_console_fieldsRename('fields:rename'));
$cli->command(new \module_console_fieldsMerge('fields:merge'));
$cli->command(new CreateCollection('collection:create'));
$cli->command(new RecordAdd('records:add'));
$cli->command(new RescanTechnicalDatas('records:rescan-technical-datas'));
$cli->command(new BuildMissingSubdefs('records:build-missing-subdefs'));
$cli->command(new AddPlugin());
$cli->command(new RemovePlugin());
$cli->command(new Configuration());
$cli->command(new XSendFileConfigurationDumper());
$cli->command(new XSendFileMappingGenerator());
$cli->loadPlugins();
exit(is_int($cli->run()) ? : 1);

View File

@@ -44,8 +44,7 @@ use Doctrine\ORM\Tools\Console\Command\ValidateSchemaCommand;
require_once __DIR__ . '/../lib/autoload.php'; require_once __DIR__ . '/../lib/autoload.php';
try { $cli = new CLI("
$cli = new CLI("
___ ___ _ _ ___ __ __ ___ ___ ___ ____ __ __ __ ___ ___ ___ _ _ ___ __ __ ___ ___ ___ ____ __ __ __ ___
( \( _)( )( )( _)( ) / \( ,\( _)( ,) (_ _)/ \ / \( ) / __) ( \( _)( )( )( _)( ) / \( ,\( _)( ,) (_ _)/ \ / \( ) / __)
) ) )) _) \\// ) _) )(__( () )) _/ ) _) ) \ )( ( () )( () ))(__ \__ \ ) ) )) _) \\// ) _) )(__( () )) _/ ) _) ) \ )( ( () )( () ))(__ \__ \
@@ -57,7 +56,7 @@ try {
under certain conditions; type `about:license' for details.\n\n" under certain conditions; type `about:license' for details.\n\n"
. ' Phraseanet Developer Tools ', Version::getName() . ' ' . Version::getNumber()); . ' Phraseanet Developer Tools ', Version::getName() . ' ' . Version::getNumber());
if ($cli['phraseanet.configuration']->isSetup()) { if ($cli['phraseanet.configuration']->isSetup()) {
$helpers = array( $helpers = array(
'db' => new ConnectionHelper($cli['EM']->getConnection()), 'db' => new ConnectionHelper($cli['EM']->getConnection()),
'em' => new EntityManagerHelper($cli['EM']) 'em' => new EntityManagerHelper($cli['EM'])
@@ -67,20 +66,20 @@ try {
foreach ($helpers as $name => $helper) { foreach ($helpers as $name => $helper) {
$helperSet->set($helper, $name); $helperSet->set($helper, $name);
} }
} }
$cli->command(new InstallAll()); $cli->command(new InstallAll());
$cli->command(new BowerInstall()); $cli->command(new BowerInstall());
$cli->command(new ComposerInstall()); $cli->command(new ComposerInstall());
$cli->command(new RegenerateSqliteDb()); $cli->command(new RegenerateSqliteDb());
$cli->command(new APIRoutesDumper()); $cli->command(new APIRoutesDumper());
$cli->command(new RoutesDumper()); $cli->command(new RoutesDumper());
$cli->command(new Behat()); $cli->command(new Behat());
$cli->command(new LessCompiler()); $cli->command(new LessCompiler());
$cli->command(new JavascriptBuilder()); $cli->command(new JavascriptBuilder());
$cli->command(new \module_console_systemTemplateGenerator('system:generate-templates')); $cli->command(new \module_console_systemTemplateGenerator('system:generate-templates'));
$cli['console']->addCommands(array( $cli['console']->addCommands(array(
// DBAL Commands // DBAL Commands
new RunSqlCommand(), new RunSqlCommand(),
new ImportCommand(), new ImportCommand(),
@@ -99,12 +98,6 @@ try {
new ConvertMappingCommand(), new ConvertMappingCommand(),
new RunDqlCommand(), new RunDqlCommand(),
new ValidateSchemaCommand(), new ValidateSchemaCommand(),
)); ));
$cli->runCLI(); exit($cli->runCLI());
} catch (Exception $e) {
echo "an error occured : " . $e->getMessage();
exit(1);
}
exit(0);

View File

@@ -25,8 +25,7 @@ use Alchemy\Phrasea\Command\Setup\CheckEnvironment;
require_once __DIR__ . '/../vendor/autoload.php'; require_once __DIR__ . '/../vendor/autoload.php';
try { $app = new CLI("
$app = new CLI("
_____ _ _ _____ _____ ______ _ _ ______ _______ _____ _ _ _____ _____ ______ _ _ ______ _______
| __ \| | | | __ \ /\ / ____| ____| /\ | \ | | ____|__ __| | __ \| | | | __ \ /\ / ____| ____| /\ | \ | | ____|__ __|
| |__) | |__| | |__) | / \ | (___ | |__ / \ | \| | |__ | | | |__) | |__| | |__) | / \ | (___ | |__ / \ | \| | |__ | |
@@ -46,29 +45,23 @@ try {
under certain conditions; type `about:license' for details.\n\n" under certain conditions; type `about:license' for details.\n\n"
. ' SETUP', Version::getName() . ' ' . Version::getNumber()); . ' SETUP', Version::getName() . ' ' . Version::getNumber());
$app->command(new \module_console_aboutAuthors('about:authors')); $app->command(new \module_console_aboutAuthors('about:authors'));
$app->command(new \module_console_aboutLicense('about:license')); $app->command(new \module_console_aboutLicense('about:license'));
if( if(
$app['phraseanet.configuration-tester']->isMigrable() $app['phraseanet.configuration-tester']->isMigrable()
|| $app['phraseanet.configuration-tester']->isUpgradable() || $app['phraseanet.configuration-tester']->isUpgradable()
|| $app['phraseanet.configuration-tester']->isInstalled() || $app['phraseanet.configuration-tester']->isInstalled()
) { ) {
$app->command(new \module_console_systemUpgrade('system:upgrade')); $app->command(new \module_console_systemUpgrade('system:upgrade'));
}
if ($app['phraseanet.configuration-tester']->isInstalled()) {
$app->command(new UpgradeDBDatas('system:upgrade-datas'));
}
$app->command(new PluginsReset());
$app->command(new CheckEnvironment('check:system'));
$app->command(new Install('system:install'));
$result_code = is_int($app->run()) ? : 1;
} catch (\Exception $e) {
$result_code = 1;
echo sprintf("\nAn error occured :\n\n\t\033[0;31m%s\033[0;37m\n\n", $e->getMessage());
} }
exit($result_code); if ($app['phraseanet.configuration-tester']->isInstalled()) {
$app->command(new UpgradeDBDatas('system:upgrade-datas'));
}
$app->command(new PluginsReset());
$app->command(new CheckEnvironment('check:system'));
$app->command(new Install('system:install'));
exit(is_int($app->run()) ? : 1);

View File

@@ -64,7 +64,6 @@ class module_console_systemUpgrade extends Command
} }
if ($continue == 'y') { if ($continue == 'y') {
try {
$output->write('<info>Upgrading...</info>', true); $output->write('<info>Upgrading...</info>', true);
if (count(User_Adapter::get_wrong_email_users($this->container)) > 0) { if (count(User_Adapter::get_wrong_email_users($this->container)) > 0) {
@@ -98,10 +97,6 @@ class module_console_systemUpgrade extends Command
$output->writeln(""); $output->writeln("");
$output->writeln(""); $output->writeln("");
} }
} catch (\Exception $e) {
$output->writeln(sprintf('<error>An error occured while upgrading : %s </error>', $e->getMessage()));
}
} else { } else {
$output->write('<info>Canceled</info>', true); $output->write('<info>Canceled</info>', true);
} }