瀏覽代碼

chore: copy all files inside tools/packages

Joao Andre 1 年之前
父節點
當前提交
6e2c7eea39

+ 25 - 7
.github/workflows/build-and-release-dev.yml

@@ -115,11 +115,24 @@ jobs:
         run: |
           python tools/frontend/bundle_build.py
 
+      - name: Copy files from tools
+        run: |
+          cp -r tools/packages/taipy-${{matrix.package}}/. ${{ steps.set-variables.outputs.package_dir }}
+
       - name: Build Package Structure
         working-directory: ${{ steps.set-variables.outputs.package_dir }}
         run: |
           python tools/release/build_package_structure.py ${{ matrix.package }}
 
+      - name: Copy Taipy Logger
+        if: matrix.package == 'config'
+        run: |
+          cp -r taipy/logger/. ${{ steps.set-variables.outputs.package_dir }}/taipy/logger
+
+      - name: Copy _cli folder
+        run: |
+          cp -r taipy/_cli/. ${{ steps.set-variables.outputs.package_dir }}/taipy/_cli
+
       - name: Build package
         working-directory: ${{ steps.set-variables.outputs.package_dir }}
         run: |
@@ -143,7 +156,7 @@ jobs:
 
   build-and-release-taipy-dev:
     runs-on: ubuntu-latest
-    needs: [ build-and-release-taipy-dev-packages, fetch-versions ]
+    needs: [build-and-release-taipy-dev-packages, fetch-versions ]
     timeout-minutes: 20
     steps:
       - uses: actions/checkout@v4
@@ -171,18 +184,23 @@ jobs:
             ${{needs.fetch-versions.outputs.templates_VERSION}} \
             ${{ github.event.inputs.publish_on_pypi }}
 
-      - name: Replace setup.py
-        run: |
-          mv setup.py setup.old.py
-          cp tools/packages/taipy/setup.py .
-
       - name: Install dependencies
         run: |
           python -m pip install --upgrade pip
           pip install build wheel
 
+
+      - name: Backup setup.py
+        run: |
+          mv setup.py setup.old.py
+
+      - name: Copy files from tools
+        run: |
+          cp -r tools/packages/taipy/. .
+
       - name: Build Taipy package
-        run: python setup.py build_py && python -m build
+        run: |
+          python setup.py build_py && python -m build
 
       - name: Create tag and release Taipy
         run: |

+ 0 - 5
taipy/config/MANIFEST.in

@@ -1,5 +0,0 @@
-recursive-include tools *
-
-# Package taipy-config
-include *.pyi
-include *.json

+ 0 - 4
taipy/core/MANIFEST.in

@@ -1,4 +0,0 @@
-recursive-include tools *
-
-# Package taipy-core
-include *.json

+ 0 - 7
taipy/gui/MANIFEST.in

@@ -1,7 +0,0 @@
-recursive-include tools *
-
-# Package taipy-gui
-recursive-include taipy/gui/webapp *
-include version.json
-include viselements.json
-include *.pyi

+ 0 - 4
taipy/rest/MANIFEST.in

@@ -1,4 +0,0 @@
-recursive-include tools *
-
-# Package taipy-rest
-include *.json

+ 0 - 4
taipy/templates/MANIFEST.in

@@ -1,4 +0,0 @@
-recursive-include tools *
-
-# Package taipy-templates
-recursive-include .

+ 2 - 0
tools/packages/taipy-config/MANIFEST.in

