public class PipelineNodeGraphVisitor
extends org.jenkinsci.plugins.workflow.graphanalysis.StandardChunkVisitor
Run your Jenkins instance with -DNODE-DUMP-ENABLED to turn on the logging when diagnosing bugs! You'll
also need to have a logging config that enables debug for (at least) this class. Use
-Djava.util.logging.config.file=./logging.properties to set a custom logging properties file from the
command line, or do it from within the admin UI.
| Modifier and Type | Field and Description |
|---|---|
Map<String,FlowNodeWrapper> |
nodeMap |
ArrayDeque<FlowNodeWrapper> |
nodes |
Map<String,Stack<FlowNodeWrapper>> |
stackPerEnd |
| Constructor and Description |
|---|
PipelineNodeGraphVisitor(org.jenkinsci.plugins.workflow.job.WorkflowRun run) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
accumulatePipelineActions(org.jenkinsci.plugins.workflow.graph.FlowNode node)
Find any Actions on this node, and add them to the pipelineActions collection until we can attach
them to a FlowNodeWrapper.
|
void |
atomNode(org.jenkinsci.plugins.workflow.graph.FlowNode before,
org.jenkinsci.plugins.workflow.graph.FlowNode atomNode,
org.jenkinsci.plugins.workflow.graph.FlowNode after,
org.jenkinsci.plugins.workflow.graphanalysis.ForkScanner scan) |
void |
chunkEnd(org.jenkinsci.plugins.workflow.graph.FlowNode endNode,
org.jenkinsci.plugins.workflow.graph.FlowNode afterBlock,
org.jenkinsci.plugins.workflow.graphanalysis.ForkScanner scanner) |
void |
chunkStart(org.jenkinsci.plugins.workflow.graph.FlowNode startNode,
org.jenkinsci.plugins.workflow.graph.FlowNode beforeBlock,
org.jenkinsci.plugins.workflow.graphanalysis.ForkScanner scanner) |
protected Set<Action> |
drainPipelineActions()
Empty the pipelineActions buffer, returning its contents.
|
List<FlowNodeWrapper> |
getPipelineNodes() |
protected void |
handleChunkDone(org.jenkinsci.plugins.workflow.graphanalysis.MemoryFlowChunk chunk) |
boolean |
isDeclarative() |
void |
parallelBranchEnd(org.jenkinsci.plugins.workflow.graph.FlowNode parallelStartNode,
org.jenkinsci.plugins.workflow.graph.FlowNode branchEndNode,
org.jenkinsci.plugins.workflow.graphanalysis.ForkScanner scanner) |
void |
parallelBranchStart(org.jenkinsci.plugins.workflow.graph.FlowNode parallelStartNode,
org.jenkinsci.plugins.workflow.graph.FlowNode branchStartNode,
org.jenkinsci.plugins.workflow.graphanalysis.ForkScanner scanner) |
void |
parallelEnd(org.jenkinsci.plugins.workflow.graph.FlowNode parallelStartNode,
org.jenkinsci.plugins.workflow.graph.FlowNode parallelEndNode,
org.jenkinsci.plugins.workflow.graphanalysis.ForkScanner scanner) |
void |
parallelStart(org.jenkinsci.plugins.workflow.graph.FlowNode parallelStartNode,
org.jenkinsci.plugins.workflow.graph.FlowNode branchNode,
org.jenkinsci.plugins.workflow.graphanalysis.ForkScanner scanner) |
protected void |
resetChunk(org.jenkinsci.plugins.workflow.graphanalysis.MemoryFlowChunk chunk) |
public final ArrayDeque<FlowNodeWrapper> nodes
public final Map<String,FlowNodeWrapper> nodeMap
public final Map<String,Stack<FlowNodeWrapper>> stackPerEnd
public PipelineNodeGraphVisitor(org.jenkinsci.plugins.workflow.job.WorkflowRun run)
public void chunkStart(@Nonnull org.jenkinsci.plugins.workflow.graph.FlowNode startNode, @CheckForNull org.jenkinsci.plugins.workflow.graph.FlowNode beforeBlock, @Nonnull org.jenkinsci.plugins.workflow.graphanalysis.ForkScanner scanner)
chunkStart in interface org.jenkinsci.plugins.workflow.graphanalysis.SimpleChunkVisitorchunkStart in class org.jenkinsci.plugins.workflow.graphanalysis.StandardChunkVisitorpublic void chunkEnd(@Nonnull org.jenkinsci.plugins.workflow.graph.FlowNode endNode, @CheckForNull org.jenkinsci.plugins.workflow.graph.FlowNode afterBlock, @Nonnull org.jenkinsci.plugins.workflow.graphanalysis.ForkScanner scanner)
chunkEnd in interface org.jenkinsci.plugins.workflow.graphanalysis.SimpleChunkVisitorchunkEnd in class org.jenkinsci.plugins.workflow.graphanalysis.StandardChunkVisitorprotected void handleChunkDone(@Nonnull org.jenkinsci.plugins.workflow.graphanalysis.MemoryFlowChunk chunk)
handleChunkDone in class org.jenkinsci.plugins.workflow.graphanalysis.StandardChunkVisitorprotected void resetChunk(@Nonnull org.jenkinsci.plugins.workflow.graphanalysis.MemoryFlowChunk chunk)
resetChunk in class org.jenkinsci.plugins.workflow.graphanalysis.StandardChunkVisitorpublic void parallelStart(@Nonnull org.jenkinsci.plugins.workflow.graph.FlowNode parallelStartNode, @Nonnull org.jenkinsci.plugins.workflow.graph.FlowNode branchNode, @Nonnull org.jenkinsci.plugins.workflow.graphanalysis.ForkScanner scanner)
parallelStart in interface org.jenkinsci.plugins.workflow.graphanalysis.SimpleChunkVisitorparallelStart in class org.jenkinsci.plugins.workflow.graphanalysis.StandardChunkVisitorpublic void parallelEnd(@Nonnull org.jenkinsci.plugins.workflow.graph.FlowNode parallelStartNode, @Nonnull org.jenkinsci.plugins.workflow.graph.FlowNode parallelEndNode, @Nonnull org.jenkinsci.plugins.workflow.graphanalysis.ForkScanner scanner)
parallelEnd in interface org.jenkinsci.plugins.workflow.graphanalysis.SimpleChunkVisitorparallelEnd in class org.jenkinsci.plugins.workflow.graphanalysis.StandardChunkVisitorpublic void parallelBranchStart(@Nonnull org.jenkinsci.plugins.workflow.graph.FlowNode parallelStartNode, @Nonnull org.jenkinsci.plugins.workflow.graph.FlowNode branchStartNode, @Nonnull org.jenkinsci.plugins.workflow.graphanalysis.ForkScanner scanner)
parallelBranchStart in interface org.jenkinsci.plugins.workflow.graphanalysis.SimpleChunkVisitorparallelBranchStart in class org.jenkinsci.plugins.workflow.graphanalysis.StandardChunkVisitorpublic void parallelBranchEnd(@Nonnull org.jenkinsci.plugins.workflow.graph.FlowNode parallelStartNode, @Nonnull org.jenkinsci.plugins.workflow.graph.FlowNode branchEndNode, @Nonnull org.jenkinsci.plugins.workflow.graphanalysis.ForkScanner scanner)
parallelBranchEnd in interface org.jenkinsci.plugins.workflow.graphanalysis.SimpleChunkVisitorparallelBranchEnd in class org.jenkinsci.plugins.workflow.graphanalysis.StandardChunkVisitorpublic void atomNode(@CheckForNull org.jenkinsci.plugins.workflow.graph.FlowNode before, @Nonnull org.jenkinsci.plugins.workflow.graph.FlowNode atomNode, @CheckForNull org.jenkinsci.plugins.workflow.graph.FlowNode after, @Nonnull org.jenkinsci.plugins.workflow.graphanalysis.ForkScanner scan)
atomNode in interface org.jenkinsci.plugins.workflow.graphanalysis.SimpleChunkVisitoratomNode in class org.jenkinsci.plugins.workflow.graphanalysis.StandardChunkVisitorprotected void accumulatePipelineActions(org.jenkinsci.plugins.workflow.graph.FlowNode node)
protected Set<Action> drainPipelineActions()
public List<FlowNodeWrapper> getPipelineNodes()
public boolean isDeclarative()
Copyright © 2016–2021. All rights reserved.