Am 12.02.2015 um 00:37 schrieb ajbdev <[email protected]>: > I'm developing a ZF2 app that will make heavy use of feature specific > modules. > > While modules will be as atomic as possible, certain modules will be > dependent on other modules existing, and nearly all modules will require at > least one core module to exist in order to function. > > However, this application is going to be deployed to several different > sites, and not all sites will have all modules. Some sites will have modules > that other sites don't have. It's important that I am able to easily manage > modules per site without a code change and without forking the codebase off > for individual sites. > > Ideally, I'd love to manage these modules using composer. > It seems like in an ideal world I would have a base composer.json-dist with > the basic modules that all site deployments would have, and then that file > would be copied and modified as necessary as part of the install/update > process. Then each module itself would have it's own composer file that > would be used to track it's own dependencies (which would also lend itself > nicely to handling third party libraries, too). > > Where I start to get lost is the development workflow for the application. > Each module will need it's own repository, but I don't want to have to open > up one codebase per module - ideally I want to develop in a single codebase > that would contain the application and all modules, but still allow me to > commit and push individually to each module repo. Is there a good way to do > that? > > Maybe I'm going at this the completely wrong way and there's a better way to > achieve what I'm looking for. If so, I'd love to hear it.
Hey there, you should look into —prefer-source option of composer. $ composer update symfony/yaml --prefer-source By this way you can work inside your project with many repos under the hood. So yes, a single repository each module should be the way to go for your described needs. Regards Michael -- List: [email protected] Info: http://framework.zend.com/archives Unsubscribe: [email protected]
