On Monday, 20 February 2017 22:25:33 UTC+10, Michael Babker wrote:
Easier testing of interdependencies between packages (it's all in one spot and is therefore all tested together).
That's actually a really bad reason and is a code smell. One of the reasons for the separate repo's was to ensure that no accidental tight coupling occurred, or, that the coupling because so blatantly obvious that the frustration would lead one to fix it. Individual repos is the best way to manage the code and run the test. With separate package, you bring in the dependencies under the `require-dev` node in composer.
My entire day yesterday was spent working through each repository on my local checkout three full times (and was starting a fourth) to update all of the test suites for PHPUnit 6.0 compatibility, enabling a testing pass on the PHP master branch (nightly builds), merging all master branch activity into 2.0 branches (and dealing with the various merge conflicts that are coming from that), and working through each package to bump the version constraints to allow 1.x or 2.x installations where practical. It is not a quick process when dealing with over 40 repositories.
Yep it sucks but this is the normal state of affairs. If you are dealing with npm or bower you have the same problems. It just means the project needs to invest in better automated CI tooling (how is up to the project).
I will qualify that be saying that's only important if the desire is still for the framework to be a separate "thing" the project publishes. If there is no motivation to do that anymore, there's actually no point in going to the trouble of having separate repo's for the packages. If the latter is the case, just kill off the framework as a "thing" otherwise people will continue to be confused as to what it is supposed to be and do.
I think your pain points are coming from ideas for the framework that died many years ago.