ProjectGraphMetrics
data class ProjectGraphMetrics(val moduleCount: Int, val fanInGini: Double, val maxDepth: Int, val entryPoints: List<String>, val foundation: List<String>, val articulationPoints: List<String>, val stabilityViolations: List<StabilityViolation>)(source)
Whole-graph metrics that describe the shape of the project rather than any one module.
Parameters
moduleCount
Modules in the graph.
fanInGini
Concentration of fan-in across modules, in [0, 1]. 0 means every module is depended on equally; approaching 1 means a handful of modules absorb nearly all dependencies.
maxDepth
Longest shortest-path from an entry point - how many layers deep the project goes.
entryPoints
Modules nothing depends on, the ones reaching furthest into the project first. A build has several - an app shell, a benchmark, a test-support module - and only the ones with real reach are worth naming.
foundation
Modules that depend on nothing, sorted.
articulationPoints
Modules whose removal disconnects the graph, sorted.
stabilityViolations
Edges pointing against the stability gradient, worst gap first.