Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

qmllint does not work with PySide 6.4.1 #255

Closed
nrbnlulu opened this issue Nov 24, 2022 · 10 comments · Fixed by #256, #268 or #269
Closed

qmllint does not work with PySide 6.4.1 #255

nrbnlulu opened this issue Nov 24, 2022 · 10 comments · Fixed by #256, #268 or #269
Labels
blocked Blocked by upstream support.

Comments

@nrbnlulu
Copy link

Usage: /home/nir/Desktop/tzv5hob/UI/.venv/lib/python3.10/site-packages/PySide6/qmllint [options] files
QML syntax verifier and analyzer

All warnings can be set to three levels:
    disable - Fully disables the warning.
    info - Displays the warning but does not influence the return code.
    warning - Displays the warning and leads to a non-zero exit code if encountered.


Options:
  --alias <level>                      Warn about alias errors (default:
                                       warning)
  --compiler <level>                   Warn about compiler issues (default:
                                       disable)
  --controls-sanity <level>            Performance checks used for
                                       QuickControl's implementation (default:
                                       disable)
  --deferred-property-id <level>       Warn about making deferred properties
                                       immediate by giving them an id. (default:
                                       warning)
  --deprecated <level>                 Warn about deprecated properties and
                                       types (default: warning)
  --import <level>                     Warn about failing imports and
                                       deprecated qmltypes (default: warning)
  --inheritance-cycle <level>          Warn about inheritance cycles (default:
                                       warning)
  --multiline-strings <level>          Warn about multiline strings (default:
                                       info)
  --multiple-attached-objects <level>  Warn if attached types from parent
                                       components aren't reused (default:
                                       disable)
  --plugin <level>                     Warn if a qmllint plugin finds an issue
                                       (default: warning)
  --property <level>                   Warn about unknown properties (default:
                                       warning)
  --required <level>                   Warn about required properties (default:
                                       warning)
  --signal <level>                     Warn about bad signal handler parameters
                                       (default: warning)
  --type <level>                       Warn about unresolvable types and type
                                       mismatches (default: warning)
  --unqualified <level>                Warn about unqualified identifiers and
                                       how to fix them (default: warning)
  --unused-imports <level>             Warn about unused imports (default:
                                       info)
  --with <level>                       Warn about with statements as they can
                                       cause false positives when checking for
                                       unqualified access (default: warning)
  -h, --help                           Displays help on commandline options.
  --help-all                           Displays help including Qt specific
                                       options.
  -v, --version                        Displays version information.
  -s, --silent                         Don't output syntax errors
  --json <file>                        Write output as JSON to file
  --write-defaults                     Writes defaults settings to .qmllint.ini
                                       and exits (Warning: This will overwrite
                                       any existing settings and comments!)
  --ignore-settings                    Ignores all settings files and only
                                       takes command line options into
                                       consideration
  --resource <resource>                Look for related files in the given
                                       resource file
  -I, --qmldirs <directory>            Look for QML modules in specified
                                       directory
  --bare                               Do not include default import
                                       directories or the current directory.
                                       This may be used to run qmllint on a
                                       project using a different Qt version.
  -i, --qmltypes <qmldirs>             Import the specified qmldir files. By
                                       default, the qmldir file found in the
                                       current directory is used if present. If
                                       no qmldir file is found,but qmltypes
                                       files are, those are imported instead.
                                       When this option is set, you have to
                                       explicitly add the qmldir or any qmltypes
                                       files in the current directory if you
                                       want it to be used. Importing qmltypes
                                       files without their corresponding qmldir
                                       file is inadvisable.
  -f, --fix                            Automatically apply fix suggestions
  --dry-run                            Only print out the contents of the file
                                       after fix suggestions without applying
                                       them
  --list-plugins                       List all available plugins
  -D, --disable-plugins <plugins>      List of qmllint plugins to disable (all
                                       to disable all plugins)
  -P, --plugin-paths <directory>       Look for qmllint plugins in specified
                                       directory

Arguments:
  files                                list of qml or js files to verify

@seanwu1105
Copy link
Owner

Please provide the error message. It is possible the same error described here: #253.

@nrbnlulu nrbnlulu changed the title qmllint does not work with PySide 6.4 qmllint does not work with PySide 6.4.1 Nov 26, 2022
@nrbnlulu
Copy link
Author

Hi I am on v6.4.1 running qmllint directly works very well.. I don't get any error message just this:
image

@seanwu1105
Copy link
Owner

That is odd. Could you share your environment and extension settings with me so I can try to reproduce the error?

@nrbnlulu
Copy link
Author

