Closed elazar closed 8 years ago
Maybe you could make a composer.json
that contains the require-dev
dependencies and each project would depend on that single dependency. Something like phergie/development
or something similar. I assume that is basically what you meant by doing something similar to Archer.
Otherwise you might want to script out the change. Basically have a little script that says whatever.php update this/dependency ^1.0
and it would apply it to all the target repositories, even maybe automatically commit and push. Obviously that solution is more cumbersome than having a single point of dependency.
I'm all in favor of something that's automated. Will look into https://github.com/IcecaveStudios/archer
Looked into this a bit tonight. I think we're already using most of the conventions they require. The code coverage stuff would be neat, but I'm not what we'd be gaining other than archer wrapping around the test commands. We already have all the repos in Travis and configured and that looks like the primary function unless I'm missing something.
I thought most of the value was actually derived from having a single, shared composer
package that contained some sort of core package dependencies upon which all phergie
packages would depend. Instead of having numerous dependencies in each phergie
package, you'd depend upon this single package. Updating the core package dependencies would only imply touching a single composer.json
.
@tomzx
That is true. IMHO I'd rather be dependent on our own development package so we were not depending on a 3rd party.
I'll have a look at building our own later today.
Manually updating dev dependencies like PHPUnit and Phake across all repos has proven to be a rather cumbersome task. Migrating to a setup like that of Archer would allow us to keep versions of these dependencies in sync across all repos and provide a conventional setup for tests, mocking, API documentation, integration with Travis CI, etc.
Thoughts?