
on Mon Sep 17 2007, Vladimir Prus <ghost-AT-cs.msu.su> wrote:
David Abrahams wrote:
A few days ago I started thinking about the implications of giving each Boost library a separate subtree of the repository, and it led me to some interesting places.
* Start with the assumption that each library has a boost/ directory containing its subset of the headers it currently has. So, for example, Boost.Python would have
boost/ python.hpp python/ ...
where "..." above is identical to the current contents of $BOOST_ROOT/boost/python/
* Our release process would merge the boost/ directories
* To test a library from a source distribution, you'd need to get the boost/ directories of any libraries it depends on into the #include path.
* This list of dependency libraries would be encoded in each dependent library's Jamfile.
* Presto, a way to explicitly declare and track library inter-dependencies! If you fail to declare a dependency in your Jamfile, your tests won't compile.
Thoughts?
Which problems with the release process such an organization would solve?
I wasn't suggesting it as a way to solve problems with the release process. However, having explicit dependency declarations would probably make efficient incremental testing more practical, because we'd know exactly which libraries needed to have tests run for any change.
This organisation clearly requires some work to implement, so it should give some real advantage in return.
So far it's just an idea that seems like it has potential organizational benefits. It certainly would make it easier to move in libraries from the sandbox. -- Dave Abrahams Boost Consulting http://www.boost-consulting.com The Astoria Seminar ==> http://www.astoriaseminar.com