Custom tag support in tito release

Signed-off-by: Vadim Rutkovsky <vrutkovs@redhat.com>
This commit is contained in:
Vadim Rutkovsky 2017-05-04 09:53:59 +02:00
parent 1310954605
commit aadafd4e87
3 changed files with 20 additions and 8 deletions

View file

@ -33,7 +33,7 @@ from tito.common import scl_to_rpm_option, get_latest_tagged_version, \
get_commit_count, find_gemspec_file, create_builder, compare_version,\ get_commit_count, find_gemspec_file, create_builder, compare_version,\
find_cheetah_template_file, render_cheetah, replace_spec_release, \ find_cheetah_template_file, render_cheetah, replace_spec_release, \
find_spec_like_file, warn_out, get_commit_timestamp, chdir, mkdir_p, \ find_spec_like_file, warn_out, get_commit_timestamp, chdir, mkdir_p, \
find_git_root, info_out, munge_specfile find_git_root, info_out, munge_specfile, BUILDCONFIG_SECTION
from tito.compat import getstatusoutput from tito.compat import getstatusoutput
from tito.exception import RunCommandException from tito.exception import RunCommandException
from tito.exception import TitoException from tito.exception import TitoException
@ -461,19 +461,31 @@ class Builder(ConfigObject, BuilderBase):
find_spec_like_file(self.start_dir)) find_spec_like_file(self.start_dir))
self.build_tag = self._get_tag_for_version(build_version) self.build_tag = self._get_tag_for_version(build_version)
self.spec_version = build_version.split('-')[-2] self.spec_version = build_version.split('-')[0]
self.spec_release = build_version.split('-')[-1] self.spec_release = build_version.split('-')[-1]
if not self.test: if not self.test:
check_tag_exists(self.build_tag, offline=self.offline) check_tag_exists(self.build_tag, offline=self.offline)
return build_version return build_version
def _get_tag_for_version(self, version): def _get_tag_for_version(self, version_and_release):
""" """
Determine what the tag will look like for a given version. Determine what the tag will look like for a given version.
Can be overridden when custom taggers override counterpart, Can be overridden when custom taggers override counterpart,
tito.VersionTagger._get_tag_for_version(). tito.Builder._get_tag_for_version().
""" """
return "{0}-{1}".format(self.project_name, version) version = version_and_release.split('-')[0]
release = version_and_release.split('-')[-1]
if self.config.has_option(BUILDCONFIG_SECTION, "tag_format"):
tag_format = self.config.get(BUILDCONFIG_SECTION, "tag_format")
else:
tag_format = "{component}-{version}-{release}"
kwargs = {
'component': self.project_name,
'version': version,
'release': release
}
# Strip extra dashes if one of the params is empty
return tag_format.format(**kwargs).strip('-')
def tgz(self): def tgz(self):
""" """

View file

@ -257,7 +257,7 @@ class VersionTagger(ConfigObject):
write(fd, "\n") write(fd, "\n")
else: else:
if old_version is not None: if old_version is not None:
last_tag = self._get_tag_for_version(old_version) last_tag = self._get_new_tag(old_version)
output = self._generate_default_changelog(last_tag) output = self._generate_default_changelog(last_tag)
else: else:
output = self._new_changelog_msg output = self._new_changelog_msg

View file

@ -65,8 +65,8 @@ class VersionTaggerTest(unittest.TestCase):
# Init RPM package # Init RPM package
self.create_rpm_package() self.create_rpm_package()
# Run tito tag # Run tito release
tito("tag --accept-auto-changelog") tito("tag release --accept-auto-changelog")
def write_file(self, path, contents): def write_file(self, path, contents):
out_f = open(path, 'w') out_f = open(path, 'w')