X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=scripts%2Fjjb-autoupdate-project.py;h=56769bdb7ad5149404f4f50923f4d10af98d8248;hb=50d93b109dc57822d6744c059101b2bf28a00dc4;hp=a1e66fe226e6294a1377e5a44a1eaec21e75fb67;hpb=4afa83df69afabf67442c26eb2afad10e0e0bd7f;p=releng%2Fbuilder.git diff --git a/scripts/jjb-autoupdate-project.py b/scripts/jjb-autoupdate-project.py index a1e66fe22..56769bdb7 100644 --- a/scripts/jjb-autoupdate-project.py +++ b/scripts/jjb-autoupdate-project.py @@ -2,7 +2,7 @@ # @License EPL-1.0 ############################################################################## -# Copyright (c) 2014 The Linux Foundation and others. +# Copyright (c) 2014, 2015 The Linux Foundation and others. # # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 @@ -15,24 +15,46 @@ import os +from jjblib import Project -def get_autoupdate_projects(jjb_dir, projects): + +def _is_project(jjb_dir, project): + """Returns true if project is a project that should be auto-generated""" + p = Project(project) + if p.meta_project: + template = os.path.join(jjb_dir, project, "%s.yaml" % p.project) + else: + template = os.path.join(jjb_dir, p.project, "%s.yaml" % p.project) + + if os.path.isfile(template): # Project found + with open(template, 'r') as f: + first_line = f.readline() + if first_line.startswith("# REMOVE THIS LINE IF"): + return True + return False + + +def get_autoupdate_projects(jjb_dir): """Get list of projects that should be auto-updated.""" project_list = [] - for project in projects: - template = os.path.join(jjb_dir, project, "%s.yaml" % project) - if os.path.isfile(template): - with open(template, 'r') as f: - first_line = f.readline() - if first_line.startswith("# REMOVE THIS LINE IF"): - project_list.append(project) + + for root, dirs, files in os.walk(jjb_dir): + project = root.replace("%s/" % jjb_dir, '') + + if _is_project(jjb_dir, project): + project_list.append(project) return project_list def update_templates(projects): for project in projects: - cfg_file = "jjb/%s/%s.cfg" % (project, project) + print("Updating... %s" % project) + p = Project(project) + if p.meta_project: # Meta project + cfg_file = "jjb/%s/%s.cfg" % (project, p.project) + else: + cfg_file = "jjb/%s/%s.cfg" % (p.project, p.project) os.system("python scripts/jjb-init-project.py %s -c %s" % (project, cfg_file)) @@ -43,5 +65,5 @@ def update_templates(projects): jjb_dir = "jjb" all_projects = [d for d in os.listdir(jjb_dir) if os.path.isdir(os.path.join(jjb_dir, d))] -auto_update_projects = get_autoupdate_projects(jjb_dir, all_projects) +auto_update_projects = get_autoupdate_projects(jjb_dir) update_templates(auto_update_projects)