6400121ce41a1e6e72da071e8ffc25c53d193dcd
[cdist.git] / cdist / cmd_release.py
1 class CmdRelease(object):
2     def __init__(self):
3         self.name = 'release'
4         self.help = "release a project using its next version number (changing wscript and tagging)"
5
6     def run(self, args):
7         if args.minor is False and args.micro is False:
8             raise Error('you must specify --minor or --micro')
9
10         target = SourceTarget()
11         tree = globals.trees.get(args.project, args.checkout, target)
12
13         version = tree.version
14         version.to_release()
15         if args.minor:
16             version.bump_minor()
17         else:
18             version.bump_micro()
19
20         set_version_in_wscript(version)
21         append_version_to_changelog(version)
22         append_version_to_debian_changelog(version)
23
24         command('git commit -a -m "Bump version"')
25         command('git tag -m "v%s" v%s' % (version, version))
26
27         version.to_devel()
28         set_version_in_wscript(version)
29         command('git commit -a -m "Bump version"')
30         command('git push')
31         command('git push --tags')
32
33         target.cleanup()