mirror of
https://github.com/rpm-software-management/tito.git
synced 2025-02-23 20:22:46 +00:00
Custom tag support in tito release
Signed-off-by: Vadim Rutkovsky <vrutkovs@redhat.com>
This commit is contained in:
parent
1310954605
commit
aadafd4e87
3 changed files with 20 additions and 8 deletions
|
@ -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):
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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')
|
||||||
|
|
Loading…
Add table
Reference in a new issue