StigAnalysisP7GenerateDiagramsTask

@CacheableTask
abstract class StigAnalysisP7GenerateDiagramsTask : DefaultTask, StigProblemProducerTask

Direct P7 diagram producer. Walks the analyzer output directory, loads each *.analysis.json into a PipelineGraph, enriches, transforms, and lays out the graph, then emits any combination of SVG / Cytoscape / Sigma files gated by diagramOutputsSvg / diagramOutputsCytoscape / diagramOutputsSigma.

Output paths follow the issue-12 5-axis scheme:

<outputDir>/<at>/<depth>/<merge_mode>/<diagram_type>/<summary_type>/<slug>.<ext>

The task walks the full diagram-type / summary-type matrix, rejects semantically invalid cells with isP7SummaryTypeValidForDiagram, and lets the model-level filters in Transform.keepOnlyDiagramTypeEdges apply the configured diagram semantics.

Constructors

Link copied to clipboard
constructor()

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
open override var actions: List<Action<in Task?>?>?
Link copied to clipboard
@get:Input
@get:Optional
abstract val activityName: Property<String>

Analysed element's display name (e.g. example_activity) — the label of the diagram's outermost box. Wired from the module / DSL. Blank/unset ⇒ no element wrapper (matrix tests, ad-hoc runs). Together with elementAsil / elementType this builds a concrete Element passed to Enrichment.enrich(analyzedElement = …); linking to the real compiled Element instance is a follow-up.

Link copied to clipboard
@get:InputDirectory
@get:PathSensitive(value = PathSensitivity.RELATIVE)
@get:Optional
abstract val analyzerOutputDir: DirectoryProperty
Link copied to clipboard
open override val ant: AntBuilder?
Link copied to clipboard
@get:Internal
open val asDynamicObject: DynamicObject
Link copied to clipboard
@get:InputDirectory
@get:Optional
@get:PathSensitive(value = PathSensitivity.RELATIVE)
abstract val cfgDir: DirectoryProperty

Cfg-files directory produced by stigAnalysisP5GenerateAnalyzerRunPlan. Holds the aggregate <analysisKind>-<sinkASIL>.endpoints.json sidecars. Besides per-symbol ASIL, sink entries carry the exact modeled field and stable presentation slug used to derive logical one-sink views from one aggregate analyzer result. Optional for all-sinks-only ad-hoc rendering; normal report generation always wires it.

Link copied to clipboard
@get:Input
@get:Optional
abstract val cxxfiltBinary: Property<String>
Link copied to clipboard
open override val dependsOn: Set<Any?>?
Link copied to clipboard
open override var description: @Nullable String?
Link copied to clipboard
open override val destroyables: TaskDestroyables?
Link copied to clipboard
@get:Input
abstract val diagramOutputsCytoscape: Property<Boolean>
Link copied to clipboard
@get:Input
abstract val diagramOutputsSigma: Property<Boolean>
Link copied to clipboard
@get:Input
abstract val diagramOutputsSvg: Property<Boolean>
Link copied to clipboard
open override var didWork: Boolean
Link copied to clipboard
@get:Input
abstract val directInterfacesOnly: Property<Boolean>

Direct-interface view: hide edges fully outside the element + the external nodes left unconnected to it (Transform.keepDirectInterfaces).

Link copied to clipboard
@get:Input
@get:Optional
abstract val elementAsil: Property<String>

Analysed element's configured ASIL name (DSL cascade); blank ⇒ unknown.

Link copied to clipboard
@get:Input
@get:Optional
abstract val elementId: Property<String>

Stable canonical Highway model ID for the analysed element, normally the context viewpoint element's MetamodelEntity.id. This is used for the diagram element ID; activityName remains the display label.

Link copied to clipboard
@get:Input
@get:Optional
abstract val elementNamespace: Property<String>

Element's implementation namespace (DSL implementationNamespace, e.g. app::perception) — defines "the element's own code" for the direct-interface projection. Blank ⇒ that projection is a no-op.

Link copied to clipboard
@get:Input
@get:Optional
abstract val elementType: Property<String>

