|
|
|
@ -1,3 +1,4 @@
|
|
|
|
|
from pathlib import Path
|
|
|
|
|
from version_repository import VersionRepository
|
|
|
|
|
from release_type import ReleaseType
|
|
|
|
|
from git_repository import GitRepository
|
|
|
|
@ -31,28 +32,28 @@ class InitReleaseService():
|
|
|
|
|
|
|
|
|
|
class PrepareReleaseService():
|
|
|
|
|
|
|
|
|
|
def __init__(self, version_repo: VersionRepository):
|
|
|
|
|
self.version_repo = version_repo
|
|
|
|
|
|
|
|
|
|
def __init__(self, version_repository: VersionRepository, git_repository: GitRepository, config_file: Path, main_branch: str):
|
|
|
|
|
self.version_repository = version_repository
|
|
|
|
|
self.git_repository = git_repository
|
|
|
|
|
self.main_branch = main_branch
|
|
|
|
|
self.config_file = config_file
|
|
|
|
|
|
|
|
|
|
def run_tests(self): # maybe auto?
|
|
|
|
|
pass
|
|
|
|
|
|
|
|
|
|
def prepare_release(self, version: Version):
|
|
|
|
|
# self.version_repo.write_file(version.get_version_string()) # side effect
|
|
|
|
|
pass
|
|
|
|
|
|
|
|
|
|
def prepare_bump(self, version: Version):
|
|
|
|
|
# self.version_repo.write_file(version.get_version_string()) # side effect
|
|
|
|
|
pass
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# write
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# add
|
|
|
|
|
# commit
|
|
|
|
|
pass
|
|
|
|
|
raise NotImplementedError
|
|
|
|
|
|
|
|
|
|
def __write_and_commit_version(self, version: Version, commit_message: str):
|
|
|
|
|
if self.main_branch != self.git_repository.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)
|
|
|
|
|
|
|
|
|
|
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_bump(self, bump_version: Version):
|
|
|
|
|
self.__write_and_commit_version(bump_version, commit_message=f'Version bump')
|
|
|
|
|
|
|
|
|
|
class TagAndPushReleaseService():
|
|
|
|
|
pass
|
|
|
|
|