diff --git a/services.py b/services.py index 068ee3b..da3c6a5 100644 --- a/services.py +++ b/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()