From bd654873bca7ca48349bdd23d356de10067648d9 Mon Sep 17 00:00:00 2001 From: "arjxn.py" Date: Fri, 31 May 2024 02:29:08 +0530 Subject: [PATCH] Get rid of `noxfile` & `setup` try using helper script instead --- .github/workflows/build_package.yml | 21 ++++++++------------ noxfile.py | 27 -------------------------- scripts/build_helper.py | 30 +++++++++++++++++++++++++++++ setup.py | 28 --------------------------- 4 files changed, 38 insertions(+), 68 deletions(-) delete mode 100644 noxfile.py create mode 100644 scripts/build_helper.py delete mode 100644 setup.py diff --git a/.github/workflows/build_package.yml b/.github/workflows/build_package.yml index 999b2bca..4134fb3f 100644 --- a/.github/workflows/build_package.yml +++ b/.github/workflows/build_package.yml @@ -24,24 +24,19 @@ jobs: with: python-version: "3.10" - - name: Install pipx - run: python -m pip install --user pipx - - - name: Install build using pipx - run: pipx install build - - - name: Set BUILD_RAGNA_BASE environment variable + - name: Install build dependencies run: | - if [ "${{ matrix.package }}" == "ragna-base" ]; then - echo "BUILD_RAGNA_BASE=1" >> $GITHUB_ENV - else - echo "BUILD_RAGNA_BASE=" >> $GITHUB_ENV - fi + python -m pip install --upgrade pip + python -m pip install build toml + + - name: Modify pyproject.toml + run: python scripts/build_helper.py ${{ matrix.package }} - name: Build distribution run: | echo "Building package: ${{ matrix.package }}" - pipx run build + python -m build + echo "Build complete for ${{ matrix.package }}" - name: Verify package run: | diff --git a/noxfile.py b/noxfile.py deleted file mode 100644 index b6ee384a..00000000 --- a/noxfile.py +++ /dev/null @@ -1,27 +0,0 @@ -import os - -import nox - - -@nox.session(name="build") -def build(session): - setup_script = "scripts/pyproject.toml" - symlink_pyproject(setup_script) - session.install("build") - session.run("python", "-m", "build") - - -@nox.session(name="build-base") -def build_bar(session): - setup_script = "scripts/pyproject-base.toml" - symlink_pyproject(setup_script) - session.install("build") - session.run("python", "-m", "build") - - -def symlink_pyproject(script): - if os.path.exists(script): - # Remove existing pyproject.toml if it exists - if os.path.exists("pyproject.toml"): - os.remove("pyproject.toml") - os.symlink(script, "pyproject.toml") diff --git a/scripts/build_helper.py b/scripts/build_helper.py new file mode 100644 index 00000000..87ff3386 --- /dev/null +++ b/scripts/build_helper.py @@ -0,0 +1,30 @@ +import toml + + +def modify_pyproject(package_name): + with open("pyproject.toml", "r") as f: + pyproject_data = toml.load(f) + + pyproject_data["project"]["name"] = package_name + + if package_name == "ragna-base": + pyproject_data["tool"]["setuptools"]["dynamic"]["dependencies"] = { + "file": ["requirements-base.txt"] + } + else: + pyproject_data["tool"]["setuptools"]["dynamic"]["dependencies"] = { + "file": ["requirements.txt"] + } + + with open("pyproject.toml", "w") as f: + toml.dump(pyproject_data, f) + + +if __name__ == "__main__": + import sys + + package_name = sys.argv[1] + if package_name not in ["ragna", "ragna-base"]: + print("Invalid package name. Must be 'ragna' or 'ragna-base'.") + sys.exit(1) + modify_pyproject(package_name) diff --git a/setup.py b/setup.py deleted file mode 100644 index 6861a740..00000000 --- a/setup.py +++ /dev/null @@ -1,28 +0,0 @@ -import os - -from setuptools import setup - -print("BUILD_RAGNA_BASE=", os.environ["BUILD_RAGNA_BASE"]) - -with open("requirements.txt") as f: - ragna_dependencies = f.read().splitlines() - -with open("requirements-base.txt") as f: - base_dependencies = f.read().splitlines() - -is_base_build = os.environ.get("BUILD_RAGNA_BASE") - -name = "ragna-base" if os.environ.get("BUILD_RAGNA_BASE") else "ragna" -dependencies = ( - base_dependencies if os.environ.get("BUILD_RAGNA_BASE") else ragna_dependencies -) - -print(f"Building package: {name}") -print( - f"Using dependencies from {'requirements-base.txt' if is_base_build else 'requirements.txt'}" -) - -setup( - name=name, - install_requires=dependencies, -)