@@ -1,2 +1,4 @@
 include taipy/config/*.pyi
 include taipy/config/*.json
+include *.json
+include taipy/config/setup.requirements.txt

+ 9 - 4
tools/packages/taipy-config/setup.py

@@ -13,7 +13,6 @@
 
 """The setup script."""
 import json
-
 from pathlib import Path
 
 from setuptools import find_packages, setup
@@ -22,13 +21,17 @@ root_folder = Path(__file__).parent
 
 readme = Path(root_folder / "README.md").read_text("UTF-8")
 
-with open(root_folder / "taipy" / "config" / "version.json") as version_file:
+version_path = "taipy/config/version.json"
+
+setup_requirements = Path("taipy/config/setup.requirements.txt")
+
+with open(version_path) as version_file:
     version = json.load(version_file)
     version_string = f'{version.get("major", 0)}.{version.get("minor", 0)}.{version.get("patch", 0)}'
     if vext := version.get("ext"):
         version_string = f"{version_string}.{vext}"
 
-requirements = [r for r in (root_folder / "setup.requirements.txt").read_text("UTF-8").splitlines() if r]
+requirements = [r for r in (setup_requirements).read_text("UTF-8").splitlines() if r]
 
 test_requirements = ["pytest>=3.8"]
 
@@ -56,7 +59,9 @@ setup(
     keywords="taipy-config",
     name="taipy-config",
     packages=find_packages(
-        where=root_folder, include=["taipy", "taipy.config", "taipy.config.*", "taipy.logger", "taipy.logger.*"]
+        where=root_folder, include=[
+            "taipy", "taipy.config", "taipy.config.*", "taipy.logger", "taipy.logger.*", "taipy._cli", "taipy._cli.*"
+        ]
     ),
     test_suite="tests",
     tests_require=test_requirements,

+ 2 - 0
tools/packages/taipy-core/MANIFEST.in

@@ -1,2 +1,4 @@
 include taipy/core/*.json
 include taipy/core/config/*.json
+include *.json
+include taipy/core/setup.requirements.txt

+ 6 - 2
tools/packages/taipy-core/setup.py

@@ -22,13 +22,17 @@ root_folder = Path(__file__).parent
 
 readme = Path(root_folder / "README.md").read_text("UTF-8")
 
-with open(root_folder / "taipy" / "core" / "version.json") as version_file:
+version_path = "taipy/core/version.json"
+
+setup_requirements = Path("taipy/core/setup.requirements.txt")
+
+with open(version_path) as version_file:
     version = json.load(version_file)
     version_string = f'{version.get("major", 0)}.{version.get("minor", 0)}.{version.get("patch", 0)}'
     if vext := version.get("ext"):
         version_string = f"{version_string}.{vext}"
 
-requirements = [r for r in (root_folder / "setup.requirements.txt").read_text("UTF-8").splitlines() if r]
+requirements = [r for r in (setup_requirements).read_text("UTF-8").splitlines() if r]
 
 test_requirements = ["pytest>=3.8"]
 

+ 2 - 0
tools/packages/taipy-gui/MANIFEST.in

@@ -2,3 +2,5 @@ recursive-include taipy/gui/webapp *
 include taipy/gui/version.json
 include taipy/gui/viselements.json
 include taipy/gui/*.pyi
+include *.json
+include taipy/gui/setup.requirements.txt

+ 7 - 2
tools/packages/taipy-gui/setup.py

@@ -14,6 +14,7 @@
 """The setup script."""
 
 import json
+import os
 import platform
 from pathlib import Path
 import subprocess
@@ -25,13 +26,17 @@ root_folder = Path(__file__).parent
 
 readme = Path(root_folder / "README.md").read_text("UTF-8")
 
-with open(root_folder / "taipy" / "gui" / "version.json") as version_file:
+version_path = os.path.join(root_folder, "taipy/gui/version.json")
+
+setup_requirements = Path("taipy/gui/setup.requirements.txt")
+
+with open(version_path) as version_file:
     version = json.load(version_file)
     version_string = f'{version.get("major", 0)}.{version.get("minor", 0)}.{version.get("patch", 0)}'
     if vext := version.get("ext"):
         version_string = f"{version_string}.{vext}"
 
-requirements = [r for r in (root_folder / "setup.requirements.txt").read_text("UTF-8").splitlines() if r]
+requirements = [r for r in (setup_requirements).read_text("UTF-8").splitlines() if r]
 
 test_requirements = ["pytest>=3.8"]
 

+ 2 - 0
tools/packages/taipy-rest/MANIFEST.in

@@ -1 +1,3 @@
 include taipy/rest/*.json
+include *.json
+include taipy/rest/setup.requirements.txt

+ 6 - 2
tools/packages/taipy-rest/setup.py

@@ -18,13 +18,17 @@ root_folder = Path(__file__).parent
 
 readme = Path(root_folder / "README.md").read_text("UTF-8")
 
-with open(root_folder / "taipy" / "rest" / "version.json") as version_file:
+version_path = "taipy/rest/version.json"
+
+setup_requirements = Path("taipy/rest/setup.requirements.txt")
+
+with open(version_path) as version_file:
     version = json.load(version_file)
     version_string = f'{version.get("major", 0)}.{version.get("minor", 0)}.{version.get("patch", 0)}'
     if vext := version.get("ext"):
         version_string = f"{version_string}.{vext}"
 
-requirements = [r for r in (root_folder / "setup.requirements.txt").read_text("UTF-8").splitlines() if r]
+requirements = [r for r in (setup_requirements).read_text("UTF-8").splitlines() if r]
 
 setup(
     author="Avaiga",

+ 2 - 0
tools/packages/taipy-templates/MANIFEST.in

@@ -1 +1,3 @@
 recursive-include taipy/templates *
+include *.json
+include taipy/templates/setup.requirements.txt

+ 6 - 2
tools/packages/taipy-templates/setup.py

@@ -21,13 +21,17 @@ root_folder = Path(__file__).parent
 
 readme = Path(root_folder / "README.md").read_text("UTF-8")
 
-with open(root_folder / "taipy" / "templates" / "version.json") as version_file:
+version_path = "taipy/templates/version.json"
+
+setup_requirements = Path("taipy/templates/setup.requirements.txt")
+
+with open(version_path) as version_file:
     version = json.load(version_file)
     version_string = f'{version.get("major", 0)}.{version.get("minor", 0)}.{version.get("patch", 0)}'
     if vext := version.get("ext"):
         version_string = f"{version_string}.{vext}"
 
-requirements = [r for r in (root_folder / "setup.requirements.txt").read_text("UTF-8").splitlines() if r]
+requirements = [r for r in (setup_requirements).read_text("UTF-8").splitlines() if r]
 
 test_requirements = ["pytest>=3.8"]
 

+ 25 - 0
tools/packages/taipy/MANIFEST.in

@@ -1,3 +1,28 @@
+recursive-include tools *
+
+# Package taipy
 include taipy/*.json
 include taipy/gui_core/*.json
 include taipy/gui_core/lib/*.js
+
+# Package taipy-config
+include taipy/config/*.pyi
+include taipy/config/*.json
+
+# Package taipy-core
+include taipy/core/*.json
+include taipy/core/config/*.json
+
+# Package taipy-gui
+recursive-include taipy/gui/webapp *
+include taipy/gui/version.json
+include taipy/gui/viselements.json
+include taipy/gui/*.pyi
+
+# Package taipy-rest
+include taipy/rest/*.json
+
+# Package taipy-templates
+recursive-include taipy/templates *
+
+include setup.requirements.txt

+ 7 - 17
tools/packages/taipy/setup.py

@@ -48,22 +48,12 @@ extras_require = {
 
 class NPMInstall(build_py):
     def run(self):
-        with_shell = platform.system() == "Windows"
-        print(f"Building taipy frontend bundle in {root_folder}.")
-        already_exists = (root_folder / "taipy" / "gui_core" / "lib" / "taipy-gui-core.js").exists()
-        if already_exists:
-            print(f'Found taipy frontend bundle in {root_folder / "taipy" / "gui_core" / "lib"}.')
-        else:
-            # Specify the correct path to taipy-gui in gui/.env file
-            env_file_path = root_folder / "frontend" / "taipy" / ".env"
-            if not env_file_path.exists():
-                with open(env_file_path, "w") as env_file:
-                    env_file.write(f"TAIPY_DIR={root_folder}\n")
-            subprocess.run(["npm", "ci"], cwd=root_folder / "frontend" / "taipy", check=True, shell=with_shell)
-            subprocess.run(
-                ["npm", "run", "build"], cwd=root_folder / "frontend" / "taipy", check=True, shell=with_shell
-            )
-
+        subprocess.run(
+            ["python", "bundle_build.py"],
+            cwd=root_folder / "tools" / "frontend",
+            check=True,
+            shell=platform.system() == "Windows",
+        )
         build_py.run(self)
 
 
@@ -94,7 +84,7 @@ setup(
     long_description_content_type="text/markdown",
     keywords="taipy",
     name="taipy",
-    packages=find_packages(include=["taipy", "taipy._cli", "taipy.gui_core"]),
+    packages=find_packages(include=["taipy", "taipy._cli", "taipy._cli.*", "taipy.gui_core"]),
     include_package_data=True,
     test_suite="tests",
     url="https://github.com/avaiga/taipy",

+ 3 - 1
tools/release/build_package_structure.py

@@ -24,6 +24,8 @@ if __name__ == "__main__":
     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:
+        if file_name.lower().endswith(".md") or file_name in __SKIP:
             continue
         shutil.move(file_name, _package_path)
+
+    shutil.copy("../__init__.py", "./taipy/__init__.py")

+ 3 - 1
tools/release/update_setup_requirements.py

@@ -20,7 +20,9 @@ def __build_taipy_package_line(line: str, version: str, publish_on_py_pi: bool)
     _line = line.strip()
     if publish_on_py_pi:
         return f"{_line}=={version}\n"
-    return f"{_line} @ https://github.com/Avaiga/taipy/releases/download/{version}/{version}.tar.gz\n"
+    tag = f"{version}-{_line.split('-')[1]}"
+    tar_name = f"{_line}-{version}"
+    return f"{_line} @ https://github.com/Avaiga/taipy/releases/download/{tag}/{tar_name}.tar.gz\n"
 
 
 def update_setup_requirements(package: str, versions: Dict, publish_on_py_pi: bool) -> None: