# DependencyInsightReportTask

@DisableCachingByDefault(because = "Produces only non-cacheable console output")
abstract class DependencyInsightReportTask : DefaultTask

Generates a report that attempts to answer questions like:

- Why is this dependency in the dependency graph?
- Exactly which dependencies are pulling this dependency into the graph?
- What is the actual version (i.e. *selected* version) of the dependency that will be used? Is it the same as what was *requested*?
- Why is the *selected* version of a dependency different to the *requested*?
- What variants are available for this dependency?

Use this task to get insight into a particular dependency (or dependencies) and find out what exactly happens during dependency resolution and conflict resolution. If the dependency version was forced or selected by the conflict resolution this information will be available in the report.

While the regular dependencies report (DependencyReportTask) shows the path from the top level dependencies down through the transitive dependencies, the dependency insight report shows the path from a particular dependency to the dependencies that pulled it in. That is, it is an inverted view of the regular dependencies report.

The task requires setting the dependency spec and the configuration. For more information on how to configure those please refer to docs for setDependencySpec and setConfiguration.

The task can also be configured from the command line. For more information please refer to setDependencySpec, setConfiguration, setShowSinglePathToDependency, and getShowingAllVariants.

## Constructors

DependencyInsightReportTask
Link copied to clipboard
constructor()

## Properties

configuration
Link copied to clipboard
@get:Internal
@get:Nullable
open var configuration: Configuration
description
Link copied to clipboard
open var description: @Nullable String
enabled
Link copied to clipboard
open var enabled: Boolean
extra
Link copied to clipboard
val ExtensionAware.extra: ExtraPropertiesExtension

The extra properties extension in this object's extension container.

group
Link copied to clipboard
open var group: @Nullable String
impliesSubProjects
Link copied to clipboard
open var impliesSubProjects: Boolean
rootComponentProperty
Link copied to clipboard
@get:Input
@get:Optional
@get:Incubating
val rootComponentProperty: Property<ResolvedComponentResult>
showingAllVariants
Link copied to clipboard
@get:Incubating
@get:Internal
val showingAllVariants: Property<Boolean>
state
Link copied to clipboard
val state: TaskStateInternal
TASK_ACTION
Link copied to clipboard
val TASK_ACTION: String = "action"
TASK_CONSTRUCTOR_ARGS
Link copied to clipboard
val TASK_CONSTRUCTOR_ARGS: String = "constructorArgs"
TASK_DEPENDS_ON
Link copied to clipboard
val TASK_DEPENDS_ON: String = "dependsOn"
TASK_DESCRIPTION
Link copied to clipboard
val TASK_DESCRIPTION: String = "description"
TASK_GROUP
Link copied to clipboard
val TASK_GROUP: String = "group"
TASK_NAME
Link copied to clipboard
val TASK_NAME: String = "name"
TASK_OVERWRITE
Link copied to clipboard
val TASK_OVERWRITE: String = "overwrite"
TASK_TYPE
Link copied to clipboard
val TASK_TYPE: String = "type"
timeout
Link copied to clipboard
val timeout: Property<Duration>

## Functions

acceptServiceReferences
Link copied to clipboard
open fun acceptServiceReferences(serviceReferences: Set<ServiceReferenceSpec>)
appendParallelSafeAction
Link copied to clipboard
open fun appendParallelSafeAction(action: Action<in Task>)
compareTo
Link copied to clipboard
open fun compareTo(otherTask: Task): Int
configure
Link copied to clipboard
open fun configure(closure: Closure): Task
abstract fun configure(cl: Closure): T
configure
Link copied to clipboard
inline fun <T : Any> ExtensionAware.configure(noinline configuration: T.() -> Unit)

Executes the given configuration block against the extension of the specified type.

