"""
return ''.join(core.show_project_conf(self.apiurl, project))
+ def set_project_config(self, project, config):
+ """
+ Set building config of project
+ """
+ url = core.make_meta_url("prjconf", core.quote_plus(project),
+ self.apiurl, False)
+ self.core_http(core.http_PUT, url, data=''.join(config))
+
def get_package_meta(self, project, package):
"""
get_package_meta(project, package) -> string
import sys
import json
import base64
+import datetime
+import re
from xml.sax.saxutils import escape
from gitbuildsys.errors import ObsError
print 'Found git-obs-mapping: %s -> %s' % (gerrit_prj, obs_prjs)
return obs_prjs
+def change_release_name(build, project, git_tag):
+ """
+ Change release name from project config in OBS
+ Add the datetime into release name.
+ Eg: 'Release: <CI_CNT>.<B_CNT>' ----> 'Release: 20141010.<CI_CNT>.<B_CNT>'
+ """
+ # get project config
+ config = build.get_project_config(project)
+ release_name = 'Release: %s' % (git_tag.split('/')[-1])
+ res = re.findall(r'^Release: ?\S+$', config, flags=re.MULTILINE)
+ if res:
+ note = '#Insert time from submission into release name\n'
+ release_name = '%s.%s' % (release_name,
+ res[0].split('Release:')[1].strip())
+ config = config.replace(res[0], '%s%s' % (note, release_name), 1)
+ else:
+ note = '#Add release name into prjconf\n'
+ config = note + '%s\n' % release_name + config
+ # set project config
+ build.set_project_config(project, config)
+
def create_project(git_url, git_project, git_tag, git_revision, build,
obs_target_prj, obs_project, submitter, package):
"""Create prerelease OBS project and upload sources for the build."""
description=json.dumps(info))
except ObsError, error:
LocalError("Unable to create project %s: %s" % (obs_project, error))
+ # change release name of project config in OBS
+ change_release_name(build, obs_project, git_tag)
try:
upload_obs_service(git_url, git_project, git_tag,