package
9.3.0+incompatible
Repository: https://github.com/src-d/hercules.git
Documentation: pkg.go.dev

# Functions

EnablePathFlagTypeMasquerade changes the type of all "path" command line arguments from "string" to "path".
ForkCopyPipelineItem clones items by copying them by value from the origin.
ForkSamePipelineItem clones items by referencing the same origin.
LoadCommitsFromFile reads the file by the specified FS path and generates the sequence of commits by interpreting each line as a Git commit hash.
MetadataToCommonAnalysisResult copies the data from a Protobuf message.
NewPipeline initializes a new instance of Pipeline struct.
PathifyFlagValue changes the type of a string command line argument to "path".

# Constants

BoolConfigurationOption reflects the boolean value type.
ConfigPipelineCommits is the name of the Pipeline configuration option (Pipeline.Initialize()) which allows to specify the custom commit sequence.
ConfigPipelineDAGPath is the name of the Pipeline configuration option (Pipeline.Initialize()) which enables saving the items DAG to the specified file.
ConfigPipelineDryRun is the name of the Pipeline configuration option (Pipeline.Initialize()) which disables Configure() and Initialize() invocation on each PipelineItem during the Pipeline initialization.
ConfigPipelineDumpPlan is the name of the Pipeline configuration option (Pipeline.Initialize()) which outputs the execution plan to stderr.
ConfigPipelineHibernationDistance is the name of the Pipeline configuration option (Pipeline.Initialize()) which is the minimum number of actions between two sequential usages of a branch to activate the hibernation optimization (cpu-memory trade-off).
ConfigPipelinePrintActions is the name of the Pipeline configuration option (Pipeline.Initialize()) which enables printing the taken actions of the execution plan to stderr.
DependencyCommit is the name of one of the three items in `deps` supplied to PipelineItem.Consume() which always exists.
DependencyIndex is the name of one of the three items in `deps` supplied to PipelineItem.Consume() which always exists.
DependencyIsMerge is the name of one of the three items in `deps` supplied to PipelineItem.Consume() which always exists.
FloatConfigurationOption reflects a floating point value type.
IntConfigurationOption reflects the integer value type.
MessageFinalize is the status text reported before calling LeafPipelineItem.Finalize()-s.
PathConfigurationOption reflects the file system path value type.
StringConfigurationOption reflects the string value type.
StringsConfigurationOption reflects the array of strings value type.

# Variables

Registry contains all known pipeline item types.

# Structs

CommonAnalysisResult holds the information which is always extracted at Pipeline.Run().
ConfigurationOption allows for the unified, retrospective way to setup PipelineItem-s.
NoopMerger provides an empty Merge() method suitable for PipelineItem.
OneShotMergeProcessor provides the convenience method to consume merges only once.
Pipeline is the core Hercules entity which carries several PipelineItems and executes them.
PipelineItemRegistry contains all the known PipelineItem-s.

# Interfaces

FeaturedPipelineItem enables switching the automatic insertion of pipeline items on or off.
HibernateablePipelineItem is the interface to allow pipeline items to be frozen (compacted, unloaded) while they are not needed in the hosting branch.
LeafPipelineItem corresponds to the top level pipeline items which produce the end results.
PipelineItem is the interface for all the units in the Git commits analysis pipeline.
ResultMergeablePipelineItem specifies the methods to combine several analysis results together.

# Type aliases

ConfigurationOptionType represents the possible types of a ConfigurationOption's value.
Metadata is defined in internal/pb/pb.pb.go - header of the binary file.