On Sat, May 4, 2019 at 10:00 PM James E. King III via Boost < boost@lists.boost.org> wrote:
I haven't seen a comprehensive plan put forth that would lead to modularization.
Some of us have worked for years in that direction, without the need for a formal plan. We're actually rather close.
Wouldn't that have to start with selection of a package manager capable of dealing with the versioning requirements and pre-built dependency acquisition?
No. There is no need to select that. We only need to make it possible and easy for existing package managers to consume Boost in modular parts. There are plenty of existing package managers and people to create appropriate packages.
For example if I want to use boostorg/graph version 1.68.0, how do I tell something to download everything I need for that, repeatably, efficiently (see: don't re-download it if I have it and all the deps), for every build I do? How do I tell my build system where to find those things that were downloaded?
You read the documentation for the package manager of your choice that has Boost packages available.
Once that package manager is selected and each boost module declares the dependency and version requirements it has, and all boost modules moved into this system, then boost modules could update at will and there would be no more need for a monolithic release.
Ah, yes, that would be a tangential problem. What kind of cross-version compatibility you want to offer. Do you even test cross-versions? Oh, so many questions in that can of worms :-)
Until then, we have 3 releases a year, which is really quite good for something this complex.
You can still have only 3 releases with modular libraries. -- -- Rene Rivera -- Grafik - Don't Assume Anything -- Robot Dreams - http://robot-dreams.net