| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 | package herculesimport (	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.ConfigurationOptionTypeconst (	// 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.gotype Pipeline = core.Pipelineconst (	// 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.Registryfunc init() {	// hack to link with .leaves	_ = leaves.BurndownAnalysis{}}
 |