Analysed element's ElementType name (DSL); defaults to COMPONENT.

Link copied to clipboard
open override var enabled: Boolean
Link copied to clipboard
@get:Input
abstract val enableDetailedDiagramsForAllSinks: Property<Boolean>
Link copied to clipboard
@get:Input
abstract val evidenceMode: Property<AnalysisEvidenceMode>
Link copied to clipboard
@get:Inject
abstract val execOperations: ExecOperations
Link copied to clipboard
open override val extensions: ExtensionContainer?
Link copied to clipboard
@get:Input
@get:Optional
abstract val failAt: Property<ProblemSeverity>

Severity threshold for the diagram-completeness postcondition. Absent means report without threshold-based failure.

Link copied to clipboard
open override val finalizedBy: TaskDependency?
Link copied to clipboard
@get:InputFile
@get:PathSensitive(value = PathSensitivity.RELATIVE)
@get:Optional
abstract val functionDescriptionsFile: RegularFileProperty
Link copied to clipboard
@get:InputFile
@get:PathSensitive(value = PathSensitivity.RELATIVE)
@get:Optional
abstract val functionMetricsFile: RegularFileProperty
Link copied to clipboard
open override var group: @Nullable String?
Link copied to clipboard
open val identityPath: Path?
Link copied to clipboard
Link copied to clipboard
@get:Internal
abstract val includedInDefaultProblemAggregate: Property<Boolean>
Link copied to clipboard
open override val inputs: TaskInputsInternal?
Link copied to clipboard
@get:Internal
open var isEnabled: Boolean
Link copied to clipboard
Link copied to clipboard
@get:Input
abstract val knownCascadingFaults: ListProperty<String>

Logical sink fields acknowledged as current cascading faults by this activity.

Link copied to clipboard
@get:Input
abstract val knownMissingExpectedFlows: ListProperty<String>

Logical sink fields acknowledged as current missing expected flows by this activity.

Link copied to clipboard
@get:Internal
open val lifecycleDependencies: TaskDependencyInternal?
Link copied to clipboard
open override val localState: TaskLocalState?
Link copied to clipboard
open override val logger: Logger?
Link copied to clipboard
open override val logging: LoggingManager?
Link copied to clipboard
open val loggingManager: @Nullable LoggingManagerInternal?
Link copied to clipboard
open override val mustRunAfter: TaskDependency?
Link copied to clipboard
open override val name: String?
Link copied to clipboard
open val onlyIf: Spec<in TaskInternal?>?
Link copied to clipboard
@get:OutputDirectory
abstract val outputDir: DirectoryProperty
Link copied to clipboard
open override val outputs: TaskOutputsInternal?
Link copied to clipboard
open override val path: String?
Link copied to clipboard
@get:OutputFile
abstract override val problemsFile: RegularFileProperty
Link copied to clipboard
open override val project: Project?
Link copied to clipboard
@get:Input
abstract val projectPath: Property<String>

Gradle project path captured during configuration for canonical problem provenance.

Link copied to clipboard
@get:Input
abstract val pruneDataFlowToSourceSinkPaths: Property<Boolean>

Data-flow diagrams show endpoint-contributing paths: keep only DAG nodes and edges that are on a configured source-to-sink path.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
@get:Input
@get:Optional
abstract val repoCodeBrowsers: ListProperty<String>
Link copied to clipboard
@get:Input
@get:Optional
abstract val repoCommits: ListProperty<String>
Link copied to clipboard
@get:Input
@get:Optional
abstract val repoGitRoots: ListProperty<String>

Git provenance — one entry per configured repo, used by Enrichment.applySourceUrls to build the provider-correct, commit-pinned source link emitted on every cytoscape node with a known source location. Three list properties (root + remote URL + commit), indices align — entry i across the three lists describes the same repo.

