|
Boost : |
Subject: Re: [boost] Some statistics about the C++ 11/14 mandatory Boost libraries
From: Niall Douglas (s_sourceforge_at_[hidden])
Date: 2015-05-13 14:34:50
On 13 May 2015 at 14:12, Edward Diener wrote:
> So for each library you want the library maintainer to periodically
> check every past and present version of a library it depends on and
> document what dependencies it has and what versions of those
> dependencies works with the library.
>
> Forgive me if I find such a task a bit overburdening. This means that if
> my library X depends on A, B, and C I must test my library first against
> past versions of A, B, and C, in all possible combinations, and then
> must susbsequently test my library against any new versions of A. B. and
> C, in all possible combinations. Furthermore whenever I update library X
> I must go through the full procedure once again.
>
> I cannot conceive that such a manual versioning scheme is workable.
Then you are highly unaware of the tooling available to automate
this.
Travis can run, per commit,
http://ispras.linuxbase.org/index.php/ABI_compliance_checker which
ensures that ABI and API have not broken for a given API version of a
given library. Each API version lives in its own git branch.
This solves the diamond dependence problem, because API versions are
guaranteed and formally proven to be compatible. git submodules are
branch pinned to a given API version branch, and therefore to a
stable per commit verified compatible API version. This prevents
dependency hell.
Niall
-- ned Productions Limited Consulting http://www.nedproductions.biz/ http://ie.linkedin.com/in/nialldouglas/
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk