Example #1
0
 public function execute(InputInterface $input, OutputInterface $output)
 {
     $tempDir = $input->getArgument('temp_dir');
     $targetDir = $input->getArgument('target');
     $packageDir = $input->getArgument('package_dir');
     $rollback = $input->getOption('rollback');
     $updater = new Updater();
     $jsonManager = new JsonManager($packageDir);
     $updater->setPackageService(new PackageService())->setTempDir($tempDir)->setWorkingDir($targetDir);
     $updateService = new UpdateService($updater);
     $packageService = $updater->getPackageService();
     $diffFile = $jsonManager->getJsonFromFile();
     $packageJson = json_decode($diffFile, true);
     $package = $packageService->fillPackage($packageJson);
     $package->setPackageDir(realpath($packageDir));
     $updateService->setPackage($package);
     if ($rollback) {
         $updateService->rollbackUpdate();
         $output->writeln('<info>Changes have been rollbacked.</info>');
         return true;
     }
     $isUpdated = $updateService->doUpdate();
     if ($isUpdated) {
         $output->writeln('<info>Your application has been successfully updated.</info>');
         return true;
     }
     $output->writeln('<error>Error occured. Your application was not updated. Rolling back changes.</error>');
     return false;
 }
Example #2
0
 public function let($die)
 {
     $updater = new Updater();
     $updater->setPackageService(new PackageService())->setTempDir(realpath(__DIR__ . '/../../sample_app/cache'))->setWorkingDir(realpath(__DIR__ . '/../../sample_app'));
     $this->beConstructedWith($updater);
     $packageService = $updater->getPackageService();
     $packageJson = array(json_decode(file_get_contents(__DIR__ . '/../../packages/update-4.3.1.json'), true));
     $package = $packageService->fillPackage($packageJson[0]);
     $package->setPackageDir(realpath(__DIR__ . '/../../../spec/packages') . '/update-4.3.1.zip');
     $this->setPackage($package);
 }