GenerateGraphHtmlTask

@CacheableTask
abstract class GenerateGraphHtmlTask : DefaultTask(source)

Generates interactive HTML visualizations of Metro dependency graphs using ECharts.

The generated HTML files are self-contained and can be opened directly in a browser. They use Apache ECharts for beautiful, interactive graph visualization with the following features:

  • Force-directed layout: Automatic node positioning with physics simulation

  • Interactive: Drag nodes, zoom, pan, hover tooltips

  • Search & filter: Find bindings by name, filter by type

  • Focus mode: Click a node to highlight its connections

  • Legend: Color-coded by binding kind with toggle visibility

  • Responsive: Adapts to window size

  • Beautiful defaults: Gradient backgrounds, smooth animations, professional styling

One HTML file is generated per dependency graph, plus an index page.

Constructors

Link copied to clipboard
constructor()

Properties

Link copied to clipboard
open var actions: List<Action<in Task>>
Link copied to clipboard
@get:InputFile
@get:PathSensitive(value = PathSensitivity.RELATIVE)
abstract val analysisFile: RegularFileProperty

Analysis report JSON file from AnalyzeGraphTask. Analysis metrics (fan-in/out, centrality, dominator count) are included in the visualization.

Link copied to clipboard
open val ant: AntBuilder
Link copied to clipboard
@get:Internal
open val asDynamicObject: DynamicObject
Link copied to clipboard
open val dependsOn: Set<Any>
Link copied to clipboard
open var description: @Nullable String?
Link copied to clipboard
open val destroyables: TaskDestroyables
Link copied to clipboard
open var didWork: Boolean
Link copied to clipboard
open var enabled: Boolean
Link copied to clipboard
open val extensions: ExtensionContainer
Link copied to clipboard
open val finalizedBy: TaskDependency
Link copied to clipboard
open var group: @Nullable String?
Link copied to clipboard
open val identityPath: Path
Link copied to clipboard
Link copied to clipboard
@get:InputFile
@get:PathSensitive(value = PathSensitivity.RELATIVE)
abstract val inputFile: RegularFileProperty

The aggregated graph metadata JSON file to visualize.

Link copied to clipboard
open val inputs: TaskInputsInternal
Link copied to clipboard
@get:Internal
open var isEnabled: Boolean
Link copied to clipboard
Link copied to clipboard
@get:Internal
open val lifecycleDependencies: TaskDependencyInternal
Link copied to clipboard
open val localState: TaskLocalState
Link copied to clipboard
open val logger: Logger
Link copied to clipboard
open val logging: LoggingManager
Link copied to clipboard
open val mustRunAfter: TaskDependency
Link copied to clipboard
open val name: String
Link copied to clipboard
open val onlyIf: Spec<in TaskInternal>
Link copied to clipboard
@get:OutputDirectory
abstract val outputDirectory: DirectoryProperty

The output directory for HTML files (one per graph).

Link copied to clipboard
open val outputs: TaskOutputsInternal
Link copied to clipboard
open val path: String
Link copied to clipboard
open val project: Project
Link copied to clipboard
Link copied to clipboard
open val requiredServices: TaskRequiredServices
Link copied to clipboard
open val sharedResources: List<ResourceLock>
Link copied to clipboard
open val shouldRunAfter: TaskDependency
Link copied to clipboard
open val standardOutputCapture: StandardOutputCapture
Link copied to clipboard
open val state: TaskStateInternal
Link copied to clipboard
open val taskActions: List<InputChangesAwareTaskAction>
Link copied to clipboard
open val taskDependencies: TaskDependencyInternal
Link copied to clipboard
open val taskIdentity: TaskIdentity<*>
Link copied to clipboard
open val temporaryDir: File
Link copied to clipboard
open val temporaryDirFactory: Factory<File>
Link copied to clipboard
open val timeout: Property<Duration>

Functions

Link copied to clipboard
open fun acceptServiceReferences(serviceReferences: Set<ServiceReferenceSpec>)
Link copied to clipboard
open fun appendParallelSafeAction(action: Action<in Task>)
Link copied to clipboard
open operator fun compareTo(otherTask: Task): Int
Link copied to clipboard
open fun configure(closure: Closure<*>): Task
Link copied to clipboard
open fun dependsOn(vararg paths: Any): Task
Link copied to clipboard
open fun doFirst(action: Closure<*>): Task
open fun doFirst(action: Action<in Task>): Task
open fun doFirst(actionName: String, action: Action<in Task>): Task
Link copied to clipboard
open fun doLast(action: Closure<*>): Task
open fun doLast(action: Action<in Task>): Task
open fun doLast(actionName: String, action: Action<in Task>): Task
Link copied to clipboard
open fun doNotTrackState(reasonNotToTrackState: String)
Link copied to clipboard
open fun finalizedBy(vararg paths: Any): Task
Link copied to clipboard
open fun hasProperty(propertyName: String): Boolean
Link copied to clipboard
Link copied to clipboard
open fun mustRunAfter(vararg paths: Any): Task
Link copied to clipboard
open fun onlyIf(onlyIfClosure: Closure<*>)
open fun onlyIf(spec: Spec<in Task>)
open fun onlyIf(onlyIfReason: String, spec: Spec<in Task>)
Link copied to clipboard
open fun prependParallelSafeAction(action: Action<in Task>)
Link copied to clipboard
open fun property(propertyName: String): Any
Link copied to clipboard
open fun setDependsOn(dependsOn: Iterable<*>)
Link copied to clipboard
open fun setFinalizedBy(finalizedByTasks: Iterable<*>)
Link copied to clipboard
open fun setMustRunAfter(mustRunAfterTasks: Iterable<*>)
Link copied to clipboard
open fun setOnlyIf(onlyIfClosure: Closure<*>)
open fun setOnlyIf(spec: Spec<in Task>)
open fun setOnlyIf(onlyIfReason: String, spec: Spec<in Task>)
Link copied to clipboard
open fun setProperty(name: String, value: Any)
Link copied to clipboard
open fun setShouldRunAfter(shouldRunAfterTasks: Iterable<*>)
Link copied to clipboard
open fun shouldRunAfter(vararg paths: Any): TaskDependency
Link copied to clipboard
open fun usesService(service: Provider<out BuildService<*>>)