Commit Graph

4 Commits

Author SHA1 Message Date
Daniel Moody
6425c57400 SERVER-30815 Added linter to check for unnecessary PUBLIC libdeps, and added schema versioning. 2020-12-16 07:27:36 +00:00
Ryan Egesdahl
82ef215122 SERVER-48291 Add global dependency pushdown to libdeps
We sometimes have situations where a dependency applies at a large
scope, such as in the case of tcmalloc, which can apply everywhere. What
we have done previously is to hack these dependencies into the LIBDEPS
environment variable by adding a builder to all nodes that can produce a
compiler result. This is, as stated previously, hackish and hard to
control, and it results in adding a Public dependency to all those
nodes.

What we now do instead is to define LIBDEPS_GLOBAL on the *build
environment* (not the Builder node) listing the targets we would like to
push down to all other nodes below that point. This has the effect of
adding those targets as Private dependencies on all Builder nodes from
that point downward, which means some common Public dependencies can be
converted to a Private dependency that is stated only once.
2020-11-26 08:56:00 +00:00
Daniel Moody
fa271cc17c SERVER-52567 added basic functions for graph analyzer CLI tool and improved graph generation. 2020-11-25 03:21:49 +00:00
Daniel Moody
9e9b2423f1 SERVER-52566 added generate-libdeps-graph target for building graph of library dependencies. 2020-11-16 21:51:00 +00:00