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.

Constructors

Link copied to clipboard
constructor(moduleCount: Int, fanInGini: Double, maxDepth: Int, entryPoints: List<String>, foundation: List<String>, articulationPoints: List<String>, stabilityViolations: List<StabilityViolation>)

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard