From: hyokeun Date: Wed, 30 Aug 2017 08:34:38 +0000 (+0900) Subject: TPE-286 Generate git obs mapping json file for forked git X-Git-Tag: submit/trunk/20190927.012743~305^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c33ad6ae8d278196da4accbd8a98ee39e66e44d5;p=services%2Fjenkins-scripts.git TPE-286 Generate git obs mapping json file for forked git Change-Id: Ia8b95ab294c38ce3d4e4b2de69e11ce4ba8f135f --- diff --git a/job_update_git_obs_mapping_for_dashboard.py b/job_update_git_obs_mapping_for_dashboard.py index f80c932..a777257 100644 --- a/job_update_git_obs_mapping_for_dashboard.py +++ b/job_update_git_obs_mapping_for_dashboard.py @@ -27,6 +27,8 @@ from common.gerrit import Gerrit, get_gerrit_event from common.git import clone_gitproject from common.git_obs_mapping import GitObsMapping +from common.mapping import git_obs_map_full_list + #================================================================================ # generate_mapping() #================================================================================ @@ -73,6 +75,30 @@ def generate_mapping(prjdir, target_dir): with open(target_filename, "w") as f: f.write(json.dumps(git_obs_mapping_info)) +#Handle forked git +def generate_fork_git_mapping(prjdir, target_dir): + mapping = git_obs_map_full_list() + git_obs_mapping_fork_info = {} + for item in mapping: + # We only care about defined git repositories + if ('OBS_project' not in item) or (not item.get('OBS_project')) \ + or ('Project_name' not in item) or (not item.get('Project_name')): + continue + git_repo = item.get('Project_name') + package_name = item.get('OBS_package', None) + if not package_name: + package_name = os.path.basename(git_repo) + obs_project = item.get('OBS_project') + if item.get('Project_name') not in git_obs_mapping_fork_info: + git_obs_mapping_fork_info[git_repo] = {obs_project: package_name} + else: + git_obs_mapping_fork_info[git_repo][obs_project] = package_name + + target_filename = os.path.join(target_dir, "mapping_fork.json") + + with open(target_filename, "w") as f: + f.write(json.dumps(git_obs_mapping_fork_info)) + ########################################################### # test code #target_dir = ".dashboard/git_obs_mapping" @@ -97,7 +123,9 @@ clone_gitproject(GERRIT_PROJECT, prjdir) target_dir = ".dashboard/git_obs_mapping" generate_mapping(prjdir, target_dir) +generate_fork_git_mapping(prjdir, target_dir) sync_dest = os.path.join(os.getenv("IMG_SYNC_DEST_BASE"), "snapshots", target_dir) # sync to the download server. sync(target_dir, sync_dest) +