dependsOn
Link copied to clipboard
open fun dependsOn(paths: Array<Any>): Task
doFirst
Link copied to clipboard
open fun doFirst(action: Action<in Task>): Task
doLast
Link copied to clipboard
open fun doLast(action: Action<in Task>): Task
doNotTrackState
Link copied to clipboard
open fun doNotTrackState(reasonNotToTrackState: String)
finalizedBy
Link copied to clipboard
open fun finalizedBy(paths: Array<Any>): Task
getActions
Link copied to clipboard
open fun getActions(): List<Action<in Task>>
getAnt
Link copied to clipboard
open fun getAnt(): AntBuilder
getAsDynamicObject
Link copied to clipboard
open fun getAsDynamicObject(): DynamicObject
getDependsOn
Link copied to clipboard
open fun getDependsOn(): Set<Any>
getDestroyables
Link copied to clipboard
open fun getDestroyables(): TaskDestroyables
getDidWork
Link copied to clipboard
open fun getDidWork(): Boolean
getExtensions
Link copied to clipboard
open fun getExtensions(): ExtensionContainer
getFinalizedBy
Link copied to clipboard
open fun getFinalizedBy(): TaskDependency
getIdentityPath
Link copied to clipboard
open fun getIdentityPath(): Path
getInputs
Link copied to clipboard
open fun getInputs(): TaskInputsInternal
abstract fun getInputs(): TaskInputs
getLifecycleDependencies
Link copied to clipboard
open fun getLifecycleDependencies(): TaskDependencyInternal
abstract fun getLifecycleDependencies(): TaskDependency
getLocalState
Link copied to clipboard
open fun getLocalState(): TaskLocalState
getLogger
Link copied to clipboard
open fun getLogger(): Logger
getLogging
Link copied to clipboard
open fun getLogging(): LoggingManager
getMustRunAfter
Link copied to clipboard
open fun getMustRunAfter(): TaskDependency
getName
Link copied to clipboard
open fun getName(): String
getOnlyIf
Link copied to clipboard
open fun getOnlyIf(): Spec<in TaskInternal>
getOutputs
Link copied to clipboard
open fun getOutputs(): TaskOutputsInternal
abstract fun getOutputs(): TaskOutputs
getPath
Link copied to clipboard
open fun getPath(): String
getProject
Link copied to clipboard
open fun getProject(): Project
getReasonNotToTrackState
Link copied to clipboard
open fun getReasonNotToTrackState(): Optional<String>
getReasonTaskIsIncompatibleWithConfigurationCache
Link copied to clipboard
open fun getReasonTaskIsIncompatibleWithConfigurationCache(): Optional<String>
getRequiredServices
Link copied to clipboard
open fun getRequiredServices(): TaskRequiredServices
getSharedResources
Link copied to clipboard
open fun getSharedResources(): List<ResourceLock>
abstract fun getSharedResources(): List<out ResourceLock>
getShouldRunAfter
Link copied to clipboard
open fun getShouldRunAfter(): TaskDependency
getStandardOutputCapture
Link copied to clipboard
open fun getStandardOutputCapture(): StandardOutputCapture
getState
Link copied to clipboard
abstract fun getState(): TaskState
getTaskActions
Link copied to clipboard
open fun getTaskActions(): List<InputChangesAwareTaskAction>
getTaskDependencies
Link copied to clipboard
open fun getTaskDependencies(): TaskDependencyInternal
abstract fun getTaskDependencies(): TaskDependency
getTaskIdentity
Link copied to clipboard
open fun getTaskIdentity(): TaskIdentity<out Any>
getTemporaryDir
Link copied to clipboard
open fun getTemporaryDir(): File
getTemporaryDirFactory
Link copied to clipboard
open fun getTemporaryDirFactory(): Factory<File>
hasProperty
Link copied to clipboard
open fun hasProperty(propertyName: String): Boolean
hasTaskActions
Link copied to clipboard
open fun hasTaskActions(): Boolean
injectIntoNewInstance
Link copied to clipboard
open fun <T : Task?> injectIntoNewInstance(project: ProjectInternal, identity: TaskIdentity<T>, factory: Callable<T>): T
isCompatibleWithConfigurationCache
Link copied to clipboard
open fun isCompatibleWithConfigurationCache(): Boolean
isEnabled
Link copied to clipboard
open fun isEnabled(): Boolean
isHasCustomActions
Link copied to clipboard
open fun isHasCustomActions(): Boolean
isShowSinglePathToDependency
Link copied to clipboard
@Internal
open fun isShowSinglePathToDependency(): Boolean
Tells if the report should only show one path to each dependency.
mustRunAfter
Link copied to clipboard
open fun mustRunAfter(paths: Array<Any>): Task
notCompatibleWithConfigurationCache
Link copied to clipboard
open fun notCompatibleWithConfigurationCache(reason: String)
onlyIf
Link copied to clipboard
open fun onlyIf(spec: Spec<in Task>)
prependParallelSafeAction
Link copied to clipboard
open fun prependParallelSafeAction(action: Action<in Task>)
property
Link copied to clipboard
open fun property(propertyName: String): Any
report
Link copied to clipboard
open fun report()
setActions
Link copied to clipboard
open fun setActions(replacements: List<Action<in Task>>)
setConfiguration
Link copied to clipboard
open fun setConfiguration(@Nullable configurationName: @Nullable String)
Sets the configuration (via name) to look the dependency in.
setDependencySpec
Link copied to clipboard
open fun setDependencySpec(@Nullable dependencyInsightNotation: @Nullable Any)
Configures the dependency to show the report for.
open fun setDependencySpec(@Nullable dependencySpec: @Nullable Spec<DependencyResult>)
The dependency spec selects the dependency (or dependencies if multiple matches found) to show the report for.
setDependsOn
Link copied to clipboard
open fun setDependsOn(dependsOn: Iterable<out Any>)
setDidWork
Link copied to clipboard
open fun setDidWork(didWork: Boolean)
setFinalizedBy
Link copied to clipboard
open fun setFinalizedBy(finalizedByTasks: Iterable<out Any>)
setMustRunAfter
Link copied to clipboard
open fun setMustRunAfter(mustRunAfterTasks: Iterable<out Any>)
setOnlyIf
Link copied to clipboard
open fun setOnlyIf(spec: Spec<in Task>)
setProperty
Link copied to clipboard
open fun setProperty(name: String, value: Any)
setShouldRunAfter
Link copied to clipboard
open fun setShouldRunAfter(shouldRunAfterTasks: Iterable<out Any>)
setShowSinglePathToDependency
Link copied to clipboard
open fun setShowSinglePathToDependency(showSinglePathToDependency: Boolean)
Tells if the report should only display a single path to each dependency, which can be useful when the graph is large.
shouldRunAfter
Link copied to clipboard
open fun shouldRunAfter(paths: Array<Any>): TaskDependency
the
Link copied to clipboard
inline fun <T : Any> ExtensionAware.the(): T

Returns the extension of the specified type.

fun <T : Any> ExtensionAware.the(extensionType: KClass<T>): T

Returns the extension of the specified extensionType.

usesService
Link copied to clipboard
open fun usesService(service: Provider<out BuildService<out Any>>)