Documentation
¶
Index ¶
- type LatestPreReleases
- type PreReleaseInfo
- type PreReleaseType
- type VersionManager
- func (vm *VersionManager) BumpMajor(v *semver.Version) *semver.Version
- func (vm *VersionManager) BumpMinor(v *semver.Version) *semver.Version
- func (vm *VersionManager) BumpPatch(v *semver.Version) *semver.Version
- func (vm *VersionManager) BumpPreRelease(v *semver.Version) (*semver.Version, error)
- func (vm *VersionManager) CalculateNewVersion(current *semver.Version, bumpType string) (*semver.Version, error)
- func (vm *VersionManager) FindNextPreReleaseNumber(versions []*semver.Version, baseVersion *semver.Version, ...) int
- func (vm *VersionManager) FormatVersion(v *semver.Version) string
- func (vm *VersionManager) GetAllPreReleasesForBase(versions []*semver.Version, baseVersion *semver.Version) []*semver.Version
- func (vm *VersionManager) GetLatestPreReleases(versions []*semver.Version, baseVersion *semver.Version) *LatestPreReleases
- func (vm *VersionManager) GetLatestStableVersion(versions []*semver.Version) *semver.Version
- func (vm *VersionManager) GetLatestVersion(versions []*semver.Version) *semver.Version
- func (vm *VersionManager) GetPreReleaseInfo(v *semver.Version) *PreReleaseInfo
- func (vm *VersionManager) IsPreRelease(v *semver.Version) bool
- func (vm *VersionManager) NextPreReleaseStage(v *semver.Version) (*semver.Version, error)
- func (vm *VersionManager) ParseTags(tags []string) ([]*semver.Version, error)
- func (vm *VersionManager) ReleaseStable(v *semver.Version) (*semver.Version, error)
- func (vm *VersionManager) SetPreRelease(v *semver.Version, preType PreReleaseType, num int) (*semver.Version, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type LatestPreReleases ¶ added in v0.2.0
LatestPreReleases contains the latest version for each pre-release type
type PreReleaseInfo ¶ added in v0.2.0
type PreReleaseInfo struct {
Type PreReleaseType
Number int
}
PreReleaseInfo contains parsed pre-release information
type PreReleaseType ¶ added in v0.2.0
type PreReleaseType string
PreReleaseType represents the type of pre-release
const ( PreReleaseAlpha PreReleaseType = "alpha" PreReleaseBeta PreReleaseType = "beta" PreReleaseRC PreReleaseType = "rc" )
type VersionManager ¶
type VersionManager struct{}
VersionManager 管理语义化版本
func NewVersionManager ¶
func NewVersionManager() *VersionManager
NewVersionManager 创建一个新的 VersionManager
func (*VersionManager) BumpMajor ¶
func (vm *VersionManager) BumpMajor(v *semver.Version) *semver.Version
BumpMajor 递增主版本号
func (*VersionManager) BumpMinor ¶
func (vm *VersionManager) BumpMinor(v *semver.Version) *semver.Version
BumpMinor 递增次版本号
func (*VersionManager) BumpPatch ¶
func (vm *VersionManager) BumpPatch(v *semver.Version) *semver.Version
BumpPatch 递增补丁版本号
func (*VersionManager) BumpPreRelease ¶ added in v0.2.0
BumpPreRelease increments the pre-release number (alpha-1 → alpha-2)
func (*VersionManager) CalculateNewVersion ¶
func (vm *VersionManager) CalculateNewVersion(current *semver.Version, bumpType string) (*semver.Version, error)
CalculateNewVersion 根据更新类型计算新版本号
func (*VersionManager) FindNextPreReleaseNumber ¶ added in v0.2.0
func (vm *VersionManager) FindNextPreReleaseNumber(versions []*semver.Version, baseVersion *semver.Version, preType PreReleaseType) int
FindNextPreReleaseNumber finds the next available number for a pre-release type
func (*VersionManager) FormatVersion ¶
func (vm *VersionManager) FormatVersion(v *semver.Version) string
FormatVersion 格式化版本号为 vX.Y.Z 格式
func (*VersionManager) GetAllPreReleasesForBase ¶ added in v0.2.0
func (vm *VersionManager) GetAllPreReleasesForBase(versions []*semver.Version, baseVersion *semver.Version) []*semver.Version
GetAllPreReleasesForBase returns all pre-release versions for a given base version, sorted
func (*VersionManager) GetLatestPreReleases ¶ added in v0.2.0
func (vm *VersionManager) GetLatestPreReleases(versions []*semver.Version, baseVersion *semver.Version) *LatestPreReleases
GetLatestPreReleases returns the latest version for each pre-release type for a given base version
func (*VersionManager) GetLatestStableVersion ¶ added in v0.2.0
func (vm *VersionManager) GetLatestStableVersion(versions []*semver.Version) *semver.Version
GetLatestStableVersion returns the latest stable (non-pre-release) version
func (*VersionManager) GetLatestVersion ¶
func (vm *VersionManager) GetLatestVersion(versions []*semver.Version) *semver.Version
GetLatestVersion 获取最新版本,如果没有版本则返回 v0.0.0
func (*VersionManager) GetPreReleaseInfo ¶ added in v0.2.0
func (vm *VersionManager) GetPreReleaseInfo(v *semver.Version) *PreReleaseInfo
GetPreReleaseInfo parses the pre-release suffix and returns type and number Expected format: alpha-1, beta-2, rc-1
func (*VersionManager) IsPreRelease ¶ added in v0.2.0
func (vm *VersionManager) IsPreRelease(v *semver.Version) bool
IsPreRelease checks if a version has a pre-release suffix
func (*VersionManager) NextPreReleaseStage ¶ added in v0.2.0
NextPreReleaseStage advances the pre-release stage (alpha → beta → rc)
func (*VersionManager) ParseTags ¶
func (vm *VersionManager) ParseTags(tags []string) ([]*semver.Version, error)
ParseTags 解析 tags,返回符合 semver 格式的版本列表
func (*VersionManager) ReleaseStable ¶ added in v0.2.0
ReleaseStable removes the pre-release suffix to create a stable version
func (*VersionManager) SetPreRelease ¶ added in v0.2.0
func (vm *VersionManager) SetPreRelease(v *semver.Version, preType PreReleaseType, num int) (*semver.Version, error)
SetPreRelease creates a new version with the specified pre-release type and number