Commit Graph

14 Commits

Author SHA1 Message Date
Daniel Moody
6cdc621958 SERVER-65805 added libdeps handling for no critical edges found 2022-05-05 18:37:44 +00:00
Andrew Morrow
4122e4b7dd SERVER-56568 Remove LIBDEPS_TYPEINFO in favor of disabling vptr sanitizer for dyanmic builds
This reverts the changes made for SERVER-49798 in favor of disabling
the vptr sanitizer when using ubsan for --link-model=dynamic builds.
2021-07-09 19:08:18 +00:00
Daniel Moody
a07f2690b7 SERVER-56636 add libdeps graphpaths visualization 2021-06-03 21:22:43 +00:00
Daniel Moody
76eab0dfcc SERVER-56141 added in degree one libdeps analyzer and removed existence of shims from analyzer. 2021-05-05 19:58:49 +00:00
Daniel Moody
44ca57b15d SERVER-56570 added LIBDEPS docs. 2021-05-03 15:49:37 +00:00
Daniel Moody
0782c59e71 SERVER-52568 Added GraphPaths, CriticalEdges, and PublicWieghts quieries to libdeps graph analyzer. 2021-04-15 16:34:40 +00:00
David Bradford
a22cbaba06 SERVER-54861: Update pylint to 2.7.2 2021-03-01 23:46:55 +00:00
Daniel Moody
27aecefac7 SERVER-52576 Added libdeps graph visualizer web service with basic features. 2021-02-26 07:48:36 +00:00
Daniel Moody
b27c452ce1 SERVER-53530 added mac support for libdeps graph generation 2021-02-24 17:04:59 +00:00
Daniel Moody
a6f50f0c9d SERVER-53531 added evergreen task for libdeps graph generation 2021-02-24 17:04:59 +00:00
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