DependencyEdge
A directed dependency from one module to another.
Edges are extracted from Gradle configurations during the aalekhExtract task and stored in ModuleDependencyGraph.edges. Each edge represents one implementation(project(...)) or equivalent declaration.
Parameters
Source module Gradle path, e.g. ":feature:login:data".
Target module Gradle path, e.g. ":core:domain".
Gradle configuration name: "implementation", "api", "testImplementation", "commonMainImplementation", etc.
For KMP modules: the source set that owns this dependency, e.g. "commonMain", "androidMain". Null for standard Android/JVM configurations.
Approximate 1-based line number of this dependency declaration in the source module's build file. Populated by scanning the build file during extraction. Null when the file was not scanned or the line could not be located. Used in violation messages to point developers directly to the line to remove.
Human-readable explanation of why this dependency exists. Displayed in the HTML report as an edge annotation and in violation messages. Null when no explanation has been provided.
URL to an Architecture Decision Record (ADR) that justifies this dependency. Rendered as a link in the HTML report so reviewers can navigate to the decision. Null when no ADR URL has been provided.
Constructors
Properties
True when this is a production api dependency - it leaks transitively onto every consumer of from. Covers the plain api configuration and KMP / build-type source-set api configurations (commonMainApi, androidMainApi, debugApi, ...). Test api configurations (testApi) are excluded - they never affect the production surface.
True when this dependency is only available at compile time, not at runtime.