/** * Generate Repository collection * * @param $input */ private function getRepositoriesCollection($input, $config) { $repos = $config->repositories->installer; $reposCollection = new RepositoryCollection(); $reposCollection->add(new Repository( $repos->symfony->source, $repos->symfony->target, $this->typeOfElement($repos->symfony->revision), $repos->symfony->revision )); $reposCollection->add(new Repository( $repos->monolog->source, $repos->monolog->target, $this->typeOfElement($repos->monolog->revision), $repos->monolog->revision )); if ($input->getOption('swiftmailer')) { $reposCollection->add(new Repository( $repos->swiftmailer->source, $repos->swiftmailer->target, $this->typeOfElement($repos->swiftmailer->revision), $repos->swiftmailer->revision )); } if ($input->getOption('assetic')) { $reposCollection->add(new Repository( $repos->assetic->source, $repos->assetic->target, $this->typeOfElement($repos->assetic->revision), $repos->assetic->revision )); } if ('twig' === $input->getOption('template-engine')) { $reposCollection->add(new Repository( $repos->twig->source, $repos->twig->target, $this->typeOfElement($repos->twig->revision), $repos->twig->revision )); $reposCollection->add(new Repository( $repos->twigextensions->source, $repos->twigextensions->target, $this->typeOfElement($repos->twigextensions->revision), $repos->twigextensions->revision )); } if ('doctrine' === $input->getOption('orm')) { $reposCollection->add(new Repository( $repos->doctrine->source, $repos->doctrine->target, $this->typeOfElement($repos->doctrine->revision), $repos->doctrine->revision )); $reposCollection->add(new Repository( $repos->doctrinedbal->source, $repos->doctrinedbal->target, $this->typeOfElement($repos->doctrinedbal->revision), $repos->doctrinedbal->revision )); if ($input->getOption('doctrine-fixtures')) { $reposCollection->add(new Repository( $repos->doctrinedatafixtures->source, $repos->doctrinedatafixtures->target, $this->typeOfElement($repos->doctrinedatafixtures->revision), $repos->doctrinedatafixtures->revision )); $reposCollection->add(new Repository( $repos->doctrinedatafixturesbundle->source, $repos->doctrinedatafixturesbundle->target, $this->typeOfElement($repos->doctrinedatafixturesbundle->revision), $repos->doctrinedatafixturesbundle->revision )); } if ($input->getOption('doctrine-migration')) { $reposCollection->add(new Repository( $repos->doctrinemigrations->source, $repos->doctrinemigrations->target, $this->typeOfElement($repos->doctrinemigrations->revision), $repos->doctrinemigrations->revision )); $reposCollection->add(new Repository( $repos->doctrinemigrationsbundle->source, $repos->doctrinemigrationsbundle->target, $this->typeOfElement($repos->doctrinemigrationsbundle->revision), $repos->doctrinemigrationsbundle->revision )); } } if (('doctrine' === $input->getOption('orm')) || ('mongodb' === $input->getOption('odm'))) { $reposCollection->add(new Repository( $repos->doctrinecommon->source, $repos->doctrinecommon->target, $this->typeOfElement($repos->doctrinecommon->revision), $repos->doctrinecommon->revision )); } if ('mongodb' === $input->getOption('odm')) { $reposCollection->add(new Repository( $repos->doctrinemongodb->source, $repos->doctrinemongodb->target, $this->typeOfElement($repos->doctrinemongodb->revision), $repos->doctrinemongodb->revision )); $reposCollection->add(new Repository( $repos->doctrinemongodbodm->source, $repos->doctrinemongodbodm->target, $this->typeOfElement($repos->doctrinemongodbodm->revision), $repos->doctrinemongodbodm->revision )); $reposCollection->add(new Repository( $repos->doctrinemongodbbundle->source, $repos->doctrinemongodbbundle->target, $this->typeOfElement($repos->doctrinemongodbbundle->revision), $repos->doctrinemongodbbundle->revision )); } if ('mandango' === $input->getOption('odm')) { $reposCollection->add(new Repository( $repos->mandango->source, $repos->mandango->target, $this->typeOfElement($repos->mandango->revision), $repos->mandango->revision )); $reposCollection->add(new Repository( $repos->mondator->source, $repos->mondator->target, $this->typeOfElement($repos->mondator->revision), $repos->mondator->revision )); $reposCollection->add(new Repository( $repos->mandangobundle->source, $repos->mandangobundle->target, $this->typeOfElement($repos->mandangobundle->revision), $repos->mandangobundle->revision )); } if ('propel' === $input->getOption('orm')) { $reposCollection->add(new Repository( $repos->propelbundle->source, $repos->propelbundle->target, $this->typeOfElement($repos->propelbundle->revision), $repos->propelbundle->revision )); $reposCollection->add(new Repository( $repos->phing->source, $repos->phing->target, $this->typeOfElement($repos->phing->revision), $repos->phing->revision )); $reposCollection->add(new Repository( $repos->propel->source, $repos->propel->target, $this->typeOfElement($repos->propel->revision), $repos->propel->revision )); } if ($config_user = $config->repositories->user) { $reposCollection = $this->addCustomRepositoriesToCollection($reposCollection, $config_user); } return $reposCollection->get(); }