From 7fee230cb225b668a2e9fa49718fc193a18c3dc9 Mon Sep 17 00:00:00 2001 From: Jac Fitzgerald Date: Mon, 12 Sep 2022 23:30:59 -0700 Subject: [PATCH 01/11] fully port to pyproject.toml --- pyproject.toml | 63 +++++++++++++++++++++++++++++++++++++++++++++++ setup.cfg | 10 -------- setup.py | 66 +++----------------------------------------------- 3 files changed, 66 insertions(+), 73 deletions(-) delete mode 100644 setup.cfg diff --git a/pyproject.toml b/pyproject.toml index 485decd9..ae6bd8ca 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,70 @@ [build-system] requires = ["build", "setuptools>=62", "wheel", "setuptools_scm>=6.2"] +build-backend = "setuptools.build_meta" [tool.setuptools_scm] "local_scheme"= "no-local-version" # require pypi supported versions always +[tool.setuptools.package-data] +"tabcmd" = ["tabcmd.locales/**/*.mo"] [tool.black] line-length = 120 +target-version = ['py37', 'py38', 'py39', 'py310'] extend-exclude = '^/bin/*' +[tool.mypy] +disable_error_code = [ + 'misc', + 'import' +] +files = ["tabcmd", "tests"] +show_error_codes = true +ignore_missing_imports = true +[tool.pytest.ini_options] +testpaths = ["test"] +addopts = "--junitxml=./test.junit.xml" + +[project] +name="tabcmd" +dynamic = ["version"] +description="A command line client for working with Tableau Server." +authors = [{name="Tableau", email="github@tableau.com"}] +license = {file = "LICENSE"} +readme = "README.md" +requires-python = ">=3.7" +classifiers = [ + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10" +] +dependencies = [ + 'argparse', + "appdirs", + "doit", + "ftfy", + "polling2", + "pyinstaller_versionfile", + "requests>=2.11,<3.0", + "types-appdirs", + "types-mock", + "types-requests", + "types-setuptools", + "tableauserverclient>=0.19", + "urllib3>=1.24.3,<2.0", +] +[project.optional-dependencies] +test = [ + "black", + "mock", + "mypy", + "pytest>=7.0", + "pytest-cov", + "pytest-order", + "pytest-runner", + "requests-mock>=1.0,<2.0"] +localize = ["doit", "ftfy"] +package = ["pyinstaller>=5.1", "pyinstaller-versionfile"] +[project.urls] +repository = "https://github.com/tableau/tabcmd" +[project.scripts] +tabcmd = "tabcmd.tabcmd:main" diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index d4230e64..00000000 --- a/setup.cfg +++ /dev/null @@ -1,10 +0,0 @@ -[pycodestyle] -max_line_length = 120 -[mypy] -exclude = tests/e2e -ignore_missing_imports = True -[tool:pytest] -# useful settings for debugging -# log_cli = True -# log_cli_level = DEBUG - diff --git a/setup.py b/setup.py index 8d834b82..574bf757 100644 --- a/setup.py +++ b/setup.py @@ -1,63 +1,3 @@ -from setuptools import setup, find_packages - -setup( - name="tabcmd", - author="Tableau", - author_email="github@tableau.com", - description="A command line client for working with Tableau Server.", - long_description="A command line client for working with Tableau Server.", - license="MIT", - url="https://github.com/tableau/tabcmd", - python_requires=">=3.7", - packages=find_packages(), - package_data={"tabcmd": ["tabcmd.locales/**/*.mo"]}, - include_package_data=True, - entry_points={"console_scripts": ["tabcmd = tabcmd.tabcmd:main"]}, - setup_requires=[ - # copy of pyproject.toml for back compat - "build", - "setuptools>=62", - "setuptools_scm>=6.2", - "wheel", - ], - install_requires=[ - "polling2", - "requests>=2.11,<3.0", - "tableauserverclient>=0.19", - "urllib3>=1.24.3,<2.0", - ], - extras_require={ - "localize": [ - "doit", - "ftfy", - ], - "build": [ - "appdirs", - "black", - "doit", - "ftfy", - "mypy", - "pyinstaller_versionfile", - "setuptools>=62", - "setuptools_scm", - "types-appdirs", - "types-mock", - "types-requests", - "types-setuptools", - ], - "package": [ - "pyinstaller>=5.1", - "pyinstaller-versionfile", - ], - "test": [ - "mock", - "pytest", - "pytest-cov", - "pytest-order", - "pytest-runner", - "requests-mock>=1.0,<2.0", - ], - }, - test_suite="tests", - zip_safe=False, -) +# legacy stub setup.py, do not add configuration here +from setuptools import setup +setup() From 5d86700c95d08d008cb6e6f05c79c667895ed2df Mon Sep 17 00:00:00 2001 From: Jac Fitzgerald Date: Mon, 12 Sep 2022 23:33:01 -0700 Subject: [PATCH 02/11] update packaging script --- .github/workflows/package.yml | 7 +++---- pyproject.toml | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index 476e06d5..105c6e07 100644 --- a/.github/workflows/package.yml +++ b/.github/workflows/package.yml @@ -26,13 +26,12 @@ jobs: TARGET: windows CMD_BUILD: > pyinstaller tabcmd-windows.spec --clean --noconfirm --distpath ./dist/windows - OUT_FILE_NAME: tabcmd.exe + OUT_FILE_NAME: tabcmd-windows.exe ASSET_MIME: application/vnd.microsoft.portable-executable - os: macos-latest TARGET: macos CMD_BUILD: > - pyinstaller tabcmd-mac.spec --clean --noconfirm --distpath ./dist/macos && - cwd && ls && ls dist + pyinstaller tabcmd-mac.spec --clean --noconfirm --distpath ./dist/macos && ls && ls dist # zip -r9 mac tabcmd-mac* OUT_FILE_NAME: tabcmd-mac.app # tabcmd.zip ASSET_MIME: application/zip @@ -66,7 +65,7 @@ jobs: uses: WebFreak001/upload-asset@v1.0.0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # automatically provided by github actions - OS: windows # just a variable we use in the name pattern + OS: windows # a variable we use in the name pattern? with: file: ./dist/${{ matrix.TARGET }}/tabcmd/${{ matrix.OUT_FILE_NAME}} mime: ${{ matrix.ASSET_MIME}} # required by GitHub API diff --git a/pyproject.toml b/pyproject.toml index ae6bd8ca..e7564a34 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -63,7 +63,7 @@ test = [ "pytest-runner", "requests-mock>=1.0,<2.0"] localize = ["doit", "ftfy"] -package = ["pyinstaller>=5.1", "pyinstaller-versionfile"] +package = ["pyinstaller>=5.1"] [project.urls] repository = "https://github.com/tableau/tabcmd" [project.scripts] From 8f3718b4a582b7987b892090e5e70c63fb305f17 Mon Sep 17 00:00:00 2001 From: Jac Fitzgerald Date: Sat, 17 Sep 2022 00:58:47 -0700 Subject: [PATCH 03/11] fix packaging to contain localization files --- tabcmd-linux.spec | 2 +- tabcmd-mac.spec | 2 +- tabcmd-windows.spec | 2 +- tabcmd.spec | 2 +- tabcmd/execution/localize.py | 29 ++++++++++++++++------------- 5 files changed, 20 insertions(+), 17 deletions(-) diff --git a/tabcmd-linux.spec b/tabcmd-linux.spec index d71fd83e..c5e367fc 100644 --- a/tabcmd-linux.spec +++ b/tabcmd-linux.spec @@ -12,7 +12,7 @@ a = Analysis( pathex=[], binaries=[], datas=datas, - hiddenimports=[], + hiddenimports=['tableauserverclient', 'requests.packages.urllib3', 'pkg_resources'], hookspath=[], hooksconfig={}, runtime_hooks=[], diff --git a/tabcmd-mac.spec b/tabcmd-mac.spec index fcce4bfe..fee41fa8 100644 --- a/tabcmd-mac.spec +++ b/tabcmd-mac.spec @@ -13,7 +13,7 @@ a = Analysis( pathex=[], binaries=[], datas=datas, - hiddenimports=[], + hiddenimports=['tableauserverclient', 'requests.packages.urllib3', 'pkg_resources'], hookspath=[], hooksconfig={}, runtime_hooks=[], diff --git a/tabcmd-windows.spec b/tabcmd-windows.spec index d71fd83e..03f1dfd1 100644 --- a/tabcmd-windows.spec +++ b/tabcmd-windows.spec @@ -12,7 +12,7 @@ a = Analysis( pathex=[], binaries=[], datas=datas, - hiddenimports=[], + hiddenimports=['tableauserverclient', 'requests', 'pkg_resources'], hookspath=[], hooksconfig={}, runtime_hooks=[], diff --git a/tabcmd.spec b/tabcmd.spec index 650b541a..a1e0421c 100644 --- a/tabcmd.spec +++ b/tabcmd.spec @@ -9,7 +9,7 @@ a = Analysis( pathex=[], binaries=[], datas=[], - hiddenimports=[], + hiddenimports=['tableauserverclient', 'requests.packages.urllib3', 'pkg_resources'], hookspath=[], hooksconfig={}, runtime_hooks=[], diff --git a/tabcmd/execution/localize.py b/tabcmd/execution/localize.py index a53e43f1..897346f2 100644 --- a/tabcmd/execution/localize.py +++ b/tabcmd/execution/localize.py @@ -3,6 +3,7 @@ import logging import os import sys +from os import listdir from typing import Any from typing import Callable @@ -20,7 +21,7 @@ def _(string_key: str) -> str: def _identity_func(x: Any) -> Any: - return x + return "++" + x + "++" # The client should present text in the OS language, or english if not present. @@ -41,7 +42,7 @@ def set_client_locale(lang: str = None, logger=None) -> Callable: for lang in locale_options: try: if lang: - translate = _load_language(lang, domain) + translate = _load_language(lang, domain, logger) break except Exception as e: print("Failed to load language '", lang, "':", e) @@ -49,23 +50,25 @@ def set_client_locale(lang: str = None, logger=None) -> Callable: return translate or _identity_func -# Handling file locations in unbundled (e.g dev) layout and when bundled by pyinstaller +"""Get absolute path to resource, works for unbundled (e.g dev) and when bundled by PyInstaller""" # https://stackoverflow.com/questions/7674790/bundling-data-files-with-pyinstaller-onefile/13790741#13790741 def resource_path(relative_path): - """Get absolute path to resource, works for dev and for PyInstaller""" - base_path = getattr(sys, "_MEIPASS", os.path.dirname(os.path.abspath(__file__))) + """ for unbundled module, return the tabcmd src dir (parent of this file)""" + src_location = os.path.join(os.path.dirname(os.path.abspath(__file__)), "..") + """sys._MEIPASS will only exist in bundled pyinstaller exe, else fall back to unbundled location""" + base_path = getattr(sys, "_MEIPASS", src_location) return os.path.join(base_path, relative_path) -def _load_language(current_locale, domain): - locale_path = os.path.join("..", "locales") - - # fallback=True means if loading the translated files fails, strings will be returned - # we use the identity function above instead +def _load_language(current_locale, domain, logger): + locale_path = os.path.join(".", "tabcmd", "locales") locale_dir = resource_path(locale_path) - language: gettext.NullTranslations = gettext.translation( - domain, locale_dir, languages=[current_locale], fallback=False - ) + logger.debug("Checking for language resources at " + locale_dir) + # to debug pyinstaller file bundling, try something like this example debug line + # logger.debug(listdir(sys._MEIPASS)) + # logger.debug(listdir(locale_dir)) + + language: gettext.NullTranslations = gettext.translation(domain, locale_dir, languages=[current_locale]) language.install() # I believe this is the expensive call _ = language.gettext return _ From e00e8f4c4e8738b1dd577a84769658b3b4b4ef01 Mon Sep 17 00:00:00 2001 From: Jac Fitzgerald Date: Sat, 17 Sep 2022 00:59:47 -0700 Subject: [PATCH 04/11] Update pyproject.toml --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index e7564a34..1639bda3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,9 +2,9 @@ requires = ["build", "setuptools>=62", "wheel", "setuptools_scm>=6.2"] build-backend = "setuptools.build_meta" [tool.setuptools_scm] -"local_scheme"= "no-local-version" # require pypi supported versions always +local_scheme = "no-local-version" # require pypi supported versions always [tool.setuptools.package-data] -"tabcmd" = ["tabcmd.locales/**/*.mo"] +tabcmd = ["tabcmd.locales/**/*.mo"] [tool.black] line-length = 120 target-version = ['py37', 'py38', 'py39', 'py310'] From 992aa09271cd6aa747782562270d37f131e0e854 Mon Sep 17 00:00:00 2001 From: Jac Fitzgerald Date: Sat, 17 Sep 2022 01:13:07 -0700 Subject: [PATCH 05/11] fix package gen build --- pyproject.toml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index 1639bda3..e6b5facd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,6 +3,8 @@ requires = ["build", "setuptools>=62", "wheel", "setuptools_scm>=6.2"] build-backend = "setuptools.build_meta" [tool.setuptools_scm] local_scheme = "no-local-version" # require pypi supported versions always +[tool.setuptools] +packages = ["tabcmd"] [tool.setuptools.package-data] tabcmd = ["tabcmd.locales/**/*.mo"] [tool.black] From 22441d32632e413084a684231f1dd9e97f97cd64 Mon Sep 17 00:00:00 2001 From: Jac Fitzgerald Date: Tue, 27 Sep 2022 12:37:48 -0700 Subject: [PATCH 06/11] update locales dir in packaged client also fix missing requirement --- pyproject.toml | 3 ++- tabcmd/execution/localize.py | 33 +++++++++++++++++++------------ tabcmd/execution/logger_config.py | 2 +- 3 files changed, 23 insertions(+), 15 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index e6b5facd..77c00308 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -20,7 +20,7 @@ files = ["tabcmd", "tests"] show_error_codes = true ignore_missing_imports = true [tool.pytest.ini_options] -testpaths = ["test"] +testpaths = ["tests"] addopts = "--junitxml=./test.junit.xml" [project] @@ -47,6 +47,7 @@ dependencies = [ "polling2", "pyinstaller_versionfile", "requests>=2.11,<3.0", + "setuptools_scm", "types-appdirs", "types-mock", "types-requests", diff --git a/tabcmd/execution/localize.py b/tabcmd/execution/localize.py index 897346f2..ec70ee30 100644 --- a/tabcmd/execution/localize.py +++ b/tabcmd/execution/localize.py @@ -52,22 +52,29 @@ def set_client_locale(lang: str = None, logger=None) -> Callable: """Get absolute path to resource, works for unbundled (e.g dev) and when bundled by PyInstaller""" # https://stackoverflow.com/questions/7674790/bundling-data-files-with-pyinstaller-onefile/13790741#13790741 -def resource_path(relative_path): - """ for unbundled module, return the tabcmd src dir (parent of this file)""" - src_location = os.path.join(os.path.dirname(os.path.abspath(__file__)), "..") - """sys._MEIPASS will only exist in bundled pyinstaller exe, else fall back to unbundled location""" - base_path = getattr(sys, "_MEIPASS", src_location) - return os.path.join(base_path, relative_path) +def define_locale_dir(logger): + try: + base_path = getattr(sys, "_MEIPASS") + except AttributeError: # sys._MEIPASS will only exist in bundled pyinstaller exe, + # in unbundled src code we take the location of the current file + # and go 2 dirs up so that the relative path /tabcmd/locales is still correct + base_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", "..") + relative_path = os.path.join(".", "tabcmd", "locales") + locale_dir = os.path.join(base_path, relative_path) + logger.debug("Checking for language resources at " + locale_dir) + """ to debug pyinstaller file bundling, try something like this example debug line + try: + logger.debug(listdir(sys._MEIPASS)) + except AttributeError as e: + logger.debug(e) + """ + print(locale_dir) + print(listdir(locale_dir)) + return locale_dir def _load_language(current_locale, domain, logger): - locale_path = os.path.join(".", "tabcmd", "locales") - locale_dir = resource_path(locale_path) - logger.debug("Checking for language resources at " + locale_dir) - # to debug pyinstaller file bundling, try something like this example debug line - # logger.debug(listdir(sys._MEIPASS)) - # logger.debug(listdir(locale_dir)) - + locale_dir = define_locale_dir(logger) language: gettext.NullTranslations = gettext.translation(domain, locale_dir, languages=[current_locale]) language.install() # I believe this is the expensive call _ = language.gettext diff --git a/tabcmd/execution/logger_config.py b/tabcmd/execution/logger_config.py index 96f7f067..8a42e2cb 100644 --- a/tabcmd/execution/logger_config.py +++ b/tabcmd/execution/logger_config.py @@ -6,7 +6,7 @@ FORMATS = { logging.ERROR: "%(asctime)s %(levelname)-5s:(%(name)-10s %(filename)-10s: %(lineno)d): %(message)-30s", logging.WARN: "%(asctime)s %(levelname)-5s: (%(name)-10s %(filename)-10s: %(lineno)d): %(message)-30s", - logging.INFO: "%(message)-30s", + logging.INFO: "%(filename)-10s: %(message)-30s", logging.DEBUG: "%(asctime)s %(levelname)-5s: (%(name)-10s %(filename)-10s: %(lineno)d): %(message)-30s", } From f1757c460e558272902301b6583194a9adf9017c Mon Sep 17 00:00:00 2001 From: Jac Fitzgerald Date: Tue, 27 Sep 2022 13:03:42 -0700 Subject: [PATCH 07/11] add explicit install of build module I feel like we shouldn't need this but *shrug* it's part of the docs here https://packaging.python.org/en/latest/tutorials/packaging-projects/ --- .github/workflows/check-coverage.yml | 5 +++-- .github/workflows/package.yml | 7 +++++-- .github/workflows/publish-pypi.yml | 6 +++++- .github/workflows/run-tests.yml | 5 +++-- 4 files changed, 16 insertions(+), 7 deletions(-) diff --git a/.github/workflows/check-coverage.yml b/.github/workflows/check-coverage.yml index 7de40783..0bfaa03a 100644 --- a/.github/workflows/check-coverage.yml +++ b/.github/workflows/check-coverage.yml @@ -28,8 +28,9 @@ jobs: run: | python --version python -m pip install --upgrade pip - pip install -e .[build] - pip install -e .[test] + python -m pip install --upgrade build + pip install . + pip install .[test] doit version python -m build diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index 105c6e07..2b46a3e6 100644 --- a/.github/workflows/package.yml +++ b/.github/workflows/package.yml @@ -53,8 +53,11 @@ jobs: - name: Install dependencies and build run: | - pip install -e .[build] - pip install -e .[package] + python --version + python -m pip install --upgrade pip + python -m pip install --upgrade build + pip install . + pip install .[test] doit version python -m build diff --git a/.github/workflows/publish-pypi.yml b/.github/workflows/publish-pypi.yml index b9ea0521..42c234e3 100644 --- a/.github/workflows/publish-pypi.yml +++ b/.github/workflows/publish-pypi.yml @@ -23,7 +23,11 @@ jobs: python-version: 3.8 - name: Build dist files run: | - pip install -e .[build] + python --version + python -m pip install --upgrade pip + python -m pip install --upgrade build + pip install . + pip install .[package] doit version python -m build - name: Publish distribution 📦 to Test PyPI diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index 9c981c75..bad6a73b 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -31,8 +31,9 @@ jobs: run: | python --version python -m pip install --upgrade pip - pip install -e .[build] - pip install -e .[test] + python -m pip install --upgrade build + pip install . + pip install .[test] doit version python -m build From a57f568bde017053a3db52dc63f45659d4f91be6 Mon Sep 17 00:00:00 2001 From: Jac Fitzgerald Date: Tue, 27 Sep 2022 13:08:05 -0700 Subject: [PATCH 08/11] update more action dependencies this should be a shared step --- .github/workflows/generate-metadata.yml | 12 ++++++++---- .github/workflows/run-e2-tests.yml | 5 +++-- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/.github/workflows/generate-metadata.yml b/.github/workflows/generate-metadata.yml index a1d6e88b..d2c5dc85 100644 --- a/.github/workflows/generate-metadata.yml +++ b/.github/workflows/generate-metadata.yml @@ -20,12 +20,15 @@ jobs: - name: Install App and Extras run: | + python --version python -m pip install --upgrade pip - python -m pip install -e .[build] + python -m pip install --upgrade build + pip install . + pip install .[test] doit version python -m build - - name: Generate dependencies list + - name: Run license check run: python bin/license-checker.py - name: Type-check @@ -35,7 +38,8 @@ jobs: run: black . --check - name: Generate pyinstaller specs - run: echo Using locally generated specs - # pyi-makespec tabcmd\tabcmd.py -n tabcmd-windows -i res\tabcmd.ico -F -c --version-file versionfile.txt --onefile --collect-data tabcmd.locales && + run: | + echo "Using locally generated specs" + pyi-makespec tabcmd\tabcmd.py -n tabcmd-windows -i res\tabcmd.ico -F -c --version-file versionfile.txt --onefile --collect-data tabcmd.locales && # pyi-makespec tabcmd\tabcmd.py -n tabcmd-mac -i res\tabcmd.icns -F -c --version-file versionfile.txt --onefile --collect-data tabcmd.locales --osx-bundle-identifier com.tableau.tabcmd # 3. Unix diff --git a/.github/workflows/run-e2-tests.yml b/.github/workflows/run-e2-tests.yml index 0bf4c3ea..ec1262af 100644 --- a/.github/workflows/run-e2-tests.yml +++ b/.github/workflows/run-e2-tests.yml @@ -34,8 +34,9 @@ jobs: run: | python --version python -m pip install --upgrade pip - pip install -e .[build] - pip install -e .[test] + python -m pip install --upgrade build + pip install . + pip install .[test] doit version python -m build From 5d8f1548c0df336bb98160148ec6b535696d167f Mon Sep 17 00:00:00 2001 From: Jac Fitzgerald Date: Tue, 27 Sep 2022 13:17:38 -0700 Subject: [PATCH 09/11] make e2e tests mypy-ok --- tests/e2e/setup_e2e.py | 3 +-- tests/e2e/tests_integration.py | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/tests/e2e/setup_e2e.py b/tests/e2e/setup_e2e.py index ddbe1573..4edecf7c 100644 --- a/tests/e2e/setup_e2e.py +++ b/tests/e2e/setup_e2e.py @@ -1,9 +1,8 @@ import subprocess import os -import pytest try: - from tests.e2e import credentials + from tests.e2e import credentials # type: ignore except ImportError: credentials = None # type: ignore diff --git a/tests/e2e/tests_integration.py b/tests/e2e/tests_integration.py index d41070a1..e18c38b6 100644 --- a/tests/e2e/tests_integration.py +++ b/tests/e2e/tests_integration.py @@ -8,7 +8,7 @@ try: - from tests.e2e import credentials + from tests.e2e import credentials # type: ignore except ImportError: credentials = None # type: ignore From 2ee9d5a08e4a4877b031f7d3642e0d169791c228 Mon Sep 17 00:00:00 2001 From: Jac Fitzgerald Date: Tue, 27 Sep 2022 13:19:16 -0700 Subject: [PATCH 10/11] Format --- setup.py | 1 + 1 file changed, 1 insertion(+) diff --git a/setup.py b/setup.py index 574bf757..914e6b5d 100644 --- a/setup.py +++ b/setup.py @@ -1,3 +1,4 @@ # legacy stub setup.py, do not add configuration here from setuptools import setup + setup() From 435352721d92639dc6d65c66d1cf56f794f6c4f6 Mon Sep 17 00:00:00 2001 From: Jac Fitzgerald Date: Tue, 27 Sep 2022 13:23:30 -0700 Subject: [PATCH 11/11] remove makespec step for now --- .github/workflows/generate-metadata.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/generate-metadata.yml b/.github/workflows/generate-metadata.yml index d2c5dc85..7f4abb2c 100644 --- a/.github/workflows/generate-metadata.yml +++ b/.github/workflows/generate-metadata.yml @@ -39,7 +39,9 @@ jobs: - name: Generate pyinstaller specs run: | - echo "Using locally generated specs" - pyi-makespec tabcmd\tabcmd.py -n tabcmd-windows -i res\tabcmd.ico -F -c --version-file versionfile.txt --onefile --collect-data tabcmd.locales && - # pyi-makespec tabcmd\tabcmd.py -n tabcmd-mac -i res\tabcmd.icns -F -c --version-file versionfile.txt --onefile --collect-data tabcmd.locales --osx-bundle-identifier com.tableau.tabcmd - # 3. Unix + echo "Using manually generated specs" + + # todo: add hidden dependencies to these command lines + # pyi-makespec tabcmd\tabcmd.py -n tabcmd-windows -i res\tabcmd.ico -F -c --version-file versionfile.txt --onefile --collect-data tabcmd.locales + # pyi-makespec tabcmd\tabcmd.py -n tabcmd-mac -i res\tabcmd.icns -F -c --version-file versionfile.txt --onefile --collect-data tabcmd.locales --osx-bundle-identifier com.tableau.tabcmd + # 3. Unix