/** * Generate Bundle Collection * * @param $input */ private function generateBundlesCollection($input, $config) { $bundles = $config->bundles->installer; $bundlesCollection = new BundleCollection(); $bundlesCollection->add(new Bundle( $bundles->framework->name, $bundles->framework->namespace )); $bundlesCollection->add(new Bundle( $bundles->monolog->name, $bundles->monolog->namespace )); if ('twig' === $input->getOption('template-engine')) { $bundlesCollection->add(new Bundle( $bundles->twig->name, $bundles->twig->namespace )); } if ($input->getOption('swiftmailer')) { $bundlesCollection->add(new Bundle( $bundles->swiftmailer->name, $bundles->swiftmailer->namespace )); } if ($input->getOption('assetic')) { $bundlesCollection->add(new Bundle( $bundles->assetic->name, $bundles->assetic->namespace )); } if ($input->getOption('orm')) { if ('doctrine' === $input->getOption('orm')) { $bundlesCollection->add(new Bundle( $bundles->doctrine->name, $bundles->doctrine->namespace )); if ($input->getOption('doctrine-migration')) { $bundlesCollection->add(new Bundle( $bundles->doctrinemigrations->name, $bundles->doctrinemigrations->namespace )); } if ($input->getOption('doctrine-fixtures')) { $bundlesCollection->add(new Bundle( $bundles->doctrinefixtures->name, $bundles->doctrinefixtures->namespace )); } } if ('propel' === $input->getOption('orm')) { $bundlesCollection->add(new Bundle( $bundles->propel->name, $bundles->propel->namespace )); } } if ('mongodb' === $input->getOption('odm')) { $bundlesCollection->add(new Bundle( $bundles->doctrinemongodb->name, $bundles->doctrinemongodb->namespace )); } if ('mandango' === $input->getOption('odm')) { $bundlesCollection->add(new Bundle( $bundles->mandangobundle->name, $bundles->mandangobundle->namespace )); } if ($config_user = $config->bundles->user) { $bundlesCollection = $this->addCustomBundlesToCollection($bundlesCollection, $config_user); } $app = $input->getArgument('app'); $vendor = $input->getArgument('vendor'); $bundlesCollection->add(new Bundle($vendor.$app, sprintf('%s\%sBundle', $vendor, $app))); return $bundlesCollection; }