From 17f41dbd7ae74ee2f241ffa5065b7dcc5fa4b1d6 Mon Sep 17 00:00:00 2001 From: Michael Jerger Date: Fri, 12 May 2023 14:57:23 +0200 Subject: [PATCH] introduce build_file ids --- src/main/python/ddadevops/domain/release.py | 14 ++++++++++++-- src/test/python/domain/test_helper.py | 3 ++- src/test/python/domain/test_release.py | 10 ++++++++++ 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/src/main/python/ddadevops/domain/release.py b/src/main/python/ddadevops/domain/release.py index 7aaf162..b5b126b 100644 --- a/src/main/python/ddadevops/domain/release.py +++ b/src/main/python/ddadevops/domain/release.py @@ -20,7 +20,8 @@ class Release(Validateable): 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_primary_build_file = input.get("release_primary_build_file", "./project.clj") + self.release_secondary_build_files = input.get("release_secondary_build_files", []) self.version = version def validate(self): @@ -28,8 +29,17 @@ class Release(Validateable): result += self.__validate_is_not_empty__("release_type") 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_primary_build_file") result += self.__validate_is_not_empty__("version") + try: + Path(self.release_primary_build_file) + except Exception as e: + result.append(f"release_primary_build_file must be a valid path but was {e}") + for path in self.release_secondary_build_files: + try: + Path(path) + except Exception as e: + result.append(f"release_secondary_build_file must be contain valid paths but was {e}") if self.version: result += self.version.validate() if ( diff --git a/src/test/python/domain/test_helper.py b/src/test/python/domain/test_helper.py index 3ed0afb..b02cfd2 100644 --- a/src/test/python/domain/test_helper.py +++ b/src/test/python/domain/test_helper.py @@ -21,7 +21,8 @@ def devops_config(overrides: dict) -> dict: "release_type": "NONE", "release_main_branch": "main", "release_current_branch": "my_feature", - "release_config_file": "./project.clj", + "release_primary_build_file": "./project.clj", + "release_secondary_build_file": [], } input = default.copy() input.update(overrides) diff --git a/src/test/python/domain/test_release.py b/src/test/python/domain/test_release.py index 6c80915..3fd4cf9 100644 --- a/src/test/python/domain/test_release.py +++ b/src/test/python/domain/test_release.py @@ -38,3 +38,13 @@ def test_sould_validate_release(): Version.from_str("1.3.1-SNAPSHOT"), ) assert not sut.is_valid() + + sut = Release( + devops_config( + { + "release_primary_build_file": 1, + } + ), + Version.from_str("1.3.1-SNAPSHOT"), + ) + assert not sut.is_valid()