diff --git a/PHPCI/Builder.php b/PHPCI/Builder.php
index 69e23ff1..55f75634 100644
--- a/PHPCI/Builder.php
+++ b/PHPCI/Builder.php
@@ -10,6 +10,7 @@
namespace PHPCI;
use PHPCI\Helper\BuildInterpolator;
+use PHPCI\Helper\Lang;
use PHPCI\Helper\MailerFactory;
use PHPCI\Logging\BuildLogger;
use PHPCI\Model\Build;
@@ -135,7 +136,7 @@ class Builder implements LoggerAwareInterface
public function setConfigArray($config)
{
if (is_null($config) || !is_array($config)) {
- throw new \Exception('This project does not contain a phpci.yml file, or it is empty.');
+ throw new \Exception(Lang::get('missing_phpci_yml'));
}
$this->config = $config;
@@ -209,14 +210,14 @@ class Builder implements LoggerAwareInterface
if ($success) {
$this->pluginExecutor->executePlugins($this->config, 'success');
- $this->buildLogger->logSuccess('BUILD SUCCESSFUL!');
+ $this->buildLogger->logSuccess(Lang::get('build_success'));
} else {
$this->pluginExecutor->executePlugins($this->config, 'failure');
- $this->buildLogger->logFailure("BUILD FAILURE");
+ $this->buildLogger->logFailure(Lang::get('build_failed'));
}
// Clean up:
- $this->buildLogger->log('Removing build.');
+ $this->buildLogger->log(Lang::get('removing_build'));
$cmd = 'rm -Rf "%s"';
if (IS_WIN) {
@@ -225,7 +226,7 @@ class Builder implements LoggerAwareInterface
$this->executeCommand($cmd, $this->buildPath);
} catch (\Exception $ex) {
$this->build->setStatus(Build::STATUS_FAILED);
- $this->buildLogger->logFailure('Exception: ' . $ex->getMessage());
+ $this->buildLogger->logFailure(Lang::get('exception') . $ex->getMessage());
}
@@ -293,7 +294,7 @@ class Builder implements LoggerAwareInterface
// Create a working copy of the project:
if (!$this->build->createWorkingCopy($this, $this->buildPath)) {
- throw new \Exception('Could not create a working copy.');
+ throw new \Exception(Lang::get('could_not_create_working'));
}
// Does the project's phpci.yml request verbose mode?
@@ -306,7 +307,7 @@ class Builder implements LoggerAwareInterface
$this->ignore = $this->config['build_settings']['ignore'];
}
- $this->buildLogger->logSuccess('Working copy created: ' . $this->buildPath);
+ $this->buildLogger->logSuccess(Lang::get('working_copy_created', $this->buildPath));
return true;
}
diff --git a/PHPCI/Command/CreateAdminCommand.php b/PHPCI/Command/CreateAdminCommand.php
index fc40c307..81f23c72 100644
--- a/PHPCI/Command/CreateAdminCommand.php
+++ b/PHPCI/Command/CreateAdminCommand.php
@@ -9,6 +9,7 @@
namespace PHPCI\Command;
+use PHPCI\Helper\Lang;
use PHPCI\Service\UserService;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputArgument;
@@ -30,7 +31,7 @@ class CreateAdminCommand extends Command
{
$this
->setName('phpci:create-admin')
- ->setDescription('Create an admin user');
+ ->setDescription(Lang::get('create_admin_user'));
}
/**
@@ -44,20 +45,20 @@ class CreateAdminCommand extends Command
require(PHPCI_DIR . 'bootstrap.php');
// Try to create a user account:
- $adminEmail = $this->ask('Admin email address: ', true, FILTER_VALIDATE_EMAIL);
+ $adminEmail = $this->ask(Lang::get('enter_email'), true, FILTER_VALIDATE_EMAIL);
if (empty($adminEmail)) {
return;
}
- $adminPass = $this->ask('Admin password: ');
- $adminName = $this->ask('Admin name: ');
+ $adminPass = $this->ask(Lang::get('enter_pass'));
+ $adminName = $this->ask(Lang::get('enter_name'));
try {
$userService->createUser($adminName, $adminEmail, $adminPass, 1);
- print 'User account created!' . PHP_EOL;
+ print Lang::get('user_created') . PHP_EOL;
} catch (\Exception $ex) {
- print 'There was a problem creating your account. :(' . PHP_EOL;
+ print Lang::get('failed_to_create') . PHP_EOL;
print $ex->getMessage();
print PHP_EOL;
}
@@ -108,13 +109,13 @@ class CreateAdminCommand extends Command
switch ($filter)
{
case FILTER_VALIDATE_URL:
- $statusMessage = 'Incorrect url format.' . PHP_EOL;
+ $statusMessage = Lang::get('must_be_valid_url') . PHP_EOL;
break;
case FILTER_VALIDATE_EMAIL:
- $statusMessage = 'Incorrect e-mail format.' . PHP_EOL;
+ $statusMessage = Lang::get('must_be_valid_email') . PHP_EOL;
break;
case FILTER_VALIDATE_REGEXP:
- $statusMessage = 'Incorrect format.' . PHP_EOL;
+ $statusMessage = Lang::get('incorrect_format') . PHP_EOL;
break;
}
}
diff --git a/PHPCI/Command/PollCommand.php b/PHPCI/Command/PollCommand.php
index f108a35b..07b628b8 100644
--- a/PHPCI/Command/PollCommand.php
+++ b/PHPCI/Command/PollCommand.php
@@ -12,6 +12,7 @@ namespace PHPCI\Command;
use b8\Store\Factory;
use b8\HttpClient;
use Monolog\Logger;
+use PHPCI\Helper\Lang;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
@@ -43,7 +44,7 @@ class PollCommand extends Command
{
$this
->setName('phpci:poll-github')
- ->setDescription('Poll github to check if we need to start a build.');
+ ->setDescription(Lang::get('poll_github'));
}
/**
@@ -58,16 +59,16 @@ class PollCommand extends Command
$token = $this->settings['phpci']['github']['token'];
if (!$token) {
- $this->logger->error("No github token found");
+ $this->logger->error(Lang::get('no_token'));
exit();
}
$buildStore = Factory::getStore('Build');
- $this->logger->addInfo("Finding projects to poll");
+ $this->logger->addInfo(Lang::get('finding_projects'));
$projectStore = Factory::getStore('Project');
$result = $projectStore->getWhere();
- $this->logger->addInfo(sprintf("Found %d projects", count($result['items'])));
+ $this->logger->addInfo(Lang::get('found_n_projects', count($result['items'])));
foreach ($result['items'] as $project) {
$http = new HttpClient('https://api.github.com');
@@ -77,11 +78,11 @@ class PollCommand extends Command
$last_committer = $commits['body'][0]['commit']['committer']['email'];
$message = $commits['body'][0]['commit']['message'];
- $this->logger->info("Last commit to github for " . $project->getTitle() . " is " . $last_commit);
+ $this->logger->info(Lang::get('last_commit_is', $project->getTitle(), $last_commit));
if ($project->getLastCommit() != $last_commit && $last_commit != "") {
$this->logger->info(
- "Last commit is different from database, adding new build for " . $project->getTitle()
+ Lang::get('adding_new_build')
);
$build = new Build();
@@ -101,6 +102,6 @@ class PollCommand extends Command
}
}
- $this->logger->addInfo("Finished processing builds");
+ $this->logger->addInfo(Lang::get('finished_processing_builds'));
}
}
diff --git a/PHPCI/Command/RunCommand.php b/PHPCI/Command/RunCommand.php
index b384100d..e0f37b6b 100644
--- a/PHPCI/Command/RunCommand.php
+++ b/PHPCI/Command/RunCommand.php
@@ -11,6 +11,7 @@ namespace PHPCI\Command;
use b8\Config;
use Monolog\Logger;
+use PHPCI\Helper\Lang;
use PHPCI\Logging\BuildDBLogHandler;
use PHPCI\Logging\LoggedBuildContextTidier;
use PHPCI\Logging\OutputLogHandler;
@@ -67,7 +68,7 @@ class RunCommand extends Command
{
$this
->setName('phpci:run-builds')
- ->setDescription('Run all pending PHPCI builds.');
+ ->setDescription(Lang::get('run_all_pending'));
}
/**
@@ -88,10 +89,10 @@ class RunCommand extends Command
$running = $this->validateRunningBuilds();
$this->logger->pushProcessor(new LoggedBuildContextTidier());
- $this->logger->addInfo("Finding builds to process");
+ $this->logger->addInfo(Lang::get('finding_builds'));
$store = Factory::getStore('Build');
$result = $store->getByStatus(0, $this->maxBuilds);
- $this->logger->addInfo(sprintf("Found %d builds", count($result['items'])));
+ $this->logger->addInfo(Lang::get('found_n_builds', count($result['items'])));
$builds = 0;
@@ -101,7 +102,7 @@ class RunCommand extends Command
// Skip build (for now) if there's already a build running in that project:
if (!$this->isFromDaemon && in_array($build->getProjectId(), $running)) {
- $this->logger->addInfo('Skipping Build #'.$build->getId() . ' - Project build already in progress.');
+ $this->logger->addInfo(Lang::get('skipping_build', $build->getId()));
$result['items'][] = $build;
// Re-run build validator:
@@ -132,7 +133,7 @@ class RunCommand extends Command
}
- $this->logger->addInfo("Finished processing builds");
+ $this->logger->addInfo(Lang::get('finished_processing_builds'));
return $builds;
}
@@ -164,7 +165,7 @@ class RunCommand extends Command
$start = $build->getStarted()->getTimestamp();
if (($now - $start) > $timeout) {
- $this->logger->addInfo('Build #'.$build->getId().' marked as failed due to timeout.');
+ $this->logger->addInfo(Lang::get('marked_as_failed', $build->getId()));
$build->setStatus(Build::STATUS_FAILED);
$build->setFinished(new \DateTime());
$store->save($build);
diff --git a/PHPCI/Helper/BaseCommandExecutor.php b/PHPCI/Helper/BaseCommandExecutor.php
index b1cdbc26..47ff0220 100644
--- a/PHPCI/Helper/BaseCommandExecutor.php
+++ b/PHPCI/Helper/BaseCommandExecutor.php
@@ -11,6 +11,7 @@ namespace PHPCI\Helper;
use \PHPCI\Logging\BuildLogger;
use Psr\Log\LogLevel;
+use PHPCI\Helper\Lang;
abstract class BaseCommandExecutor implements CommandExecutor
{
@@ -154,29 +155,30 @@ abstract class BaseCommandExecutor implements CommandExecutor
}
foreach ($binary as $bin) {
- $this->logger->log("Looking for binary: " . $bin, LogLevel::DEBUG);
+ $this->logger->log(Lang::get('looking_for_binary', $bin), LogLevel::DEBUG);
if (is_dir($composerBin) && is_file($composerBin.'/'.$bin)) {
- $this->logger->log("Found in ".$composerBin.": " . $bin, LogLevel::DEBUG);
+
+ $this->logger->log(Lang::get('found_in_path', $composerBin, $bin), LogLevel::DEBUG);
$binaryPath = $composerBin . '/' . $bin;
break;
}
if (is_file($this->rootDir . $bin)) {
- $this->logger->log("Found in root: " . $bin, LogLevel::DEBUG);
+ $this->logger->log(Lang::get('found_in_path', 'root', $bin), LogLevel::DEBUG);
$binaryPath = $this->rootDir . $bin;
break;
}
if (is_file($this->rootDir . 'vendor/bin/' . $bin)) {
- $this->logger->log("Found in vendor/bin: " . $bin, LogLevel::DEBUG);
+ $this->logger->log(Lang::get('found_in_path', 'vendor/bin', $bin), LogLevel::DEBUG);
$binaryPath = $this->rootDir . 'vendor/bin/' . $bin;
break;
}
$findCmdResult = $this->findGlobalBinary($bin);
if (is_file($findCmdResult)) {
- $this->logger->log("Found in " . $findCmdResult, LogLevel::DEBUG);
+ $this->logger->log(Lang::get('found_in_path', '', $bin), LogLevel::DEBUG);
$binaryPath = $findCmdResult;
break;
}
diff --git a/PHPCI/Languages/lang.en-gb.php b/PHPCI/Languages/lang.en-gb.php
index ab04ed07..30aa720f 100644
--- a/PHPCI/Languages/lang.en-gb.php
+++ b/PHPCI/Languages/lang.en-gb.php
@@ -315,4 +315,66 @@ PHPCI',
'updating_phpci' => 'Updating PHPCI database: ',
'not_installed' => 'PHPCI does not appear to be installed.',
'install_instead' => 'Please install PHPCI via phpci:install instead.',
+
+ // Poll Command
+ 'poll_github' => 'Poll github to check if we need to start a build.',
+ 'no_token' => 'No github token found',
+ 'finding_projects' => 'Finding projects to poll',
+ 'found_n_projects' => 'Found %d projects',
+ 'last_commit_is' => 'Last commit to github for %s is %s',
+ 'adding_new_build' => 'Last commit is different to database, adding new build.',
+ 'finished_processing_builds' => 'Finished processing builds.',
+
+ // Create Admin
+ 'create_admin_user' => 'Create an admin user',
+ 'incorrect_format' => 'Incorrect format',
+
+ // Run Command
+ 'run_all_pending' => 'Run all pending PHPCI builds.',
+ 'finding_builds' => 'Finding builds to process',
+ 'found_n_builds' => 'Found %d builds',
+ 'skipping_build' => 'Skipping Build %d - Project build already in progress.',
+ 'marked_as_failed' => 'Build %d marked as failed due to timeout.',
+
+ // Builder
+ 'missing_phpci_yml' => 'This project does not contain a phpci.yml file, or it is empty.',
+ 'build_success' => 'BUILD SUCCESS',
+ 'build_failed' => 'BUILD FAILED',
+ 'removing_build' => 'Removing Build.',
+ 'exception' => 'Exception: ',
+ 'could_not_create_working' => 'Could not create a working copy.',
+ 'working_copy_created' => 'Working copy created: %s',
+ 'looking_for_binary' => 'Looking for binary: %s',
+ 'found_in_path' => 'Found in %s: %s',
+ 'running_plugin' => 'RUNNING PLUGIN: %s',
+ 'plugin_success' => 'PLUGIN: SUCCESS',
+ 'plugin_failed' => 'PLUGIN: FAILED',
+ 'plugin_missing' => 'Plugin does not exist: %s',
+ 'tap_version' => 'TapParser only supports TAP version 13',
+ 'tap_error' => 'Invalid TAP string, number of tests does not match specified test count.',
+
+ // Build Plugins:
+ 'no_tests_performed' => 'No tests have been performed.',
+ 'could_not_find' => 'Could not find %s',
+ 'no_campfire_settings' => 'No connection parameters given for Campfire plugin',
+ 'failed_to_wipe' => 'Failed to wipe existing directory %s before copy',
+ 'passing_build' => 'Passing Build',
+ 'failing_build' => 'Failing Build',
+ 'log_output' => 'Log Output: ',
+ 'n_emails_sent' => '%d emails sent.',
+ 'n_emails_failed' => '%d emails failed to send.',
+ 'unable_to_set_env' => 'Unable to set environment variable',
+ 'tag_created' => 'Tag created by PHPCI: %s',
+ 'x_built_at_x' => '%PROJECT_TITLE% built at %BUILD_URI%',
+ 'hipchat_settings' => 'Please define room and authToken for hipchat_notify plugin',
+ 'irc_settings' => 'You must configure a server, room and nick.',
+ 'invalid_command' => 'Invalid command',
+ 'import_file_key' => 'Import statement must contain a \'file\' key',
+ 'cannot_open_import' => 'Cannot open SQL import file: %s',
+ 'unable_to_execute' => 'Unable to execute SQL file',
+ 'phar_internal_error' => 'Phar Plugin Internal Error',
+ 'build_file_missing' => 'Specified build file does not exist.',
+ 'property_file_missing' => 'Specified property file does not exist.',
+ 'could_not_process_report' => 'Could not process the report generated by this tool.',
+ 'shell_not_enabled' => 'The shell plugin is not enabled. Please enable it via config.yml.'
);
diff --git a/PHPCI/Plugin/Atoum.php b/PHPCI/Plugin/Atoum.php
index 4bbdb27b..2b9aa4a4 100644
--- a/PHPCI/Plugin/Atoum.php
+++ b/PHPCI/Plugin/Atoum.php
@@ -67,7 +67,7 @@ class Atoum implements \PHPCI\Plugin
}
if (count($output) == 0) {
$status = false;
- $this->phpci->log("No test have been performed!");
+ $this->phpci->log(Lang::get('no_tests_performed'));
}
return $status;
diff --git a/PHPCI/Plugin/Behat.php b/PHPCI/Plugin/Behat.php
index f6334d05..b08d47b0 100644
--- a/PHPCI/Plugin/Behat.php
+++ b/PHPCI/Plugin/Behat.php
@@ -10,6 +10,7 @@
namespace PHPCI\Plugin;
use PHPCI\Builder;
+use PHPCI\Helper\Lang;
use PHPCI\Model\Build;
/**
@@ -52,7 +53,7 @@ class Behat implements \PHPCI\Plugin
$behat = $this->executable;
if (!$behat) {
- $this->phpci->logFailure('Could not find behat.');
+ $this->phpci->logFailure(Lang::get('could_not_find', 'behat'));
return false;
}
diff --git a/PHPCI/Plugin/Campfire.php b/PHPCI/Plugin/Campfire.php
index d4506a07..da3d9e82 100644
--- a/PHPCI/Plugin/Campfire.php
+++ b/PHPCI/Plugin/Campfire.php
@@ -10,6 +10,7 @@
namespace PHPCI\Plugin;
use PHPCI\Builder;
+use PHPCI\Helper\Lang;
use PHPCI\Model\Build;
/**
@@ -44,7 +45,7 @@ class Campfire implements \PHPCI\Plugin
$this->authToken = $campfire['authToken'];
$this->roomId = $campfire['roomId'];
} else {
- throw new \Exception("No connection parameters given for Campfire plugin");
+ throw new \Exception(Lang::get('no_campfire_settings'));
}
}
diff --git a/PHPCI/Plugin/Codeception.php b/PHPCI/Plugin/Codeception.php
index e29b81a2..604ad37a 100644
--- a/PHPCI/Plugin/Codeception.php
+++ b/PHPCI/Plugin/Codeception.php
@@ -10,6 +10,7 @@
namespace PHPCI\Plugin;
use PHPCI\Builder;
+use PHPCI\Helper\Lang;
use PHPCI\Model\Build;
/**
@@ -74,7 +75,7 @@ class Codeception implements \PHPCI\Plugin
$codecept = $this->phpci->findBinary('codecept');
if (!$codecept) {
- $this->phpci->logFailure('Could not find codeception.');
+ $this->phpci->logFailure(Lang::get('could_not_find', 'codecept'));
return false;
}
diff --git a/PHPCI/Plugin/Composer.php b/PHPCI/Plugin/Composer.php
index dbea469c..c1b651c7 100644
--- a/PHPCI/Plugin/Composer.php
+++ b/PHPCI/Plugin/Composer.php
@@ -12,6 +12,7 @@ namespace PHPCI\Plugin;
use PHPCI;
use PHPCI\Builder;
use PHPCI\Model\Build;
+use PHPCI\Helper\Lang;
/**
* Composer Plugin - Provides access to Composer functionality.
@@ -68,7 +69,7 @@ class Composer implements PHPCI\Plugin, PHPCI\ZeroConfigPlugin
$composerLocation = $this->phpci->findBinary(array('composer', 'composer.phar'));
if (!$composerLocation) {
- $this->phpci->logFailure('Could not find Composer.');
+ $this->phpci->logFailure(Lang::get('could_not_find', 'composer'));
return false;
}
diff --git a/PHPCI/Plugin/CopyBuild.php b/PHPCI/Plugin/CopyBuild.php
index 9be32395..c333094f 100644
--- a/PHPCI/Plugin/CopyBuild.php
+++ b/PHPCI/Plugin/CopyBuild.php
@@ -11,6 +11,7 @@ namespace PHPCI\Plugin;
use PHPCI\Builder;
use PHPCI\Model\Build;
+use PHPCI\Helper\Lang;
/**
* Copy Build Plugin - Copies the entire build to another directory.
@@ -66,8 +67,9 @@ class CopyBuild implements \PHPCI\Plugin
if ($this->wipe == true && $this->directory != '/' && is_dir($this->directory)) {
$cmd = 'rm -Rf "%s*"';
$success = $this->phpci->executeCommand($cmd, $this->directory);
+
if (!$success) {
- throw new \Exception('Failed to wipe existing directory ' . $this->directory . ' before copy');
+ throw new \Exception(Lang::get('failed_to_wipe', $this->directory));
}
}
}
diff --git a/PHPCI/Plugin/Email.php b/PHPCI/Plugin/Email.php
index 70fca197..c432ea2f 100644
--- a/PHPCI/Plugin/Email.php
+++ b/PHPCI/Plugin/Email.php
@@ -11,6 +11,7 @@ namespace PHPCI\Plugin;
use b8\View;
use PHPCI\Builder;
+use PHPCI\Helper\Lang;
use PHPCI\Model\Build;
/**
@@ -80,8 +81,8 @@ class Email implements \PHPCI\Plugin
if ($this->build->isSuccessful()) {
$sendFailures = $this->sendSeparateEmails(
$addresses,
- sprintf($subjectTemplate, $projectName, "Passing Build"),
- sprintf("Log Output:
%s", $logText) + sprintf($subjectTemplate, $projectName, Lang::get('passing_build')), + sprintf(Lang::get('log_output')."
%s", $logText) ); } else { $view = new View('Email/failed'); @@ -92,14 +93,15 @@ class Email implements \PHPCI\Plugin $sendFailures = $this->sendSeparateEmails( $addresses, - sprintf($subjectTemplate, $projectName, "Failing Build"), + sprintf($subjectTemplate, $projectName, Lang::get('failing_build')), $emailHtml ); } // This is a success if we've not failed to send anything. - $this->phpci->log(sprintf("%d emails sent", (count($addresses) - count($sendFailures)))); - $this->phpci->log(sprintf("%d emails failed to send", count($sendFailures))); + + $this->phpci->log(Lang::get('n_emails_sent', (count($addresses) - count($sendFailures)))); + $this->phpci->log(Lang::get('n_emails_failed', count($sendFailures))); return (count($sendFailures) == 0); } diff --git a/PHPCI/Plugin/Env.php b/PHPCI/Plugin/Env.php index bb65f51f..75a0cd66 100644 --- a/PHPCI/Plugin/Env.php +++ b/PHPCI/Plugin/Env.php @@ -10,6 +10,7 @@ namespace PHPCI\Plugin; use PHPCI\Builder; +use PHPCI\Helper\Lang; use PHPCI\Model\Build; /** @@ -48,7 +49,7 @@ class Env implements \PHPCI\Plugin if (!putenv($this->phpci->interpolate($env_var))) { $success = false; - $this->phpci->logFailure("Unable to set environment variable"); + $this->phpci->logFailure(Lang::get('unable_to_set_env')); } } return $success; diff --git a/PHPCI/Plugin/Git.php b/PHPCI/Plugin/Git.php index 4fe6f530..fce452ee 100644 --- a/PHPCI/Plugin/Git.php +++ b/PHPCI/Plugin/Git.php @@ -10,6 +10,7 @@ namespace PHPCI\Plugin; use PHPCI\Builder; +use PHPCI\Helper\Lang; use PHPCI\Model\Build; /** @@ -89,7 +90,7 @@ class Git implements \PHPCI\Plugin protected function runTagAction($options) { $tagName = date('Ymd-His'); - $message = 'Tag created by PHPCI: ' . date('Y-m-d H:i:s'); + $message = Lang::get('tag_created', date('Y-m-d H:i:s')); if (array_key_exists('name', $options)) { $tagName = $this->phpci->interpolate($options['name']); diff --git a/PHPCI/Plugin/HipchatNotify.php b/PHPCI/Plugin/HipchatNotify.php index 10d804ef..6c172c8a 100644 --- a/PHPCI/Plugin/HipchatNotify.php +++ b/PHPCI/Plugin/HipchatNotify.php @@ -10,6 +10,7 @@ namespace PHPCI\Plugin; use PHPCI\Builder; +use PHPCI\Helper\Lang; use PHPCI\Model\Build; /** @@ -41,7 +42,7 @@ class HipchatNotify implements \PHPCI\Plugin if (isset($options['message'])) { $this->message = $options['message']; } else { - $this->message = '%PROJECT_TITLE% built at %BUILD_URI%'; + $this->message = Lang::get('x_built_at_x'); } if (isset($options['color'])) { @@ -56,7 +57,7 @@ class HipchatNotify implements \PHPCI\Plugin $this->notify = false; } } else { - throw new \Exception('Please define room and authToken for hipchat_notify plugin!'); + throw new \Exception(Lang::get('hipchat_settings')); } } diff --git a/PHPCI/Plugin/Irc.php b/PHPCI/Plugin/Irc.php index cdc72491..92a5f90d 100644 --- a/PHPCI/Plugin/Irc.php +++ b/PHPCI/Plugin/Irc.php @@ -10,6 +10,7 @@ namespace PHPCI\Plugin; use PHPCI\Builder; +use PHPCI\Helper\Lang; use PHPCI\Model\Build; /** @@ -52,7 +53,7 @@ class Irc implements \PHPCI\Plugin $msg = $this->phpci->interpolate($this->message); if (empty($this->server) || empty($this->room) || empty($this->nick)) { - $this->phpci->logFailure('You must configure a server, room and nick.'); + $this->phpci->logFailure(Lang::get('irc_settings')); } if (empty($this->port)) { diff --git a/PHPCI/Plugin/Mysql.php b/PHPCI/Plugin/Mysql.php index 94257896..5c36a09f 100755 --- a/PHPCI/Plugin/Mysql.php +++ b/PHPCI/Plugin/Mysql.php @@ -11,6 +11,7 @@ namespace PHPCI\Plugin; use PDO; use PHPCI\Builder; +use PHPCI\Helper\Lang; use PHPCI\Model\Build; /** @@ -107,7 +108,7 @@ class Mysql implements \PHPCI\Plugin // SQL file execution $this->executeFile($query['import']); } else { - throw new \Exception("Invalid command"); + throw new \Exception(Lang::get('invalid_command')); } } } catch (\Exception $ex) { @@ -125,19 +126,19 @@ class Mysql implements \PHPCI\Plugin protected function executeFile($query) { if (!isset($query['file'])) { - throw new \Exception("Import statement must contain a 'file' key"); + throw new \Exception(Lang::get('import_file_key')); } $import_file = $this->phpci->buildPath . $this->phpci->interpolate($query['file']); if (!is_readable($import_file)) { - throw new \Exception("Cannot open SQL import file: $import_file"); + throw new \Exception(Lang::get('cannot_open_import', $import_file)); } $database = isset($query['database']) ? $this->phpci->interpolate($query['database']) : null; $import_command = $this->getImportCommand($import_file, $database); if (!$this->phpci->executeCommand($import_command)) { - throw new \Exception("Unable to execute SQL file"); + throw new \Exception(Lang::get('unable_to_execute')); } return true; diff --git a/PHPCI/Plugin/Pdepend.php b/PHPCI/Plugin/Pdepend.php index 54bffd5e..579b54c0 100644 --- a/PHPCI/Plugin/Pdepend.php +++ b/PHPCI/Plugin/Pdepend.php @@ -10,6 +10,7 @@ namespace PHPCI\Plugin; use PHPCI\Builder; +use PHPCI\Helper\Lang; use PHPCI\Model\Build; /** @@ -73,7 +74,7 @@ class Pdepend implements \PHPCI\Plugin $pdepend = $this->phpci->findBinary('pdepend'); if (!$pdepend) { - $this->phpci->logFailure('Could not find pdepend.'); + $this->phpci->logFailure(Lang::get('could_not_find', 'pdepend')); return false; } @@ -110,11 +111,8 @@ class Pdepend implements \PHPCI\Plugin $config['url'] . '/build/pdepend/' . $this->pyramid ) ); - } else { - $this->phpci->logFailure(sprintf("The function '%s' failed")); } - return $success; } diff --git a/PHPCI/Plugin/Phar.php b/PHPCI/Plugin/Phar.php index 03415007..9a6b9c69 100644 --- a/PHPCI/Plugin/Phar.php +++ b/PHPCI/Plugin/Phar.php @@ -3,6 +3,7 @@ namespace PHPCI\Plugin; use Exception; use PHPCI\Builder; +use PHPCI\Helper\Lang; use PHPCI\Model\Build; use Phar as PHPPhar; @@ -231,7 +232,7 @@ class Phar implements \PHPCI\Plugin $success = true; } catch (Exception $e) { - $this->getPHPCI()->log('Phar Plugin Internal Error'); + $this->getPHPCI()->log(Lang::get('phar_internal_error')); $this->getPHPCI()->log($e->getMessage()); } diff --git a/PHPCI/Plugin/Phing.php b/PHPCI/Plugin/Phing.php index 21f7a972..5c0f334b 100644 --- a/PHPCI/Plugin/Phing.php +++ b/PHPCI/Plugin/Phing.php @@ -10,6 +10,7 @@ namespace PHPCI\Plugin; use PHPCI\Builder; +use PHPCI\Helper\Lang; use PHPCI\Model\Build; /** @@ -75,7 +76,7 @@ class Phing implements \PHPCI\Plugin $phingExecutable = $this->phpci->findBinary('phing'); if (!$phingExecutable) { - $this->phpci->logFailure('Could not find Phing executable.'); + $this->phpci->logFailure(Lang::get('could_not_find', 'phing')); return false; } @@ -174,7 +175,7 @@ class Phing implements \PHPCI\Plugin public function setBuildFile($buildFile) { if (!file_exists($this->getDirectory() . $buildFile)) { - throw new \Exception('Specified build file does not exists.'); + throw new \Exception(Lang::get('build_file_missing')); } $this->buildFile = $buildFile; @@ -242,7 +243,7 @@ class Phing implements \PHPCI\Plugin public function setPropertyFile($propertyFile) { if (!file_exists($this->getDirectory() . '/' . $propertyFile)) { - throw new \Exception('Specified property file does not exists.'); + throw new \Exception(Lang::get('property_file_missing')); } $this->propertyFile = $propertyFile; diff --git a/PHPCI/Plugin/PhpCodeSniffer.php b/PHPCI/Plugin/PhpCodeSniffer.php index 37778e8a..984b22e1 100755 --- a/PHPCI/Plugin/PhpCodeSniffer.php +++ b/PHPCI/Plugin/PhpCodeSniffer.php @@ -139,7 +139,7 @@ class PhpCodeSniffer implements PHPCI\Plugin, PHPCI\ZeroConfigPlugin $phpcs = $this->phpci->findBinary('phpcs'); if (!$phpcs) { - $this->phpci->logFailure('Could not find phpcs.'); + $this->phpci->logFailure(PHPCI\Helper\Lang::get('could_not_find', 'phpcs')); return false; } @@ -204,7 +204,7 @@ class PhpCodeSniffer implements PHPCI\Plugin, PHPCI\ZeroConfigPlugin if (!is_array($data)) { $this->phpci->log($output); - throw new \Exception('Could not process PHPCS report JSON.'); + throw new \Exception(PHPCI\Helper\Lang::get('could_not_process_report')); } $errors = $data['totals']['errors']; diff --git a/PHPCI/Plugin/PhpCpd.php b/PHPCI/Plugin/PhpCpd.php index 18fb5f86..3b6ec962 100644 --- a/PHPCI/Plugin/PhpCpd.php +++ b/PHPCI/Plugin/PhpCpd.php @@ -10,6 +10,7 @@ namespace PHPCI\Plugin; use PHPCI\Builder; +use PHPCI\Helper\Lang; use PHPCI\Model\Build; /** @@ -84,7 +85,7 @@ class PhpCpd implements \PHPCI\Plugin $phpcpd = $this->phpci->findBinary('phpcpd'); if (!$phpcpd) { - $this->phpci->logFailure('Could not find phpcpd.'); + $this->phpci->logFailure(Lang::get('could_not_find', 'phpcpd')); return false; } @@ -110,7 +111,7 @@ class PhpCpd implements \PHPCI\Plugin if ($xml === false) { $this->phpci->log($xmlString); - throw new \Exception('Could not process PHPCPD report XML.'); + throw new \Exception(Lang::get('could_not_process_report')); } $warnings = 0; diff --git a/PHPCI/Plugin/PhpCsFixer.php b/PHPCI/Plugin/PhpCsFixer.php index 1d2f6afe..a665f950 100644 --- a/PHPCI/Plugin/PhpCsFixer.php +++ b/PHPCI/Plugin/PhpCsFixer.php @@ -10,6 +10,7 @@ namespace PHPCI\Plugin; use PHPCI\Builder; +use PHPCI\Helper\Lang; use PHPCI\Model\Build; /** @@ -53,7 +54,7 @@ class PhpCsFixer implements \PHPCI\Plugin $phpcsfixer = $this->phpci->findBinary('php-cs-fixer'); if (!$phpcsfixer) { - $this->phpci->logFailure('Could not find php-cs-fixer.'); + $this->phpci->logFailure(Lang::get('could_not_find', 'php-cs-fixer')); return false; } diff --git a/PHPCI/Plugin/PhpDocblockChecker.php b/PHPCI/Plugin/PhpDocblockChecker.php index eafbda96..4ef78a85 100755 --- a/PHPCI/Plugin/PhpDocblockChecker.php +++ b/PHPCI/Plugin/PhpDocblockChecker.php @@ -93,7 +93,7 @@ class PhpDocblockChecker implements PHPCI\Plugin, PHPCI\ZeroConfigPlugin $checker = $this->phpci->findBinary('phpdoccheck'); if (!$checker) { - $this->phpci->logFailure('Could not find phpdoccheck.'); + $this->phpci->logFailure(PHPCI\Helper\Lang::get('could_not_find', 'phpdoccheck')); return false; } diff --git a/PHPCI/Plugin/PhpLoc.php b/PHPCI/Plugin/PhpLoc.php index 6e402cc7..726a1d29 100644 --- a/PHPCI/Plugin/PhpLoc.php +++ b/PHPCI/Plugin/PhpLoc.php @@ -68,7 +68,7 @@ class PhpLoc implements PHPCI\Plugin, PHPCI\ZeroConfigPlugin $phploc = $this->phpci->findBinary('phploc'); if (!$phploc) { - $this->phpci->logFailure('Could not find phploc.'); + $this->phpci->logFailure(PHPCI\Helper\Lang::get('could_not_find', 'phploc')); return false; } diff --git a/PHPCI/Plugin/PhpMessDetector.php b/PHPCI/Plugin/PhpMessDetector.php index 6b0f3a65..93bf6c8e 100755 --- a/PHPCI/Plugin/PhpMessDetector.php +++ b/PHPCI/Plugin/PhpMessDetector.php @@ -104,7 +104,7 @@ class PhpMessDetector implements PHPCI\Plugin, PHPCI\ZeroConfigPlugin $phpmdBinaryPath = $this->phpci->findBinary('phpmd'); if (!$phpmdBinaryPath) { - $this->phpci->logFailure('Could not find phpmd.'); + $this->phpci->logFailure(PHPCI\Helper\Lang::get('could_not_find', 'phpmd')); return false; } diff --git a/PHPCI/Plugin/PhpParallelLint.php b/PHPCI/Plugin/PhpParallelLint.php index 3787fd0c..e969bb88 100644 --- a/PHPCI/Plugin/PhpParallelLint.php +++ b/PHPCI/Plugin/PhpParallelLint.php @@ -10,6 +10,7 @@ namespace PHPCI\Plugin; use PHPCI\Builder; +use PHPCI\Helper\Lang; use PHPCI\Model\Build; /** @@ -66,7 +67,7 @@ class PhpParallelLint implements \PHPCI\Plugin $phplint = $this->phpci->findBinary('parallel-lint'); if (!$phplint) { - $this->phpci->logFailure('Could not find parallel-lint.'); + $this->phpci->logFailure(Lang::get('could_not_find', 'parallel-lint')); return false; } diff --git a/PHPCI/Plugin/PhpSpec.php b/PHPCI/Plugin/PhpSpec.php index 7fbc332e..1acab8db 100644 --- a/PHPCI/Plugin/PhpSpec.php +++ b/PHPCI/Plugin/PhpSpec.php @@ -54,7 +54,7 @@ class PhpSpec implements PHPCI\Plugin $phpspec = $this->phpci->findBinary(array('phpspec', 'phpspec.php')); if (!$phpspec) { - $this->phpci->logFailure('Could not find phpspec.'); + $this->phpci->logFailure(PHPCI\Helper\Lang::get('could_not_find', 'phpspec')); return false; } diff --git a/PHPCI/Plugin/PhpUnit.php b/PHPCI/Plugin/PhpUnit.php index c643416b..26ef4da0 100644 --- a/PHPCI/Plugin/PhpUnit.php +++ b/PHPCI/Plugin/PhpUnit.php @@ -166,7 +166,7 @@ class PhpUnit implements PHPCI\Plugin, PHPCI\ZeroConfigPlugin $phpunit = $this->phpci->findBinary('phpunit'); if (!$phpunit) { - $this->phpci->logFailure('Could not find phpunit.'); + $this->phpci->logFailure(PHPCI\Helper\Lang::get('could_not_find', 'phpunit')); return false; } @@ -193,7 +193,7 @@ class PhpUnit implements PHPCI\Plugin, PHPCI\ZeroConfigPlugin $phpunit = $this->phpci->findBinary('phpunit'); if (!$phpunit) { - $this->phpci->logFailure('Could not find phpunit.'); + $this->phpci->logFailure(PHPCI\Helper\Lang::get('could_not_find', 'phpunit')); return false; } diff --git a/PHPCI/Plugin/Shell.php b/PHPCI/Plugin/Shell.php index fceea3e2..aa5a48a2 100644 --- a/PHPCI/Plugin/Shell.php +++ b/PHPCI/Plugin/Shell.php @@ -10,6 +10,7 @@ namespace PHPCI\Plugin; use PHPCI\Builder; +use PHPCI\Helper\Lang; use PHPCI\Model\Build; /** @@ -67,7 +68,7 @@ class Shell implements \PHPCI\Plugin public function execute() { if (!defined('ENABLE_SHELL_PLUGIN') || !ENABLE_SHELL_PLUGIN) { - throw new \Exception('The shell plugin is not enabled.'); + throw new \Exception(Lang::get('shell_not_enabled')); } $success = true; diff --git a/PHPCI/Plugin/Util/Executor.php b/PHPCI/Plugin/Util/Executor.php index 15754f84..e38efd5b 100644 --- a/PHPCI/Plugin/Util/Executor.php +++ b/PHPCI/Plugin/Util/Executor.php @@ -2,6 +2,7 @@ namespace PHPCI\Plugin\Util; +use PHPCI\Helper\Lang; use \PHPCI\Logging\BuildLogger; class Executor @@ -37,7 +38,7 @@ class Executor } foreach ($config[$stage] as $plugin => $options) { - $this->logger->log('RUNNING PLUGIN: ' . $plugin); + $this->logger->log(Lang::get('running_plugin', $plugin)); // Is this plugin allowed to fail? if ($stage == 'test' && !isset($options['allow_failures'])) { @@ -48,7 +49,7 @@ class Executor if ($this->executePlugin($plugin, $options)) { // Execution was successful: - $this->logger->logSuccess('PLUGIN STATUS: SUCCESS!'); + $this->logger->logSuccess(Lang::get('plugin_success')); } else { @@ -58,7 +59,7 @@ class Executor $success = false; } - $this->logger->logFailure('PLUGIN STATUS: FAILED'); + $this->logger->logFailure(Lang::get('plugin_failed')); } } @@ -82,7 +83,7 @@ class Executor } if (!class_exists($class)) { - $this->logger->logFailure('Plugin does not exist: ' . $plugin); + $this->logger->logFailure(Lang::get('plugin_missing', $plugin)); return false; } @@ -96,7 +97,7 @@ class Executor $rtn = false; } } catch (\Exception $ex) { - $this->logger->logFailure('EXCEPTION: ' . $ex->getMessage(), $ex); + $this->logger->logFailure(Lang::get('exception') . $ex->getMessage(), $ex); $rtn = false; } diff --git a/PHPCI/Plugin/Util/TapParser.php b/PHPCI/Plugin/Util/TapParser.php index a18e89e5..7cc80068 100644 --- a/PHPCI/Plugin/Util/TapParser.php +++ b/PHPCI/Plugin/Util/TapParser.php @@ -2,6 +2,8 @@ namespace PHPCI\Plugin\Util; +use PHPCI\Helper\Lang; + class TapParser { const TEST_COUNTS_PATTERN = '/([0-9]+)\.\.([0-9]+)/'; @@ -41,7 +43,7 @@ class TapParser $versionLine = array_shift($lines); if ($versionLine != 'TAP version 13') { - throw new \Exception('TapParser only supports TAP version 13'); + throw new \Exception(Lang::get('tap_version')); } if (isset($lines[count($lines) - 1]) && preg_match(self::TEST_COVERAGE_PATTERN, $lines[count($lines) - 1])) { @@ -67,7 +69,7 @@ class TapParser $rtn = $this->processTestLines($lines); if ($totalTests != count($rtn)) { - throw new \Exception('Invalid TAP string, number of tests does not match specified test count.'); + throw new \Exception(Lang::get('tap_error')); } return $rtn;