Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetProjectTagPrefix ¶ added in v0.10.0
GetProjectTagPrefix calculates the project tag prefix for the specified project value
Types ¶
type Bumper ¶ added in v0.6.3
type Bumper interface {
Bump(*version.Version) (*version.Version, error)
}
Bumper bumps a version to a new version
Bump calculates a new version by incrementing (bumping) a version
type CommitParser ¶
type CommitParser interface {
GetBumperFromCommit(*git.Commit) Bumper
}
CommitParser parses the provided commit
GetBumperFromCommit parses a commit message and decide the bumper to use for version
type Differ ¶
Differ performs diff on the repo
Diff two git references and retuns a list of modified files
type GitDiffer ¶ added in v0.10.0
type GitDiffer interface {
Diff(rev string, maxFiles, maxFileLines, maxLineChars int, opts ...git.DiffOptions) (*git.Diff, error)
}
GitDiffer abstracts git diff operations
type GitLogger ¶ added in v0.10.0
type GitLogger interface { Log(rev string, opts ...git.LogOptions) ([]*git.Commit, error) CommitByRevision(rev string, opts ...git.CommitByRevisionOptions) (*git.Commit, error) }
GitLogger abstracts git log operations
type GitTagger ¶ added in v0.10.0
type GitTagger interface { Tags(opts ...git.TagsOptions) ([]string, error) CreateTag(name, rev string, opts ...git.CreateTagOptions) error }
GitTagger abstracts git tag operations
type Logger ¶
type Logger interface { Log(from, to string) ([]*git.Commit, error) CommitHashByRevision(rev string) (string, error) }
Logger performs log commands on the repo
Log returns the commits for the specified reference range in reverse chronological order CommitHashByRevision returns the commit hash matching to a revision
type Tagger ¶
type Tagger interface { CreateTag(versionedCommit *VersionedCommit) error ListProjectVersionTags() ([]string, error) }
Tagger performs tag commands on the repo
CreateTag writes the given tag to the given commit ListProjectVersionTags retrieves all tags for a project using the tag list pattern
type VersionedCommit ¶
type VersionedCommit struct { CommitID string Project string VersionPrefix string Version *version.Version }
VersionedCommit points a commit that is assigned a version
func (*VersionedCommit) GetTag ¶
func (vc *VersionedCommit) GetTag() string
GetTag returns the tag to version a commit with
func (*VersionedCommit) GetVersion ¶ added in v0.6.0
func (vc *VersionedCommit) GetVersion() string
GetVersion returns the version part of the tag
type Versioner ¶
type Versioner interface { GetCurrentVersion() (*VersionedCommit, error) ReleaseNewVersion(commitID string) (*VersionedCommit, error) InitVersion(commitID string) (*VersionedCommit, error) }
Versioner maintains version using tags
GetCurrentVersion retrieves the latest version ReleaseNewVersion creates and persists a new version InitVersion creates and persists the initial version