Link copied to clipboard
@get:Input
@get:Optional
abstract val repoRemotePaths: ListProperty<String>
Link copied to clipboard
@get:Input
@get:Optional
abstract val repoRemoteUrls: ListProperty<String>
Link copied to clipboard
open val requiredServices: TaskRequiredServices?
Link copied to clipboard
open val sharedResources: List<ResourceLock?>?
Link copied to clipboard
open override val shouldRunAfter: TaskDependency?
Link copied to clipboard
@get:Input
abstract val showCombinedDiagramsForCascadingFailures: Property<Boolean>
@get:Input
abstract val showCombinedDiagramsForDataAndControlFlow: Property<Boolean>
@get:Input
abstract val showControlFlowDiagramsForCascadingFailures: Property<Boolean>
Link copied to clipboard
@get:Input
abstract val showDataFlowDiagramsForCascadingFailures: Property<Boolean>
@get:Input
abstract val showDataFlowDiagramsForDataAndControlFlow: Property<Boolean>
Link copied to clipboard
open val standardOutputCapture: StandardOutputCapture?
Link copied to clipboard
open override val state: TaskStateInternal?
Link copied to clipboard
open val taskActions: List<InputChangesAwareTaskAction?>?
Link copied to clipboard
open override val taskDependencies: TaskDependencyInternal?
Link copied to clipboard
open val taskIdentity: TaskIdentity<*>?
Link copied to clipboard
open override val temporaryDir: File?
Link copied to clipboard
open val temporaryDirFactory: Factory<File?>?
Link copied to clipboard
open override 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 doNotTrackStateIf(reason: String?, spec: Spec<in TaskInternal?>?)
Link copied to clipboard
open fun finalizedBy(vararg paths: Any?): Task?
Link copied to clipboard
open fun getActions(): List<Action<in Task?>?>?
Link copied to clipboard
open fun getAnt(): AntBuilder?
Link copied to clipboard
open fun getDependsOn(): Set<Any?>?
Link copied to clipboard
open fun getDescription(): @Nullable String?
Link copied to clipboard
open fun getDestroyables(): TaskDestroyables?
Link copied to clipboard
open fun getDidWork(): Boolean
Link copied to clipboard
open fun getEnabled(): Boolean
Link copied to clipboard
open fun getExtensions(): ExtensionContainer?
Link copied to clipboard
open fun getFinalizedBy(): TaskDependency?
Link copied to clipboard
open fun getGroup(): @Nullable String?
Link copied to clipboard
open fun getInputs(): TaskInputsInternal?
Link copied to clipboard
open fun getLocalState(): TaskLocalState?
Link copied to clipboard
open fun getLogger(): Logger?
Link copied to clipboard
open fun getLogging(): LoggingManager?
Link copied to clipboard
open fun getMustRunAfter(): TaskDependency?
Link copied to clipboard
open fun getName(): String?
Link copied to clipboard
open fun getOutputs(): TaskOutputsInternal?
Link copied to clipboard
open fun getPath(): String?
Link copied to clipboard
open fun getProject(): Project?
Link copied to clipboard
open fun getShouldRunAfter(): TaskDependency?
Link copied to clipboard
open fun getState(): TaskStateInternal?
Link copied to clipboard
open fun getTaskDependencies(): TaskDependencyInternal?
Link copied to clipboard
open fun getTemporaryDir(): File?
Link copied to clipboard
open fun getTimeout(): Property<Duration?>?
Link copied to clipboard
open fun hasProperty(propertyName: String?): Boolean
Link copied to clipboard
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 restoreOnlyIf(onlyIf: Spec<in TaskInternal?>?)
Link copied to clipboard
open fun restoreTaskActions(taskActions: List<InputChangesAwareTaskAction?>?)
Link copied to clipboard
fun run()
Link copied to clipboard
open fun setActions(replacements: List<Action<in Task?>?>?)
Link copied to clipboard
open fun setDependsOn(dependsOn: Iterable<*>?)
Link copied to clipboard
open fun setDescription(description: @Nullable String?)
Link copied to clipboard
open fun setDidWork(didWork: Boolean)
Link copied to clipboard
open fun setEnabled(enabled: Boolean)
Link copied to clipboard
open fun setFinalizedBy(finalizedByTasks: Iterable<*>?)
Link copied to clipboard
open fun setGroup(group: @Nullable String?)
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<*>?>?)