|
@@ -42,29 +42,34 @@ class ComposerRequireCommand extends Command
|
|
|
if (file_exists($composer_file)) {
|
|
|
$output->writeln($sec);
|
|
|
$composer_data = json_decode(file_get_contents($composer_file), true);
|
|
|
- foreach (array("require", "require-dev") as $k) {
|
|
|
- if (strlen($pull) > 0) {
|
|
|
- shell_exec('cd ' . $sec . '; git checkout master; git pull origin ' . $pull);
|
|
|
- }
|
|
|
- foreach ($composer_data[$k] as $package => $version) {
|
|
|
- if (strpos($packages, "*") !== false) {
|
|
|
- $preg = "|^" . str_replace("*", "[^\b]*", $packages) . "$|";
|
|
|
- if (preg_match($preg, $package)) {
|
|
|
- $composer_data[$k][$package] = (string)$new_version;
|
|
|
- $output->writeln("\t" . $package . " = " . $new_version);
|
|
|
- }
|
|
|
- } else {
|
|
|
- if (strcmp($packages, $package) === 0) {
|
|
|
- $composer_data[$k][$package] = (string)$new_version;
|
|
|
- $output->writeln("\t" . $package . " = " . $new_version);
|
|
|
+ try {
|
|
|
+ foreach (array("require", "require-dev") as $k) {
|
|
|
+ if (strlen($pull) > 0) {
|
|
|
+ shell_exec('cd ' . $sec . '; git stash; git checkout master; git pull origin ' . $pull);
|
|
|
+ }
|
|
|
+ foreach ($composer_data[$k] as $package => $version) {
|
|
|
+ if (strpos($packages, "*") !== false) {
|
|
|
+ $preg = "|^" . str_replace("*", "[^\b]*", $packages) . "$|";
|
|
|
+ if (preg_match($preg, $package)) {
|
|
|
+ $composer_data[$k][$package] = (string)$new_version;
|
|
|
+ $output->writeln("\t" . $package . " = " . $new_version);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (strcmp($packages, $package) === 0) {
|
|
|
+ $composer_data[$k][$package] = (string)$new_version;
|
|
|
+ $output->writeln("\t" . $package . " = " . $new_version);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
- file_put_contents($composer_file, json_encode($composer_data, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES));
|
|
|
- if ($dockerCompose) {
|
|
|
- shell_exec('docker-compose exec ' . $sec . ' bin/composer-update.sh');
|
|
|
- }
|
|
|
+ file_put_contents($composer_file, json_encode($composer_data, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES));
|
|
|
+ if ($dockerCompose) {
|
|
|
+ shell_exec('docker-compose exec ' . $sec . ' bin/composer-update.sh');
|
|
|
+ }
|
|
|
+ } catch (Throwable $t) {
|
|
|
+ $output->writeln("Se produjo un error. Reestableciendo datos. ");
|
|
|
+ $shell_exec(i'cd ' . $sec . '; git reset');
|
|
|
+ }
|
|
|
} else {
|
|
|
$output->writeln($sec . " no composer.json found");
|
|
|
}
|