コード例 #1
0
ファイル: cli.py プロジェクト: haeric/python-semantic-release
def version(**kwargs):
    """
    Detects the new version according to git log and semver. Writes the new version
    number and commits it(unless the noop-option is True.
    """
    click.echo('Creating new version..')
    current_version = get_current_version()
    click.echo('Current version: {0}'.format(current_version))
    level_bump = evaluate_version_bump(current_version, kwargs['force_level'])
    new_version = get_new_version(current_version, level_bump)

    if new_version == current_version:
        click.echo(click.style('No release will be made.', fg='yellow'))
        return False

    if kwargs['noop'] is True:
        click.echo('{} Should have bumped from {} to {}.'.format(
            click.style('No operation mode.', fg='yellow'),
            current_version,
            new_version
        ))
        return False

    set_new_version(new_version)
    commit_new_version(new_version)
    tag_new_version(new_version)
    click.echo('Bumping with a {0} version to {1}.'.format(level_bump, new_version))
    return True
コード例 #2
0
 def test_None_bump(self):
     self.assertEqual(get_new_version('1.0.0', None), '1.0.0')
コード例 #3
0
 def test_minor_bump(self):
     self.assertEqual(get_new_version('0.0.0', 'minor'), '0.1.0')
     self.assertEqual(get_new_version('1.2.0', 'minor'), '1.3.0')
     self.assertEqual(get_new_version('1.2.1', 'minor'), '1.3.0')
     self.assertEqual(get_new_version('10.1.0', 'minor'), '10.2.0')
コード例 #4
0
 def test_patch_bump(self):
     self.assertEqual(get_new_version('0.0.0', 'patch'), '0.0.1')
     self.assertEqual(get_new_version('0.1.0', 'patch'), '0.1.1')
     self.assertEqual(get_new_version('10.0.9', 'patch'), '10.0.10')
コード例 #5
0
 def test_major_bump(self):
     self.assertEqual(get_new_version('0.0.0', 'major'), '1.0.0')
     self.assertEqual(get_new_version('0.1.0', 'major'), '1.0.0')
     self.assertEqual(get_new_version('0.1.9', 'major'), '1.0.0')
     self.assertEqual(get_new_version('10.1.0', 'major'), '11.0.0')