class InitReleaseService(): def __init__(self, commit_id, file): self.commit_id = commit_id self.file = file self.version_repo = None def __read_commit_message(self): pass def __calculate_release_type(self): pass def get_version_repo(self): self.version_repo = VersionRepository.get(self.file) def get_version_list(self): self.get_version_repo() return self.version_repo.version_list def create_release_version(self): commit_message = self.read_commit_message(self.commit_id) release_type = self.calculate_release_type(commit_message) version_list = self.get_version_list() release_version = Version.create_release_version(version_list, release_type) self.version_repo.write_file(release_version.get_version_string()) def create_bump_version(self): if self.version_repo == None: raise Exception('VersionRepo was not created. Did you run create_lease_version()?') version_list = self.get_version_list() bump_version = Version.create_bump_version(version_list) self.version_repo.write_file(bump_version.get_version_string()) class PrepareReleaseService(): pass class TagAndPushReleaseService(): pass