12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- package hercules
- import (
- git "gopkg.in/src-d/go-git.v4"
- "gopkg.in/src-d/go-git.v4/plumbing/object"
- "gopkg.in/src-d/hercules.v4/internal/core"
- "gopkg.in/src-d/hercules.v4/leaves"
- )
- // ConfigurationOptionType represents the possible types of a ConfigurationOption's value.
- type ConfigurationOptionType = core.ConfigurationOptionType
- const (
- // BoolConfigurationOption reflects the boolean value type.
- BoolConfigurationOption = core.BoolConfigurationOption
- // IntConfigurationOption reflects the integer value type.
- IntConfigurationOption = core.IntConfigurationOption
- // StringConfigurationOption reflects the string value type.
- StringConfigurationOption = core.StringConfigurationOption
- // FloatConfigurationOption reflects a floating point value type.
- FloatConfigurationOption = core.FloatConfigurationOption
- // StringsConfigurationOption reflects the array of strings value type.
- StringsConfigurationOption = core.StringsConfigurationOption
- )
- // ConfigurationOption allows for the unified, retrospective way to setup PipelineItem-s.
- type ConfigurationOption = core.ConfigurationOption
- // PipelineItem is the interface for all the units in the Git commits analysis pipeline.
- type PipelineItem = core.PipelineItem
- // FeaturedPipelineItem enables switching the automatic insertion of pipeline items on or off.
- type FeaturedPipelineItem = core.FeaturedPipelineItem
- // LeafPipelineItem corresponds to the top level pipeline items which produce the end results.
- type LeafPipelineItem = core.LeafPipelineItem
- // MergeablePipelineItem specifies the methods to combine several analysis results together.
- type MergeablePipelineItem = core.MergeablePipelineItem
- // CommonAnalysisResult holds the information which is always extracted at Pipeline.Run().
- type CommonAnalysisResult = core.CommonAnalysisResult
- // MetadataToCommonAnalysisResult copies the data from a Protobuf message.
- func MetadataToCommonAnalysisResult(meta *core.Metadata) *CommonAnalysisResult {
- return core.MetadataToCommonAnalysisResult(meta)
- }
- // Pipeline is the core Hercules entity which carries several PipelineItems and executes them.
- // See the extended example of how a Pipeline works in doc.go
- type Pipeline = core.Pipeline
- const (
- // ConfigPipelineDumpPath is the name of the Pipeline configuration option (Pipeline.Initialize())
- // which enables saving the items DAG to the specified file.
- ConfigPipelineDumpPath = core.ConfigPipelineDumpPath
- // ConfigPipelineDryRun is the name of the Pipeline configuration option (Pipeline.Initialize())
- // which disables Configure() and Initialize() invocation on each PipelineItem during the
- // Pipeline initialization.
- // Subsequent Run() calls are going to fail. Useful with ConfigPipelineDumpPath=true.
- ConfigPipelineDryRun = core.ConfigPipelineDryRun
- // ConfigPipelineCommits is the name of the Pipeline configuration option (Pipeline.Initialize())
- // which allows to specify the custom commit sequence. By default, Pipeline.Commits() is used.
- ConfigPipelineCommits = core.ConfigPipelineCommits
- )
- // NewPipeline initializes a new instance of Pipeline struct.
- func NewPipeline(repository *git.Repository) *Pipeline {
- return core.NewPipeline(repository)
- }
- // LoadCommitsFromFile reads the file by the specified FS path and generates the sequence of commits
- // by interpreting each line as a Git commit hash.
- func LoadCommitsFromFile(path string, repository *git.Repository) ([]*object.Commit, error) {
- return core.LoadCommitsFromFile(path, repository)
- }
- // PipelineItemRegistry contains all the known PipelineItem-s.
- type PipelineItemRegistry = core.PipelineItemRegistry
- // Registry contains all known pipeline item types.
- var Registry = core.Registry
- func init() {
- // hack to link with .leaves
- _ = leaves.BurndownAnalysis{}
- }
|