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.