From 39520add64d5d5027da65649281df5beb2ec1427 Mon Sep 17 00:00:00 2001 From: Matheus Date: Thu, 28 Mar 2024 18:57:11 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A7=20chore(Makefile):=20refactor=20bu?= =?UTF-8?q?ild=5Flangflow=20target=20to=20use=20a=20separate=20script=20fo?= =?UTF-8?q?r=20updating=20dependencies=20and=20building=20=E2=9C=A8=20feat?= =?UTF-8?q?(update=5Fdependencies.py):=20add=20script=20to=20update=20pypr?= =?UTF-8?q?oject.toml=20dependency=20version=20based=20on=20langflow-base?= =?UTF-8?q?=20version=20in=20src/backend/base/pyproject.toml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Makefile | 13 ++++++++++--- update_dependencies.py | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 3 deletions(-) create mode 100644 update_dependencies.py diff --git a/Makefile b/Makefile index baf34dfc0..bb056deec 100644 --- a/Makefile +++ b/Makefile @@ -167,15 +167,22 @@ build: make build_langflow_base make build_langflow -build_langflow: - poetry build-rewrite-path-deps --version-pinning-strategy=semver - build_langflow_base: make install_frontend make build_frontend cd src/backend/base && poetry build-rewrite-path-deps --version-pinning-strategy=semver rm -rf src/backend/base/langflow/frontend +build_langflow_backup: + poetry lock && poetry build-rewrite-path-deps --version-pinning-strategy=semver + +build_langflow: + python update_dependencies.py + poetry lock + poetry build-rewrite-path-deps --version-pinning-strategy=semver + mv pyproject.toml2 pyproject.toml + mv poetry.lock2 poetry.lock + dev: make install_frontend ifeq ($(build),1) diff --git a/update_dependencies.py b/update_dependencies.py new file mode 100644 index 000000000..4cea67fe5 --- /dev/null +++ b/update_dependencies.py @@ -0,0 +1,32 @@ +import re + +def read_version_from_pyproject(file_path): + with open(file_path, 'r') as file: + for line in file: + match = re.search(r'version = "(.*)"', line) + if match: + return match.group(1) + return None + +def update_pyproject_dependency(pyproject_path, version): + pattern = re.compile(r'langflow-base = \{ path = "\./src/backend/base", develop = true \}') + replacement = f'langflow-base = "^{version}"' + with open(pyproject_path, 'r') as file: + content = file.read() + content = pattern.sub(replacement, content) + with open(pyproject_path, 'w') as file: + file.write(content) + +if __name__ == "__main__": + # Backing up files + with open('pyproject.toml', 'r') as original, open('pyproject.toml2', 'w') as backup: + backup.write(original.read()) + with open('poetry.lock', 'r') as original, open('poetry.lock2', 'w') as backup: + backup.write(original.read()) + + # Reading version and updating pyproject.toml + version = read_version_from_pyproject('./src/backend/base/pyproject.toml') + if version: + update_pyproject_dependency('pyproject.toml', version) + else: + print("Error: Version not found.")