Compare commits

..

No commits in common. "07cf837ac6e2f0b6617eab3967779f080c9ddea7" and "36df9f486b492502323d694b4f80eb948b830ecb" have entirely different histories.

View file

@ -48,11 +48,11 @@ class BuildFile(Validateable):
def __get_file_type_regex_str(self, file_type: BuildFileType): def __get_file_type_regex_str(self, file_type: BuildFileType):
match file_type: match file_type:
case BuildFileType.JAVA_GRADLE: case BuildFileType.JAVA_GRADLE:
return r'(?P<pre_version>version\s?=\s?)\"(?P<version>\d*\.\d*\.\d*(-SNAPSHOT)?)\"' return "[0-9]*\\.[0-9]*\\.[0-9]*(-SNAPSHOT)?"
case BuildFileType.PYTHON: case BuildFileType.PYTHON:
return r'(?P<pre_version>version\s?=\s?)\"(?P<version>\d*\.\d*\.\d*(-SNAPSHOT|-dev\d*)?)\"' return "[0-9]*\\.[0-9]*\\.[0-9]*(-SNAPSHOT)?(-dev)?[0-9]*"
case BuildFileType.JAVA_CLOJURE: case BuildFileType.JAVA_CLOJURE:
return r'(?P<pre_version>\(defproject\s(\S)*\s)\"(?P<version>\d*\.\d*\.\d*(-SNAPSHOT)?)\"' return r'(?P<project>\(defproject\s(\S)*\s)\"(?P<version>\d*\.\d*\.\d*(-SNAPSHOT)?)\"'
case _: case _:
return "" return ""
@ -62,7 +62,24 @@ class BuildFile(Validateable):
match build_file_type: match build_file_type:
case BuildFileType.JS: case BuildFileType.JS:
version_str = json.loads(self.content)["version"] version_str = json.loads(self.content)["version"]
case BuildFileType.JAVA_GRADLE | BuildFileType.PYTHON | BuildFileType.JAVA_CLOJURE: case BuildFileType.JAVA_GRADLE:
# TODO: '\nversion = ' will not parse all ?!
version_line = re.search("\nversion = .*", self.content)
version_line_group = version_line.group()
version_string = re.search(
self.__get_file_type_regex_str(build_file_type), version_line_group
)
version_str = version_string.group()
case BuildFileType.PYTHON:
# TODO: '\nversion = ' will not parse all ?!
version_line = re.search("\nversion = .*\n", self.content)
version_line_group = version_line.group()
version_string = re.search(
self.__get_file_type_regex_str(build_file_type),
version_line_group,
)
version_str = version_string.group()
case BuildFileType.JAVA_CLOJURE:
version_str = re.search(self.__get_file_type_regex_str(build_file_type), self.content).group("version") version_str = re.search(self.__get_file_type_regex_str(build_file_type), self.content).group("version")
except: except:
raise RuntimeError(f"Version not found in file {self.file_path}") raise RuntimeError(f"Version not found in file {self.file_path}")
@ -84,10 +101,24 @@ class BuildFile(Validateable):
json_data = json.loads(self.content) json_data = json.loads(self.content)
json_data["version"] = new_version.to_string() json_data["version"] = new_version.to_string()
self.content = json.dumps(json_data, indent=4) self.content = json.dumps(json_data, indent=4)
case BuildFileType.JAVA_GRADLE | BuildFileType.PYTHON | BuildFileType.JAVA_CLOJURE: case BuildFileType.JAVA_GRADLE:
substitute = re.sub(
f'\nversion = "{self.__get_file_type_regex_str(build_file_type)}"',
f'\nversion = "{new_version.to_string()}"',
self.content,
)
self.content = substitute
case BuildFileType.PYTHON:
substitute = re.sub(
f'\nversion = "{self.__get_file_type_regex_str(build_file_type)}"',
f'\nversion = "{new_version.to_string()}"',
self.content,
)
self.content = substitute
case BuildFileType.JAVA_CLOJURE:
substitute = re.sub( substitute = re.sub(
self.__get_file_type_regex_str(build_file_type), self.__get_file_type_regex_str(build_file_type),
fr'\g<pre_version>"{new_version.to_string()}"', fr'\g<project>"{new_version.to_string()}"',
self.content, self.content,
1, 1,
) )