Commit Graph

15 Commits

Author SHA1 Message Date
George Wangensteen afce74d30f SERVER-81418 Extend the libdeps analyzer to show program dependents for a given library 2023-09-27 01:22:49 +00:00
Zack Winter 7cccfc0caf SERVER-79790 Add option to generate bazel conversion targets to libdeps 2023-09-13 22:51:23 +00:00
Alexander Neben 97ac02fa50 SERVER-68593 Disable low value python warnings 2022-09-02 22:55:09 +00:00
Mitch Wagner 8f46327f04 SERVER-53494 Add public libdeps efficiency to libdeps linter 2022-08-15 20:01:45 +00:00
Mitch Wagner 35a6f70c3b SERVER-52570 Add symbol dependency query to libdeps 2022-07-05 17:51:25 +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
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