If a .js file had an import of another .js file itself, like so:
.import "otherFile.js" as Blah
then the import scanner would keep the quotes and store
"\"otherFile.js\""
in the JSON as opposed to
"otherFile.js"
This is fixed by making use of the same code for extracting the .import
statements from JS files that is also used by the engine itself.
Additionally this fixes the use of comments in .import lines (and other
whitespace characters not producing tokens).
Change-Id: I4dd4a5217308f6fc93b6b148cd8e13392f97d2a6
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Javascript may contain ".import" pragmas/statements,
which should be treated in a similar way as qml file
imports.
Add findQmlImportsInJavascriptFile() which extracts and
parses the .import lines. Refactor findQmlImportsInFile()
to handle both .qml and .js and call out to the correct
parsing function.
Add "-jsFiles" for specifying javascript
files on the command line similar to "-qmlFiles".
Task-number: QTBUG-35349
Change-Id: I6b8e0cc254c1edcf16940bec5cfda7c2637f115e
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Fix several qmlimportscanner defects:
- Expand qml file search to include subdirectories.
This applies to search paths specified with "-rootPath"
- Add "-qmlFiles" for specifying the file list directly
- Parse files with UTF8 BOMs correctly
- Don't set properties where the value is the empty string
Change-Id: I81a538d73487b49fb635c18ef4fe479748ba0bfc
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Match the algorithm used by QML, look for the most
specific version of an import first.
Change-Id: Ibf1370af227c8154f657cc2d8a1c1d1ae28d2f39
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
host-built tools should not use <QDebug>.
Change-Id: I2c69c79c138689d22f4979e268313fb461a8053a
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Clean up single character string constants and string usage.
Change-Id: I242110d57beeb100155757bda170ade479fcb242
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
qmlimportscanner scans for import statements in qml
files and returns a JSON-formatted list of imports.
This is done recursively in order to get all dependencies.
Usage: "qmlimportscanner path/to/app/qml/"
-importPath path/to/qtbase/qml
Change-Id: I0e99caaf4216058c52a4706f7fdbeaf1eba0bbc1
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>