aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside-tools/deploy_lib/config.py
Commit message (Collapse)AuthorAgeFilesLines
* Deployment: Use relative pathsShyamnath Premnadh2025-08-041-4/+14
| | | | | | | | | | | - For input_file and project_dir, use relative paths instead of absolute paths so that it can be checked in to version control. - Fix tests accordingly. Fixes: PYSIDE-3146 Pick-to: 6.9 6.8 Change-Id: I4260a4844edc71964d5c2ab907915e5fbbcf4e41 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Deployment: sort list values before filling values into pysidedeploy.specYoung Lee2025-07-251-0/+5
| | | | | | Task-number: PYSIDE-3146 Change-Id: I2c23e8ae3302bafc31a1a65013e2f3ed342d22ed Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Deployment: Rephrase a warning messageShyamnath Premnadh2025-04-101-2/+2
| | | | | | | | | | | - The error in the specific warning message leads to confusion. This should now be fixed by rephrasing the message to be more clear. Pick-to: 6.9 Task-number: PYSIDE-1612 Change-Id: I2cb3b6b33bd05efe60a54e722a6b626fae7bd1e7 Reviewed-by: Ece Cinucen <ece.cinucen@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* pyproject.toml: 1. Refactor pyside6-projectJaime Resano2025-03-121-10/+7
| | | | | | | | | | | | This patch refactors the code of the pyside6-project tool to simplify the upcoming change of the project file format, pyproject.toml. The CLI tool documentation is also improved. Task-number: PYSIDE-2714 Change-Id: I010bbb58f3ed8be5ad5f38687f36b4641a4a021d Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Refactor pyside6-deployJaime Resano2025-03-111-54/+50
| | | | | | | | This patch cleans up the pyside6-deploy tool code. Adds some type hints and fixes some casing consistency issues. Change-Id: I16988ebf8a15bd3d2bfd12366ebacb3ffe4001e2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* pyside6-deploy: 3. Rename project folder to project_libJaime Resano2025-01-221-1/+1
| | | | | | | | | | | | | This is a refactor in order to improve the code clarity. In the testing of the pyside6-project command, importlib.import_module is used to import the project_lib folder. Currently, importlib.import_module("project") is ambiguous because it may refer to both the file and the folder. It chooses the folder over the file. Task-number: PYSIDE-1612 Pick-to: 6.8 Change-Id: I8903ea9d2112cf2eb7a68d0e302d3c74edcf2c22 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* pyside6-deploy: 2. Improve deployment of Design Studio projectsJaime Resano2025-01-221-45/+46
| | | | | | | | | | | | Design Studio projects will specify the resources employed by the project in the .qrc file. This way, the deployment process is way simpler since all the file dependencies are stored compiled in a .py file. Task-number: PYSIDE-1612 Change-Id: Icc0047e9f9c183a4db51052a84743e5b095ec76a Pick-to: 6.8 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* pyside6-deploy: 1. Minor refactoringJaime Resano2025-01-211-26/+32
| | | | | | | | | | Just adding some type hints and a bit of code cleanup None of the existing logic should be affected by this change. Task-number: PYSIDE-1612 Pick-to: 6.8 Change-Id: I42175426a03dc463b8da82aa560c3f13ab842392 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Deployment: Support Design Studio projectsShyamnath Premnadh2024-10-071-25/+32
| | | | | | | | | | | | | | | | | | - new class 'DesignStudio' to handle Design Studio projects. - Currently uses a way of monkey patching to override the 'main.py' to use 'main_patch.py' which has the same content but with 'app_dir' set to the parent of `main.py``. The reason for doing this is that Nuitka requires the `main.py` to be in the same directory as other resources required for the project. Once the corresponding patch, to alternate between evaluating 'app_dir' based on whether the application is deployed or called through the Python interpreter, is merged then this temporary fix of creating 'main_patch.py' can be removed. - Add tests. Pick-to: 6.7 Change-Id: I79e6572bdbbf4576fbdd9039a4922997a22139f8 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Deployment: Change the order of set_or_fetch functionShyamnath Premnadh2024-09-051-6/+12
| | | | | | | | | | | | | - The value provided through cli is prioritized over the value in the config file. - Update the docstring for the set_or_fetch function. - Additionally, fix an error on run_qmlimportscanner() where the first argument was passed as a list instead of a tuple. Pick-to: 6.7 Task-number: PYSIDE-1612 Change-Id: I6afb25c8e88f7ee2fb4a88539d2b8b3170dcdd00 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Deployment: Fix formatting when writing back to config fileShyamnath Premnadh2024-09-051-2/+21
| | | | | | | | | | | | | | | | - Configparser does not preserve the formatting of the original file. As a result when writing into the config file, the formatting is lost. In the case of pysidedeploy.spec, the blank lines are lost making the entire config file rather hard to read. - This patch adds a blank line before the comment lines thus retaining the original formatting of the file. Pick-to: 6.7 Task-number: PYSIDE-1612 Change-Id: Icd1ebe52d364f4dc9197220161ed6daa6ed577a0 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
* Deployment: Exclude directories from qmlimportscanner checkShyamnath Premnadh2024-09-051-3/+2
| | | | | | | | | | | | - ac55d94395849a5a4af2883d2dab82982252c92d helps to fix a TODO where we can exclude directories from the qmlimportscanner check directly without moving all the QML files into a temporary directory - Amend b32183d2cd5fbbd1ac6a53827edf5d40428855ff Task-number: PYSIDE-1612 Task-number: PYSIDE-2803 Change-Id: I2524af7154b32730d2d823fda6973b9a2c8a76a3 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Desktop Deployment: Unify API design of Config classShyamnath Premnadh2024-09-021-92/+107
| | | | | | | | | | | | | | - Implements a comment suggestion from 11064d4dcd688db1d54d7273ad700761fabe3f50 - _find_and_set_** methods renamed to _find_** methods. They now return the required property. - Property setters now update the value in the config class as well. This also aligns with the design of certain other properties. - Adjust tests. Task-number: PYSIDE-1612 Pick-to: 6.7 Change-Id: I135d0a64928381a863cbf7235240efc45421324a Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Deployment: make run_qmlimportscanner() parameters hashableShyamnath Premnadh2024-08-231-1/+2
| | | | | | | | | - Required for @lru_cache decorator Task-number: PYSIDE-1612 Pick-to: 6.7 Change-Id: I5e62ad93f20f7000e2e0ef37617aa756b3272314 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Desktop Deployment: Change qmlimportscanner usage parametersShyamnath Premnadh2024-08-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | - Previously, pyside6-qmlimportscanner was run on each of the QML files by listing the QML files. For projects with a large number of QML files, this leads to a long command line that exceeds the maximum command line length on Windows. - This change modifies the command to use `-rootPath` command line option to specify the root path of the project directory. This will recursively find all the QML files in the project directory and its subdirectories, and find the QML modules used. - This solution moves all the '.qml' files in the project directory into a temporary directory and running pyside6-qmlimportscanner on this temporary directory. - Additionally, memoize the function run_qmlimportscanner() to avoid running the qmlimportscanner multiple times for the same project. Pick-to: 6.7 Task-number: PYSIDE-1612 Task-number: PYSIDE-2803 Change-Id: Ie82fc4e5071debe505fae7b5815b76c89d99ff4c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Desktop Deployment: Ignore directoriesShyamnath Premnadh2024-07-081-20/+9
| | | | | | | | | | | | | | | | - Among the directories ".qtcreator", "site-packages", "deployment" etc were excluded when finding the QML files and the Python files in the project. - Simplify find_and_set_qml_files(self) function by removing the unnecessary code. - Memoize pyside_module_imports(). Pick-to: 6.7 Task-number: PYSIDE-1612 Change-Id: I55ccb67300c27de73843ad9996da655ba04403fb Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Use modern typing syntaxAdrian Herrmann2024-06-201-3/+2
| | | | | | | | | | | | We can already use the modern typing syntax introduced with Python 3.10 in 3.9 via future statement definitions, even before we raise the minimum Python version to 3.10. Note that direct expressions with "|" don't work yet. Task-number: PYSIDE-2786 Change-Id: Ie36c140fc960328322502ea29cf6868805a7c558 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Python-3.10: Allow the new syntax for Python 3.9Christian Tismer2024-06-201-0/+1
| | | | | | | | Add a future statement to all Python source files. Task-number: PYSIDE-2786 Change-Id: Icd6688c7795a9e16fdcaa829686d57792df27690 Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io>
* Desktop Deployment: Fix errorShyamnath Premnadh2024-06-171-7/+8
| | | | | | | | | | | | | | | In the scenario where 'pyside6-deploy --init' is used on the first run and for the consequent invocations, only running just 'pyside6-deploy' without any additional options, the deployment should have worked. This currently had a bug where it overrides the main Python entrypoint file with the default option of 'main.py'. This issue is caused due to the order of 'if' loop in the changed function. Pick-to: 6.7 Task-number: PYSIDE-1612 Change-Id: I605c4b9ff2035e85c0b5f73049a3ecc84d0fd80c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Desktop Deployment: Enable Nuitka --standalone modeShyamnath Premnadh2024-06-101-1/+22
| | | | | | | | | | | | | - enables the standalone mode of Nuitka for pyside6-deploy - the mode can be set either through the command line or the config file - adapt tests - update documentation Pick-to: 6.7 Fixes: PYSIDE-2622 Task-number: PYSIDE-1612 Change-Id: I5a10c857d3e79174d2643139eb2e4f7b5e10d955 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Deployment: Adapt checking for plugin dependenciesShyamnath Premnadh2024-04-051-1/+2
| | | | | | | | | | | | | - Check if package e.g. PySide6_AddOns is installed before checking for the .json file - If a package is missing, add log warning for the missing package. If the .json file is missing inspite of the package being installed, then raise a proper warning. Pick-to: 6.7 6.7.0 Task-number: PYSIDE-1612 Change-Id: Ia65b06df15df7b334438f439762b135d9f61981d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Deployment: add permission support and create macOS bundle applicationShyamnath Premnadh2024-03-111-2/+54
| | | | | | | | | | | | | | | | | | - Look at the ast of the python files of the application to identify the permissions used by the application. Once the permissions are identified, pass the necessary NS property list key to be added to the Info.plist file to Nuitka. - For macOS, when deploying create a macOS application bundle (.app) by default. This makes it align more with Apple recommendations and Qt deployment. - Fix tests. - Fix wheel_tester.py to consider .app for macOS. Task-number: PYSIDE-1612 Task-number: PYSIDE-2468 Change-Id: Ie225c9a92c845b432a8e7eaa791a8aeb86ecd988 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Desktop Deployment: Optimize the plugins includedShyamnath Premnadh2024-03-071-7/+21
| | | | | | | | | | | | | | | | - Applications that use certain modules like Multimedia does not work because the plugins for it were not included. However, including all the plugins can make the application executable huge. This patch filters out the necessary plugins by looking at PySide6_Essentials.json and PySide6_Addons.json shipped with the wheels and only bundles these necessary plugins with the application. - Adjust tests. Task-number: PYSIDE-1612 Task-number: PYSIDE-2597 Change-Id: I35c74907a1782ae5101fb7c0861adcb97db5792d Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Deployment: Find dependent modulesShyamnath Premnadh2024-03-061-5/+74
| | | | | | | | | | | | | | | | | | | | - Based on the desktop platform, find all the Qt module dependencies of the application just like Android. These dependencies can help in optimizing the plugins packaged with the application. - Desktop deployment has new cl arguments: --extra-ignore-dirs and --extra-modules that further complements finding the Qt modules used by the application. - Since the Qt dependencies are also required for desktop deployment, 'modules' field in pysidedeploy.spec is moved from under 'buildozer' key to 'qt' key. - dependency finding code moved to dependency_util.py. This also helps in list the imports without conflicts in deploy_lib/__init__.py. - Fix tests. Skip the deploy tests for macOS 11 as the CI does not include dyld_info either via XCode or CommandLineTools. Task-number: PYSIDE-1612 Change-Id: I3524e1996bfec76c5635d1b35ccbc4ecd6ba7b8d Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io>
* Deployment: RefactoringShyamnath Premnadh2024-02-291-15/+4
| | | | | | | | | | | | | | | | | | | | | | | | - Functions in buildozer.py for finding the local_libs, plugin and Qt module dependencies of the application are related to the overall config of the application and not buildozer. Hence, these functions are moved to android_config.py. - `ALL_PYSIDE_MODULES` moved to a function under deploy_lib/__init__.py and `platform_map` moved to deploy_lib/android/__init__.py. - Enable the user to pass both arm64-v8a and aarch64 as the architecture type. Same for all the other architecures that are synonymous. - `verify_and_set_recipe_dir()` is now called explicitly from android_deploy.py due to `cleanup()` deleting the recipe directories during config initialization. - New property `dependency_files` for AndroidConfig class. - Fix --dry-run for Android Deployment. - Adapt tests. Pick-to: 6.6 Task-number: PYSIDE-1612 Change-Id: Icdf14001ae2b07dc8614af3f458f9cad11eafdac Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* PySide Tools: Fix flake8 warningsShyamnath Premnadh2024-02-021-1/+1
| | | | | | | | | | | | - Fix general flake8 warnings in pyside-tools. - add F401 to .flake8 to ignore unused imports from __init__.py files - add E402 from __init__.py to prevent errors related to partial initialization of modules. Pick-to: 6.6 6.5 Change-Id: Ia848b08ff6f0d2808e04f6a83c46636e2d167c02 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Deployment: Add icon for applicationShyamnath Premnadh2023-12-041-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | | - For Android deployment, by default kivy's icon is used when the application is deployed. This patch makes use of PySide icon as the default for all applications created with pyside6-android-deploy. - Icon formats accepted by Nutika windows: .ico macOS: .icns (contains a 128x128 .png file) linux: all standard image formats. We use .jpg - For Desktop deployment - change the option --linux-onefile-icon to --linux-icon. Both are the same. - Add icon options for macOS and Windows. - Adapt deployment test accordingly. - As an addition, add a default value to the --config-file option so that it picks up the one in the project directory automatically, if it exists. It aligns with the desktop deployment tool as per 6337e4a306babdb4015c248a14ad734b320ed2c1 - As another extra, remove an unused typing import from config.py Pick-to: 6.6 Task-number: PYSIDE-1612 Change-Id: Ia67ea96f94ddffe4bc65652f91c8b394c4e56a33 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Android Deployment: Add QtQuick dependency when presentShyamnath Premnadh2023-11-281-2/+3
| | | | | | | | | | | | | | | - Currently the dependencies are identified by checking the dependency files shipped with Qt and checking the Python files related to the project for PySide imports, to identify the Qt modules used. - This patch extends the dependency check by also checking the QML files related to the project for QtQuick and QtQuickControls2 import. Pick-to: 6.6 Task-number: PYSIDE-1612 Change-Id: Ia92ff9c2d06c383a6357b69f0f19160b1b522afa Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Deployment: Code RefactoringShyamnath Premnadh2023-11-281-191/+8
| | | | | | | | | | | | | | | | | | | | | | | | | - Move android related configurations into a new class AndroidConfig. This class inherits from the class Config. - Move configuration related code sections from `android_deploy.py` to `android_config.py` - get_config() renamed to create_config_file(). This simplifies a lot of code and makes Android deployment independent of Desktop deployment. - Move `generated_files_path` to `config.py`. As a result, `generated_files_path` does not need to be passed as parameter to to functions like `cleanup()`, `finalize()`, `Buildozer.initialize()` as config is already passed. - generated_files_path expression changed. This is because we assume the project_dir is always the parent of the source_file (i.e. main.py) - `Buildozer` import removed from `android/__init__.py` to prevent circular import issues. - Change buildozer commands to use "python -m" as prefix. Pick-to: 6.6 Task-number: PYSIDE-1612 Change-Id: Ie460dc459908dab44de82c3e269b806aff2c27c5 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Deployment cleanup: isort and flake8Shyamnath Premnadh2023-10-231-1/+2
| | | | | | | | Task-number: PYSIDE-1612 Pick-to: 6.6 Change-Id: I620582409749b1ce1e36721f1308005c4f6d2828 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Deployment: More code fixesShyamnath Premnadh2023-10-111-5/+14
| | | | | | | | | | | | | | | | | | | | | - Formatting and text updates. - extract_and_copy_jar() returns the extracted path to the jar directory - Buildozer class is now initialized when `pyside6-android-deploy` is run with --init. This is because it updates the recipes folder. - Buildozer defaults for Android NDK cannot be used anymore because `pyside6-android-deploy` uses llvm-readelf from the NDK to find the binary dependencies. - Change print statement to RuntimeError incase `main.py` does not exist - Change logging.exception to RuntimeError for the function `find_pyside_modules` Pick-to: 6.6 Task-number: PYSIDE-1612 Change-Id: I6ef5d5dfe9acae5f0029553ca2c6f07d91b6e462 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Deployment tool: Code fixesShyamnath Premnadh2023-10-111-19/+28
| | | | | | | | | | | | | | | | | | | | | | | | | - `--config-file` now defaults to pysidedeploy.spec. This enables to automatically find the config file, in case if it is present, without specifying it through the `--config-file` option. - Use `pip freeze` also to check if a Python package in installed. This is useful for packages like `patchelf` which does not provide a Python module, but only an executable. - Change some `logging.exception()` to actual exceptions because the the exception requires some manual intervention for resolution. - Some of the config options were earlier reevaluated even when an existing config file exists. This is now adapted to skip the reevaluation when a config file exists. - In case of pyenv python, add `--static-libpython=no` as extra argument accepted by Nuitka. This is because pyenv Python uses `--enable-shared` by default since release 2.3.10 - https://github.com/pyenv/pyenv/pull/2554 - Some general fixes related to logging. Task-number: PYSIDE-1612 Pick-to: 6.6 Change-Id: Ib0fa0ca0ec3a08c07140c0c2fa32f422658d04d8 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Android Deployment: copy required plugins to libsShyamnath Premnadh2023-10-021-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Copy the required Qt plugins from `site_packages` of the python bundled with the application to the `libs` folder of the Android gradle project. Android looks for required libraries in this `libs` folder. A similar step is also done by `androiddeployqt` when it created an Android gradle project from a C++ application. - Dependent Qt libraries found during processing of pyside6-android-deploy are also copied into the `libs` folder, if it does not exist already. - `plugins` key added to `pysidedeploy.spec`, which represents the plugins to be copied. - The Android dependency files shipped with Qt for Android platforms, are prased to obtain all the dependent Qt plugins of an application. - Some code refactoring to facilitate the plugin and library copy, by passing the plugin and library names to the PySide6 recipe template. `jinja2` does the job of using this template to create the PySide6 recipe to be used by python-for-android. - As an addition, fix some minor code issues and add extra logging. Task-number: PYSIDE-1612 Pick-to: 6.6 Change-Id: I63ca1e48aa1e4c98c912a87e68f3ae912ce89ca4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Android Deployment: auto download the required Android NDK and SDKShyamnath Premnadh2023-09-081-2/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | - Enable automatic download of Android NDK and SDK for creating Android PySide6 and shiboken6 wheels. Earlier, the user was required to manually download it and supply as a command line argument. - They are downloaded into the HOME directory of the user into the folder .pyside6_android_deploy. This is also similar to buildozer which downloads them into .buildozer. - The downloaded NDK is set to r25c, same as buildozer. The latest Android SDK packages are downloaded. - For the deployment tool, incase the NDK and SDK path are not provided either through the command line or through the configuration .spec file, the it will look for the NDK and SDK inside .pyside6_android_deploy, before falling back to the default Android NDK and SDK that buildozer supplies. buildozer will download them. - As a addition, a small code rearranging is also done, along with changing the deprecated subprocess.call() to subprocess.run(). Task-number: PYSIDE-1612 Change-Id: Ie8d51f8c7634b5b320b1dce2d4164985cbfbaaca Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Deployment: RefactoringShyamnath Premnadh2023-04-171-14/+9
| | | | | | | | | | | | - Fix --dry-run in Android deployment - Add option to control raising a warning when adding new entries to config file - Remove unnecessary code and comments Pick-to: 6.5 Task-number: PYSIDE-1612 Change-Id: I5975d76024d6289fe6b9af1caeca374acb81e8cc Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Deployment: New pyside6-android-deploy toolShyamnath Premnadh2023-03-311-5/+151
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Preliminary support for PySide6 Android deployment - Uses jinja2 to create PySide6 and shiboken6 recipes, to be used by buildozer when python_for_android builds the app distribution - Classes for Buildozer config interaction - Run deployment to android. Typical command looks like: """ pyside6-android-deploy --wheel-pyside=./PySide6-6.5.0a1-6.5.0-cp37-abi3-android_x86_64.whl --wheel-shiboken=./shiboken6-6.5.0a1-6.5.0-cp37-abi3-android_x86_64.whl --name=stringlistmodel """ - New entrypoint for pyside6-android-deploy - Helper functinos for Android Deployment - Remove unused function main_py_exists() - Added the new files to deploy.pyproject - Remove dry_run argument from install_python_dependencies() - new Python packages added in requirements.txt to enable the deploy and cross compile tool Note: python-for-android uses my local fork. This will be changed once it is merged into python-for-android dev. Task-number: PYSIDE-1612 Pick-to: 6.5 Change-Id: I7eb96fa5507a476b4e86ec0195a5e9869f0f85fd Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Deployment: Refactor to enable Android supportShyamnath Premnadh2023-03-291-33/+81
| | | | | | | | | | | | | | | | | | - moving code into functions so that Android can re-use them - new file "deploy_util.py" to store all the common utility functions that can be reused for Android deployment tool - new option "--name" to set the application name - Change some print statements to log statements - Adapt depoyment tests - In default.spec, rename "packages" to "desktop_packages" - Fix relative Qml file error in config.py i.e. it errors when the path is already relative Task-number: PYSIDE-1612 Pick-to: 6.5 Change-Id: Iaaea8837cc362b3cc8035b96247194c4a9679579 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Deployment: log string fixShyamnath Premnadh2023-03-281-4/+4
| | | | | | | | | | wrap the warning in quotes and remove '/' Task-number: PYSIDE-1612 Pick-to: 6.5 Change-Id: Idf49066c21bb73b48ca370ae32e962c195c19a49 Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Deployment Tool: Remove create_venv + fix --dry-run/--initShyamnath Premnadh2023-03-271-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | - As the deployment tool's code base grows larger, I realized that the ability to create a venv using pyside6-deploy was a bit of over engineering. There are instances where I have to use the current Python interpreter to fetch some information from the newly created venv Python, which results in weird code. Note: The tool would still work even if the user is using a globally installed Python interpreter with PySide6 installed. - Now, the user is warned if he is not in a virtual environment and prompted the requirement to install further Python packages. If the user input's "no", then the tool exits. - dry_run used to create an empty 'pysidedeploy.spec' which can wreck the normal deployment process. This is fixed by pyside6-deploy using the 'default.spec' instead of creating a new 'pysidedeploy.spec'. Fixes: PYSIDE-2258 Task-number: PYSIDE-1612 Pick-to: 6.4 6.5 Change-Id: I376d2a6aea9f93582eab7a904a81f48426bfee18 Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Deploy tool: Reduce QML executable size + testsShyamnath Premnadh2022-12-291-2/+32
| | | | | | | | | | | | | | - Added more Nuitka options to reduce the size of QML executable. Some binaries which cause the QML executable to become heavy eg: QtWebEngine are removed, if they are not used - Add new log messages for --verbose option - Add deploy.pyproject file - Modifies pyside6-deploy tests to consider the QML options, by mocking pyside6-qmlimportscanner Task-number: PYSIDE-1612 Change-Id: Id2e94217e99eedbf41ecfc8de1a37e94c7edaa52 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Rename folder: deploy to deploy_libShyamnath Premnadh2022-12-221-0/+226
| | | | | | | | | | - to distinguish between deploy.py and deploy folder, since both are Python modules. This is especially useful when testing since our tests are located in sources/pyside6/tests/tools. Task-number: PYSIDE-1612 Change-Id: Ideb35b23f454ec64415421e00464cfb1f7055401 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* create pyside-tools2 with qt5 branchChristian Tismer2015-06-101-0/+0
|
* Remap examples and tools submodules from gitorious to githubRoman Lacko2013-08-011-0/+0
|
* Initial commit (copy of lck/pyside-dist repo)Roman Lacko2012-06-041-0/+0