From 6eaa58563eb77df1db97ffe6633a2534eab3e507 Mon Sep 17 00:00:00 2001 From: Joao Andre Date: Fri, 1 Mar 2024 10:51:40 -0300 Subject: [PATCH] fix: build subpackage structure --- .github/workflows/build-and-release-dev.yml | 6 +++++ taipy/core/setup.py | 2 +- taipy/gui/setup.py | 2 +- taipy/rest/setup.py | 2 +- tools/release/build_package_structure.py | 29 +++++++++++++++++++++ 5 files changed, 38 insertions(+), 3 deletions(-) create mode 100644 tools/release/build_package_structure.py diff --git a/.github/workflows/build-and-release-dev.yml b/.github/workflows/build-and-release-dev.yml index b2d540e189..9cc11a7cff 100644 --- a/.github/workflows/build-and-release-dev.yml +++ b/.github/workflows/build-and-release-dev.yml @@ -110,6 +110,12 @@ jobs: run: | cp tools/gui/generate_pyi.py pyi_temp.py && pipenv run python pyi_temp.py && rm pyi_temp.py + - name: Build Package Structure + working-directory: ${{ steps.set-variables.outputs.package_dir }} + run: | + python tools/release/build_package_structure.py ${{ matrix.package }} + ls -lah + - name: Build package working-directory: ${{ steps.set-variables.outputs.package_dir }} run: | diff --git a/taipy/core/setup.py b/taipy/core/setup.py index 1c2f2937d5..7e944ed7e9 100644 --- a/taipy/core/setup.py +++ b/taipy/core/setup.py @@ -36,7 +36,7 @@ def get_requirements(): # get requirements from the different setups in tools/packages (removing taipy packages) reqs = set() for pkg in (root_folder / "tools" / "packages").iterdir(): - if "taipy-core" not in pkg: + if "taipy-core" not in str(pkg): continue requirements_file = pkg / "setup.requirements.txt" if requirements_file.exists(): diff --git a/taipy/gui/setup.py b/taipy/gui/setup.py index 14c7f02767..134735dce8 100644 --- a/taipy/gui/setup.py +++ b/taipy/gui/setup.py @@ -38,7 +38,7 @@ def get_requirements(): # get requirements from the different setups in tools/packages (removing taipy packages) reqs = set() for pkg in (root_folder / "tools" / "packages").iterdir(): - if "taipy-gui" not in pkg: + if "taipy-gui" not in str(pkg): continue requirements_file = pkg / "setup.requirements.txt" if requirements_file.exists(): diff --git a/taipy/rest/setup.py b/taipy/rest/setup.py index 255b11b65e..f0fc05531e 100644 --- a/taipy/rest/setup.py +++ b/taipy/rest/setup.py @@ -31,7 +31,7 @@ def get_requirements(): # get requirements from the different setups in tools/packages (removing taipy packages) reqs = set() for pkg in (root_folder / "tools" / "packages").iterdir(): - if "taipy-rest" not in pkg: + if "taipy-rest" not in str(pkg): continue requirements_file = pkg / "setup.requirements.txt" if requirements_file.exists(): diff --git a/tools/release/build_package_structure.py b/tools/release/build_package_structure.py new file mode 100644 index 0000000000..66efd5d26b --- /dev/null +++ b/tools/release/build_package_structure.py @@ -0,0 +1,29 @@ +# Copyright 2021-2024 Avaiga Private Limited +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on +# an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the +# specific language governing permissions and limitations under the License. + +import os +import shutil +import sys +from pathlib import Path + +__SKIP = ["LICENSE", "MANIFEST.in", "taipy", "setup.py", "tools"] + + +if __name__ == "__main__": + _package = sys.argv[1] + _package_path = f"taipy/{_package}" + + Path(_package_path).mkdir(parents=True, exist_ok=True) + + for file_name in os.listdir("."): + if file_name.lower().endswith((".md", ".json")) or file_name in __SKIP: + continue + shutil.move(file_name, _package_path)