Skip to content

Commit

Permalink
Merge pull request #62 from ofek/custom-pre-build
Browse files Browse the repository at this point in the history
support custom default names for pre and build
  • Loading branch information
k-bx committed Aug 25, 2017
2 parents 87cdb89 + 5d88053 commit 23b5389
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 6 deletions.
18 changes: 12 additions & 6 deletions semver.py
Original file line number Diff line number Diff line change
Expand Up @@ -328,27 +328,33 @@ def bump_patch(version):
verinfo['patch'] + 1)


def bump_prerelease(version):
def bump_prerelease(version, token='rc'):
"""Raise the prerelease part of the version
:param: version string
:param version: version string
:param token: defaults to 'rc'
:return: the raised version string
:rtype: str
"""
verinfo = parse(version)
verinfo['prerelease'] = _increment_string(verinfo['prerelease'] or 'rc.0')
verinfo['prerelease'] = _increment_string(
verinfo['prerelease'] or (token or 'rc') + '.0'
)
return format_version(verinfo['major'], verinfo['minor'], verinfo['patch'],
verinfo['prerelease'])


def bump_build(version):
def bump_build(version, token='build'):
"""Raise the build part of the version
:param: version string
:param version: version string
:param token: defaults to 'build'
:return: the raised version string
:rtype: str
"""
verinfo = parse(version)
verinfo['build'] = _increment_string(verinfo['build'] or 'build.0')
verinfo['build'] = _increment_string(
verinfo['build'] or (token or 'build') + '.0'
)
return format_version(verinfo['major'], verinfo['minor'], verinfo['patch'],
verinfo['prerelease'], verinfo['build'])
4 changes: 4 additions & 0 deletions tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -260,6 +260,8 @@ def test_prerelease_order():
def test_should_bump_prerelease():
assert bump_prerelease('3.4.5-rc.9') == '3.4.5-rc.10'
assert bump_prerelease('3.4.5') == '3.4.5-rc.1'
assert bump_prerelease('3.4.5', 'dev') == '3.4.5-dev.1'
assert bump_prerelease('3.4.5', '') == '3.4.5-rc.1'


def test_should_ignore_build_on_prerelease_bump():
Expand All @@ -271,6 +273,8 @@ def test_should_bump_build():
assert bump_build('3.4.5-rc.1+0009.dev') == '3.4.5-rc.1+0010.dev'
assert bump_build('3.4.5-rc.1') == '3.4.5-rc.1+build.1'
assert bump_build('3.4.5') == '3.4.5+build.1'
assert bump_build('3.4.5', 'nightly') == '3.4.5+nightly.1'
assert bump_build('3.4.5', '') == '3.4.5+build.1'


def test_should_compare_version_info_objects():
Expand Down

0 comments on commit 23b5389

Please sign in to comment.