|
|
|
@ -16,33 +16,26 @@ class EnvironmentKeys(Enum):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Release(Validateable):
|
|
|
|
|
def __init__(self, input: dict):
|
|
|
|
|
def __init__(self, input: dict, version: Version):
|
|
|
|
|
self.release_type = ReleaseType[input.get("release_type", "NONE")]
|
|
|
|
|
self.release_main_branch = input.get("release_main_branch", "main")
|
|
|
|
|
self.release_current_branch = input.get("release_current_branch")
|
|
|
|
|
self.release_config_file = input.get("release_config_file", "project.clj")
|
|
|
|
|
self.release_current_version = Version.from_str(input.get("release_current_version"))
|
|
|
|
|
self.release_config_file = input.get("release_config_file", "./project.clj")
|
|
|
|
|
self.version = version
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def release_version(self) -> Version:
|
|
|
|
|
return self.version.create_release_version(self.release_type)
|
|
|
|
|
|
|
|
|
|
def bump_version(self) -> Version:
|
|
|
|
|
return self.release_version().create_bump_version()
|
|
|
|
|
|
|
|
|
|
def validate(self):
|
|
|
|
|
result = []
|
|
|
|
|
result += self.__validate_is_not_empty__("release_type")
|
|
|
|
|
result += self.__validate_is_not_empty__("release_current_branch")
|
|
|
|
|
result += self.__validate_is_not_empty__("release_main_branch")
|
|
|
|
|
result += self.__validate_is_not_empty__("release_current_branch")
|
|
|
|
|
result += self.__validate_is_not_empty__("release_config_file")
|
|
|
|
|
result += self.__validate_is_not_empty__("release_current_version")
|
|
|
|
|
if self.release_current_version:
|
|
|
|
|
result += self.release_current_version.validate()
|
|
|
|
|
result += self.__validate_is_not_empty__("version")
|
|
|
|
|
if self.version:
|
|
|
|
|
result += self.version.validate()
|
|
|
|
|
if (
|
|
|
|
|
self.release_type is not None
|
|
|
|
|
and self.release_type != ReleaseType.NONE
|
|
|
|
|
and self.release_main_branch != self.release_current_branch
|
|
|
|
|
):
|
|
|
|
|
result.append(f"Releases are allowed only on {main_branch}")
|
|
|
|
|
result.append(f"Releases are allowed only on {self.release_main_branch}")
|
|
|
|
|
return result
|
|
|
|
|