ModuleDependencyGraph

constructor(projectName: String, modules: List<ModuleNode>, edges: List<DependencyEdge>, externalDependencies: List<ExternalDependency> = emptyList(), buildInventory: BuildInventory = BuildInventory.EMPTY, metadata: Map<String, String> = emptyMap())(source)

Parameters

projectName

Root project name from settings.gradle.kts

modules

All subproject modules discovered in the build

edges

All inter-module dependency relationships

externalDependencies

All declared external (third-party) dependencies, keyed by declaring module via ExternalDependency.module. Empty when external-dependency capture is disabled or when deserializing a graph file produced by an older plugin version.

buildInventory

How the project is built rather than how it is wired: plugins and their versions, version catalogs, toolchains, KMP targets, test layout, CODEOWNERS, and any metadata the team declared in .aalekh/modules.json. BuildInventory.EMPTY when deserializing a graph file produced by an older plugin version.

metadata

Build context: Gradle version, AGP version, extraction timestamp, etc.