Created
November 14, 2014 05:58
-
-
Save makasim/cae218475fafe9e16024 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
namespace Payum\SiteBundle\Command; | |
use Payum\SiteBundle\Model\Library; | |
use Payum\SiteBundle\Service\LibraryRegistry; | |
use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand; | |
use Symfony\Component\Console\Input\InputInterface; | |
use Symfony\Component\Console\Input\InputOption; | |
use Symfony\Component\Console\Output\OutputInterface; | |
use Symfony\Component\Filesystem\Filesystem; | |
use Symfony\Component\Process\Process; | |
class RunSubtreeSplitCommand extends ContainerAwareCommand | |
{ | |
protected function configure() | |
{ | |
$this | |
->setName('payum:lib:run-subtree-split') | |
->setDescription('It runs several git commands to actually split the payum/payum into several subtrees.') | |
; | |
} | |
/** | |
* {@inheritdoc} | |
* @throws \RuntimeException | |
*/ | |
protected function execute(InputInterface $input, OutputInterface $output) | |
{ | |
$this->getContainer()->get('library.prepare_temp_dir')->prepare(); | |
$command = 'git clone [email protected]:Payum/Payum.git Payum'; | |
$output->writeln("\t$command"); | |
$process = new Process($command); | |
$process->setTimeout(180); | |
$process->setWorkingDirectory($this->getContainer()->getParameter('app.temp_docs_dir')); | |
$process->run(); | |
if (false == $process->isSuccessful()) { | |
throw new \RuntimeException($process->getErrorOutput()); | |
} | |
$commandOutput = "\t".str_replace("\n", "\n\t", (string) $process->getOutput()); | |
if (trim($commandOutput)) { | |
$output->writeln($commandOutput); | |
} | |
$stableVersion = $this->getContainer()->getParameter('payum.stable_version'); | |
$devVersion = 'master'; | |
$commands = array( | |
"git remote add core [email protected]:Payum/Core.git", | |
"git remote add paypal-pro-checkout [email protected]:Payum/PaypalProCheckoutNvp.git", | |
"git remote add authorize-net-aim [email protected]:Payum/AuthorizeNetAim.git", | |
"git remote add be2bill [email protected]:Payum/Be2Bill.git", | |
"git remote add paypal-express-checkout [email protected]:Payum/PaypalExpressCheckoutNvp.git", | |
"git remote add paypal-ipn [email protected]:Payum/PaypalIpn.git", | |
"git remote add paypal-rest [email protected]:Payum/PaypalRest.git", | |
"git remote add offline [email protected]:Payum/Offline.git", | |
"git remote add payex [email protected]:Payum/Payex.git", | |
"git remote add klarna-checkout [email protected]:Payum/KlarnaCheckout.git", | |
"git remote add klarna-invoice [email protected]:Payum/KlarnaInvoice.git", | |
"git remote add stripe [email protected]:Payum/Stripe.git", | |
"git checkout $devVersion", | |
"git subtree push --prefix='src/Payum/Core/' core $devVersion", | |
"git subtree push --prefix='src/Payum/Paypal/ProCheckout/Nvp' paypal-pro-checkout $devVersion", | |
"git subtree push --prefix='src/Payum/AuthorizeNet/Aim/' authorize-net-aim $devVersion", | |
"git subtree push --prefix='src/Payum/Be2Bill' be2bill $devVersion", | |
"git subtree push --prefix='src/Payum/Paypal/ExpressCheckout/Nvp' paypal-express-checkout $devVersion", | |
"git subtree push --prefix='src/Payum/Paypal/Ipn' paypal-ipn $devVersion", | |
"git subtree push --prefix='src/Payum/Paypal/Rest' paypal-rest $devVersion", | |
"git subtree push --prefix='src/Payum/Offline' offline $devVersion", | |
"git subtree push --prefix='src/Payum/Payex' payex $devVersion", | |
"git subtree push --prefix='src/Payum/Klarna/Checkout' klarna-checkout $devVersion", | |
"git subtree push --prefix='src/Payum/Klarna/Invoice' klarna-invoice $devVersion", | |
"git subtree push --prefix='src/Payum/Stripe' stripe $devVersion", | |
"git checkout $stableVersion", | |
"git subtree push --prefix='src/Payum/Core/' core $stableVersion", | |
"git subtree push --prefix='src/Payum/Paypal/ProCheckout/Nvp' paypal-pro-checkout $stableVersion", | |
"git subtree push --prefix='src/Payum/AuthorizeNet/Aim/' authorize-net-aim $stableVersion", | |
"git subtree push --prefix='src/Payum/Be2Bill' be2bill $stableVersion", | |
"git subtree push --prefix='src/Payum/Paypal/ExpressCheckout/Nvp' paypal-express-checkout $stableVersion", | |
"git subtree push --prefix='src/Payum/Paypal/Ipn' paypal-ipn $stableVersion", | |
"git subtree push --prefix='src/Payum/Paypal/Rest' paypal-rest $stableVersion", | |
"git subtree push --prefix='src/Payum/Offline' offline $stableVersion", | |
"git subtree push --prefix='src/Payum/Payex' payex $stableVersion", | |
"git subtree push --prefix='src/Payum/Klarna/Checkout' klarna-checkout $stableVersion", | |
"git subtree push --prefix='src/Payum/Klarna/Invoice' klarna-invoice $stableVersion", | |
"git subtree push --prefix='src/Payum/Stripe' stripe $stableVersion", | |
); | |
foreach ($commands as $command) { | |
$output->writeln("\t$command"); | |
$process = new Process($command); | |
$process->setTimeout(180); | |
$process->setWorkingDirectory($this->getContainer()->getParameter('app.temp_docs_dir').'/Payum'); | |
$process->run(); | |
if (false == $process->isSuccessful()) { | |
throw new \RuntimeException($process->getErrorOutput()); | |
} | |
$commandOutput = "\t".str_replace("\n", "\n\t", (string) $process->getOutput()); | |
if (trim($commandOutput)) { | |
$output->writeln($commandOutput); | |
} | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment