#!/usr/bin/env python
import subprocess
import click
from versionpy import increment_version, click_validate_version


@click.command()
@click.argument('new_version', default='BUGFIX', callback=click_validate_version)
@click.option('-p', 'package_name')
def main(new_version, package_name=None):
    """ Usage: bump [bugfix,minor,major,1.0.1] [-p package_name]
    """
    version_file, new_version = increment_version(new_version, package_name)
    run_cmdl(f'git push')
    run_cmdl(f'git add {version_file}')
    run_cmdl(f'git commit -m "Bump {new_version}"')
    run_cmdl(f'git tag {new_version}')
    run_cmdl(f'git push origin {new_version}')
    run_cmdl(f'git push')


def run_cmdl(_cmd):
    print('$ ' + _cmd)
    subprocess.run(_cmd, shell=True, check=True)


if __name__ == '__main__':
    main()
