~fginther/jenkins-launchpad-plugin/getPackageVersion-dev

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/usr/bin/env python
from argparse import ArgumentParser
import argparse
from settings import logger
from bzrrecipe import BzrRecipe
from dputrunner import DputRunner
import os


class StringSplitAction(argparse.Action):
    def __call__(self, parser, namespace, values, option_string=None):
        setattr(namespace, self.dest, values.split(','))


if __name__ == "__main__":
    parser = ArgumentParser(
        description="Generate a branch based package version.")
    parser.add_argument('-a', '--packaging-branch', required=True,
                        help="Packaging branch to be used for dput-ing")
    parser.add_argument('-t', '--target-branch', required=True,
                        help="Target (main) branch to be used for dput-ing")
    parser.add_argument('-v', '--revision', default=None,
                        help="Revision of source branch that should be merged")
    parser.add_argument('-d', '--distribution', required=True,
                        help="Distribution (e.g. quantal)")
    args = vars(parser.parse_args())

    dputrunner = DputRunner(ppas=None,
                            trunk=args['target_branch'],
                            packagingBranch=args['packaging_branch'],
                            DEBFULLNAME=None,
                            DEBEMAIL=None,
                            revision=args['revision'],
                            versionFormat='{PACKAGE_VERSION}+bzr{BZR_REVISION}+'
                            + 'pkg{PACKAGING_REVISION}.{DISTRIBUTION}.1',
                            distributions=None)
    recipe = BzrRecipe(dputrunner.trunk, dputrunner.packagingBranch,
                       dputrunner.revision)
    version = dputrunner.formatVersionString(
                         PACKAGE_VERSION=recipe.getPackageVersion(),
                         BZR_REVISION=recipe.getTrunkRevno(),
                         PACKAGING_REVISION=recipe.getPackagingBranchRevno(),
                         DISTRIBUTION=args['distribution'])
    recipe.cleanup()
    print("version: %s" % (version))