diff options
| author | Carl Hetherington <cth@carlh.net> | 2014-01-09 21:21:09 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2014-01-09 21:21:09 +0000 |
| commit | 15ef3602230deec5e1d4e9f74992f999a5cb641c (patch) | |
| tree | a5081aea6cca2bd425c0a23378279564fb6bd879 | |
| parent | 411fe562073eeb2b8ff616e16b315e3b506c5445 (diff) | |
Try to replace beta versions with micro versioning.
| -rwxr-xr-x | cdist | 67 |
1 files changed, 26 insertions, 41 deletions
@@ -137,7 +137,6 @@ def read_wscript_variable(directory, variable): class Version: def __init__(self, s): self.pre = False - self.beta = None if s.startswith("'"): s = s[1:] @@ -148,47 +147,32 @@ class Version: s = s[0:-3] self.pre = True - b = s.find("beta") - if b != -1: - self.beta = int(s[b+4:]) - s = s[0:b] - p = s.split('.') self.major = int(p[0]) self.minor = int(p[1]) + if len(p) == 3: + self.micro = int(p[2]) + else: + self.micro = 0 - def bump(self): + def bump_minor(self): self.minor += 1 + self.micro = 0 self.pre = False - self.beta = None - def to_pre(self): - self.pre = True - self.beta = None + def bump_micro(self): + self.micro += 1 + self.pre = False - def bump_and_to_pre(self): - self.bump() + def to_pre(self): self.pre = True - self.beta = None def to_release(self): self.pre = False - self.beta = None - - def bump_beta(self): - if self.pre: - self.pre = False - self.beta = 1 - elif self.beta is not None: - self.beta += 1 - elif self.beta is None: - self.beta = 1 def __str__(self): - s = '%d.%02d' % (self.major, self.minor) - if self.beta is not None: - s += 'beta%d' % self.beta - elif self.pre: + s = '%d.%02d.%d' % (self.major, self.minor, self.micro) + if self.pre: s += 'pre' return s @@ -588,8 +572,8 @@ parser = argparse.ArgumentParser() parser.add_argument('command') parser.add_argument('-p', '--project', help='project name') parser.add_argument('-d', '--directory', help='directory within project repo', default='.') -parser.add_argument('--beta', help='beta release', action='store_true') -parser.add_argument('--full', help='full release', action='store_true') +parser.add_argument('--minor', help='minor version number bump', action='store_true') +parser.add_argument('--micro', help='micro version number bump', action='store_true') parser.add_argument('-c', '--checkout', help='string to pass to git for checkout') parser.add_argument('-o', '--output', help='output directory', default='.') parser.add_argument('-q', '--quiet', help='be quiet', action='store_true') @@ -644,17 +628,14 @@ elif args.command == 'package': target.cleanup() elif args.command == 'release': - if args.full is False and args.beta is False: - raise Error('you must specify --full or --beta') + if args.minor is False and args.micro is False: + raise Error('you must specify --minor or --micro') target = SourceTarget() project.checkout(target) version = project.version - if args.full: - version.to_release() - else: - version.bump_beta() + version.to_release() set_version_in_wscript(version) append_version_to_changelog(version) @@ -663,11 +644,14 @@ elif args.command == 'release': command('git commit -a -m "Bump version"') command('git tag -m "v%s" v%s' % (version, version)) - if args.full: - version.bump_and_to_pre() - set_version_in_wscript(version) - command('git commit -a -m "Bump version"') + if args.minor: + version.bump_minor() + else: + version.bump_micro() + version.to_pre() + set_version_in_wscript(version) + command('git commit -a -m "Bump version"') command('git push') command('git push --tags') @@ -702,7 +686,8 @@ elif args.command == 'changelog': if len(l) > 0 and l[0] == "\t": s = l.split() if len(s) == 4 and s[1] == "Version" and s[3] == "released.": - if not "beta" in s[2]: + v = Version(s[2]) + if v.micro == 0: if last is not None and len(changes) > 0: print >>html,"<h2>Changes between version %s and %s</h2>" % (s[2], last) print >>html,"<ul>" |
