ExternalDependency
A declared external (third-party) dependency of a single module.
Captured from Gradle configurations during the aalekhExtract task and stored in ModuleDependencyGraph.externalDependencies. Each instance represents one implementation("group:name:version") (or equivalent) declaration.
These are the declared coordinates read from configuration.dependencies at configuration time - never the resolved dependency graph. Reading resolved artifacts would trigger dependency resolution and break the configuration cache, so it is deliberately avoided.
Parameters
Gradle path of the module that declares this dependency, e.g. ":feature:login:ui".
Maven group, e.g. "androidx.core". Empty when the notation omits a group.
Artifact name, e.g. "core-ktx".
Declared version, e.g. "1.13.1". Null when the version is managed elsewhere (a BOM / platform, or a version-catalog alignment) and is not stated at the declaration site.
Gradle configuration name the dependency was declared on: "implementation", "api", "testImplementation", "commonMainImplementation", etc. The declaration type is recoverable from this string via isApi / isTest / isCompileOnly.
For KMP modules: the source set that owns this dependency, e.g. "commonMain", "androidMain". Null for standard Android/JVM configurations.
Constructors
Properties
True when this is a production api dependency - it leaks transitively onto every consumer of module. 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.