aiodns             3.0.0   Simple DNS resolver for asyncio
aiohttp            3.8.3   Async http client/server framework (asyncio)
aiosignal          1.3.1   aiosignal: a list of registered asynchronous callbacks
async-timeout      4.0.2   Timeout context manager for asyncio programs
attrs              22.1.0  Classes Without Boilerplate
backoff            2.2.1   Function decoration for backoff and retry
black              22.10.0 The uncompromising code formatter.
brotli             1.0.9   Python bindings for the Brotli compression library
cffi               1.15.1  Foreign Function Interface for Python calling C code.
cfgv               3.3.1   Validate configuration and produce human readable error messages.
charset-normalizer 2.1.1   The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet.
click              8.1.3   Composable command line interface toolkit
coverage           6.5.0   Code coverage measurement for Python
distlib            0.3.6   Distribution utilities
exceptiongroup     1.0.4   Backport of PEP 654 (exception groups)
faker              15.3.3  Faker is a Python package that generates fake data for you.
filelock           3.8.0   A platform independent file lock.
frozenlist         1.3.3   A list-like structure which implements collections.abc.MutableSequence
gql                3.4.0   GraphQL client for Python
graphql-core       3.2.3   GraphQL implementation for Python, a port of GraphQL.js, the JavaScript reference implementation for GraphQL.
identify           2.5.9   File identification library for Python
idna               3.4     Internationalized Domain Names in Applications (IDNA)
iniconfig          1.1.1   iniconfig: brain-dead simple config-ini parsing
isort              5.10.1  A Python utility / library to sort Python imports.
multidict          6.0.2   multidict implementation
mypy               0.991   Optional static typing for Python
mypy-extensions    0.4.3   Experimental type system extensions for programs checked with the mypy typechecker.
nodeenv            1.7.0   Node.js virtual environment builder
packaging          21.3    Core utilities for Python packages
pathspec           0.10.2  Utility library for gitignore style pattern matching of file paths.
pillow             9.3.0   Python Imaging Library (Fork)
platformdirs       2.5.4   A small Python package for determining appropriate platform-specific dirs, e.g. a "user data dir".
pluggy             1.0.0   plugin and hook calling mechanisms for python
pre-commit         2.20.0  A framework for managing and maintaining multi-language pre-commit hooks.
pycares            4.2.2   Python interface for c-ares
pycparser          2.21    C parser in Python
pyparsing          3.0.9   pyparsing module - Classes and methods to define and execute parsing grammars
pyside6            6.4.1   Python bindings for the Qt cross-platform application and UI framework
pyside6-addons     6.4.1   Python bindings for the Qt cross-platform application and UI framework (Addons)
pyside6-essentials 6.4.1   Python bindings for the Qt cross-platform application and UI framework (Essentials)
pytest             7.2.0   pytest: simple powerful testing with Python
pytest-cov         4.0.0   Pytest plugin for measuring coverage.
python-dateutil    2.8.2   Extensions to the standard Python datetime module
pyyaml             6.0     YAML parser and emitter for Python
qtpy               2.3.0   Provides an abstraction layer on top of the various Qt bindings (PyQt5/6 and PySide2/6).
shiboken6          6.4.1   Python/C++ bindings helper module
six                1.16.0  Python 2 and 3 compatibility utilities
strawberry-graphql 0.142.2 A library for creating GraphQL APIs
toml               0.10.2  Python Library for Tom's Obvious, Minimal Language
tomli              2.0.1   A lil' TOML parser
typing-extensions  4.4.0   Backported and Experimental Type Hints for Python 3.7+
virtualenv         20.16.7 Virtual Python Environment builder
websockets         10.4    An implementation of the WebSocket Protocol (RFC 6455 & 7692)
yarl               1.8.1   Yet another URL library

https://github.com/nrbnlulu/qmllint_issue

@seanwu1105
Copy link
Owner

seanwu1105 commented Nov 26, 2022

@nrbnlulu Which OS are you using for the project? Also, do you modify any extension settings?

@nrbnlulu
Copy link
Author

@seanwu1105 No i didn't touched any setting.
image

@seanwu1105
Copy link
Owner

@nrbnlulu This is an undocumented breaking change from the upstream after 6.4.1. I have opened a bug report here: https://bugreports.qt.io/browse/PYSIDE-2135.

If they decide to stick with the change, I will try to build a workaround for it. Using PySide 6.3.x for now to avoid such error messages if you want.

@seanwu1105 seanwu1105 added the blocked Blocked by upstream support. label Nov 26, 2022
@nrbnlulu
Copy link
Author

nrbnlulu commented Nov 28, 2022

Hi, there is an update in Qt-bug tracker

command should be:

qmllint --json -

@seanwu1105
Copy link
Owner

@nrbnlulu This should be fixed with 3.0.2 update. Let me know if there is any error.

@nrbnlulu
Copy link
Author

Supreme! Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blocked Blocked by upstream support.
Projects
None yet
2 participants