import argparse
+import collections
import os
import yaml
"job is built successfully.\n\n"
"Example: aaa,controller,yangtools"))
parser.add_argument("-t", "--templates", help="Job templates to use")
- parser.add_argument("-b", "--branches", help="Git Branches to build")
+ parser.add_argument("-s", "--streams",
+ help="Release streams to fill with default options")
parser.add_argument("-p", "--pom", help="Path to pom.xml to use in Maven "
"build (Default: pom.xml")
parser.add_argument("-g", "--mvn-goals", help="Maven Goals")
return parser.parse_args()
+STREAM_DEFAULTS = collections.OrderedDict([
+ ("boron", {"branch": "master", "jdks": "openjdk8"}),
+ ("beryllium", {"branch": "stable/beryllium", "jdks": "openjdk8"}),
+ ("stable-lithium", {"branch": "stable/lithium", "jdks": "openjdk7"}),
+])
+
+
def create_template_config(project_dir, args):
cfg_data = dict()
if args.templates:
cfg_data["JOB_TEMPLATES"] = args.templates
- if args.branches:
- branch_list = list()
- for branch in args.branches.split(","):
- branch_list.append({branch: {"jdks": "openjdk7"}})
- cfg_data["BRANCHES"] = branch_list
+ if args.streams:
+ stream_list = list()
+ for stream in args.streams.split(","):
+ stream_list.append({stream: STREAM_DEFAULTS[stream]})
+ cfg_data["STREAMS"] = stream_list
if args.pom:
cfg_data["POM"] = args.pom
with open(cfg_file, "w") as outstream:
outstream.write(yaml.dump(cfg_data, default_flow_style=False))
+
+
+class Project:
+ """Represents a Gerrit Project
+
+ Attributes:
+ path(str): The full Gerrit path to a project
+ meta_project(str): The top-level project name in Gerrit
+ project(str): The subproject name or project shortname
+ """
+
+ def __init__(self, project):
+ self.path = project
+ self.meta_project = None
+ self.project = project
+
+ if project.find('/') >= 0:
+ s = project.rsplit('/', 1)
+ self.meta_project = s[0]
+ self.project = s[1]
+
+ def __str__(self):
+ return self.project