Use release class
Create it out of the given release_repo. Thus simplifying the call tree as we only access the release_repo in the service.
This commit is contained in:
parent
39d60f6854
commit
9bde301ee4
1 changed files with 14 additions and 21 deletions
35
services.py
35
services.py
|
@ -1,36 +1,29 @@
|
|||
from pathlib import Path
|
||||
from infrastructure import ReleaseRepository, GitApi
|
||||
from infrastructure import VersionRepository, ReleaseRepository, GitApi
|
||||
from domain import Version, ReleaseType
|
||||
|
||||
|
||||
# Todo: can be removed
|
||||
class InitReleaseService():
|
||||
|
||||
def __init__(self, release_repo: ReleaseRepository):
|
||||
self.release_repo = release_repo
|
||||
|
||||
def get_version(self):
|
||||
return self.release_repo.get_release().version
|
||||
|
||||
|
||||
class PrepareReleaseService():
|
||||
|
||||
def __init__(self, release_repo: ReleaseRepository):
|
||||
self.release_repo = release_repo
|
||||
self.release = release_repo.get_release()
|
||||
self.git_api = GitApi()
|
||||
self.main_branch = None
|
||||
|
||||
def __write_and_commit_version(self, version: Version, commit_message: str):
|
||||
if self.main_branch != self.git_repository.get_current_branch():
|
||||
if self.main_branch != self.git_api.get_current_branch():
|
||||
raise Exception('Trying to release while not on main branch')
|
||||
|
||||
self.version_repository.write_file(version.get_version_string())
|
||||
self.git_repository.add_file(self.config_file)
|
||||
self.git_repository.commit(commit_message)
|
||||
self.release_repo.version_repository.write_file(version.get_version_string())
|
||||
self.git_api.add_file(self.release_repo.version_repository.file)
|
||||
self.git_api.commit(commit_message)
|
||||
|
||||
def write_and_commit_release(self, release_version: Version):
|
||||
self.__write_and_commit_version(release_version, commit_message=f'Release {release_version.get_version_string()}')
|
||||
def write_and_commit_release(self):
|
||||
self.__write_and_commit_version(self.release.release_version(), commit_message=f'Release {self.release.release_version().get_version_string()}')
|
||||
|
||||
def write_and_commit_bump(self, bump_version: Version):
|
||||
self.__write_and_commit_version(bump_version, commit_message=f'Version bump')
|
||||
def write_and_commit_bump(self):
|
||||
self.__write_and_commit_version(self.release.bump_version(), commit_message=f'Version bump')
|
||||
|
||||
|
||||
class TagAndPushReleaseService():
|
||||
|
||||
|
@ -41,6 +34,6 @@ class TagAndPushReleaseService():
|
|||
annotation = 'v' + release_version.get_version_string()
|
||||
message = 'Release ' + annotation
|
||||
self.git_api.tag_annotated(annotation, message, 1)
|
||||
# self.git_repository.push()
|
||||
# self.git_api.push()
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue