8 parser = argparse.ArgumentParser()
9 parser.add_argument("project", help="project")
10 parser.add_argument("-c", "--conf", help="Config file")
11 parser.add_argument("-d", "--dependencies",
12 help=("Project dependencies\n\n"
13 "A comma-seperated (no spaces) list of projects "
14 "your project depends on. "
15 "This is used to create an integration job that "
16 "will trigger when a dependent project-merge "
17 "job is built successfully.\n\n"
18 "Example: aaa,controller,yangtools"))
19 parser.add_argument("-t", "--templates", help="Job templates to use")
20 parser.add_argument("-b", "--branches", help="Git Branches to build")
21 parser.add_argument("-p", "--pom", help="Path to pom.xml to use in Maven "
22 "build (Default: pom.xml")
23 parser.add_argument("-g", "--mvn-goals", help="Maven Goals")
24 parser.add_argument("-o", "--mvn-opts", help="Maven Options")
25 parser.add_argument("-a", "--archive-artifacts",
26 help="Comma-seperated list of patterns of artifacts "
27 "to archive on build completion. "
28 "See: http://ant.apache.org/manual/Types/fileset.html") # noqa
29 return parser.parse_args()
32 def create_template_config(project_dir, args):
36 cfg_data["JOB_TEMPLATES"] = args.templates
40 for branch in args.branches.split(","):
41 branch_list.append({branch: {"jdks": "openjdk7"}})
42 cfg_data["BRANCHES"] = branch_list
45 cfg_data["POM"] = args.pom
48 cfg_data["MAVEN_GOALS"] = args.mvn_goals
51 cfg_data["MAVEN_OPTS"] = args.mvn_opts
54 cfg_data["DEPENDENCIES"] = args.dependencies
56 if args.archive_artifacts:
57 cfg_data["ARCHIVE"] = args.archive_artifacts
60 # Create project directory if it doesn't exist
61 if not os.path.exists(project_dir):
62 os.makedirs(project_dir)
64 print("Creating %s.cfg file" % args.project)
65 cfg_file = os.path.join(project_dir, "%s.cfg" % args.project)
67 with open(cfg_file, "w") as outstream:
68 outstream.write(yaml.dump(cfg_data, default_flow_style=False))