aboutsummaryrefslogtreecommitdiffstats
path: root/tools
Commit message (Collapse)AuthorAgeFilesLines
* iOS build fix for qmlplugindumpSimon Hausmann2014-02-161-1/+1
| | | | | | | | | Do the docker startup thing only for Mac OS X, i.e. using the macx scope in the .pro file, not mac. Change-Id: I06266ace2ae0f8a3685b26983a7b2cd5815e3e99 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Force QML engine debug output to stderr in qmlplugindumpUlf Hermann2014-02-051-0/+18
| | | | | | | | | | | In this case the debug output is actually meant to be read by the user. Logging it to some system facility, as on BlackBerry doesn't help. To fix that a message handler that redirects all debug output to stderr is installed. Task-number: QTBUG-36378 Change-Id: I16dbca8bc4d07e0aabc2b41ce93b56bd679fa166 Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
* Merge remote-tracking branch 'origin/stable' into devSimon Hausmann2014-01-243-29/+77
|\ | | | | | | | | | | | | | | | | | | | | Conflicts: src/imports/dialogs/qquickmessagedialog.cpp src/imports/dialogs/qquickmessagedialog_p.h src/qml/debugger/qqmlprofilerservice_p.h src/qml/jsruntime/qv4regexpobject.cpp tests/auto/qml/debugger/qqmlprofilerservice/qqmlprofilerservice.pro Change-Id: Ic8a43366b44d6970966acbf03b206d0dee00c28d
| * Qmlplugindump error messages are not written consistentlyDaniel Pesch2014-01-231-16/+16
| | | | | | | | | | | | | | | | | | | | | | | | For errors in command line parameters qmplugindump uses cerr but errors during plugin loading are logged using qWarning(). It would be better to log always to cerr in case of problem because some platforms (BB10) have logging from Qt redirected. Task-number: QTBUG-36378 Change-Id: I04506c2f12b87190966e66c482f4ac5aed44af05 Signed-off-by: Daniel Pesch <dpesch@blackberry.com> Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
| * qmplugindump is not able to dump all registered componentsDaniel Pesch2014-01-211-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | This patch implements a new function QQmlMetaType::qmlAllTypes() used by qmlplugindump that returns list of all registered components. Previous implementation used QQmlMetaType::qmlATypes() call that returned only components with defined QML name. Task-number: QTBUG-36199 Change-Id: I85acba61cfa511973a004934cf0650f38cc46ed9 Signed-off-by: Daniel Pesch <dpesch@blackberry.com> Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
| * qmlplugindump: New component properties isCreatable and isSingletonDaniel Pesch2014-01-203-13/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | Qmlplugindump tool does not generate information about singleton status and creatability from QML for a component. This patch adds two new boolean properties that contain this information. It is used by Momentics IDE for providing better code validation and could be used by QtCreator in future in similar way. Task-number: QTBUG-36139 Change-Id: If85374a1854aaa0727670b27df735d481cab5337 Signed-off-by: Daniel Pesch <dpesch@blackberry.com> Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
* | fix whitespaceOswald Buddenhagen2014-01-222-2/+2
| | | | | | | | | | | | | | remove trailing spaces and expand tabs Change-Id: Ieacb9d096b612c45d1a64700044c114d1f7522bc Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Split ManagedVTable into two classesLars Knoll2014-01-211-8/+6
|/ | | | | | | | Keep the basic methods in ManagedVTable, but have the Object related stuff in an ObjectVTable class. Change-Id: I9b068acf3caef813686227b8d935e7df1a7d1a6e Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Move the vtable pointer from the object to the internal classLars Knoll2013-12-041-2/+2
| | | | | | | | This saves one pointer per object, and willmake other optimizations easier in the future. Change-Id: I1324cad31998896b5dc76af3c8a7ee9d86283bfe Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* disable qml import scan for qmljsOswald Buddenhagen2013-11-301-0/+1
| | | | | | | | | there is nothing to scan here. Task-number: QTBUG-35160 Change-Id: I47223a295eafe67f0f2dd85a12444260f88d0623 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* qml tool on OSX: wait for a timeout before exitingShawn Rutledge2013-11-201-4/+28
| | | | | | | | | | | | Double-clicking to open a QML file was not working because it would exit if no files are given on the command line. It needs to wait a while for the QFileOpenEvent. Task-number: QTBUG-34926 Change-Id: Icb585a777b0438db85120c62e7717f0f6eafffb1 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> Reviewed-by: Alan Alpert <aalpert@blackberry.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Remove '-enable-debugger' argument from qml executableKai Koehne2013-11-162-10/+5
| | | | | | Task-number: QTBUG-34836 Change-Id: I3ab2a16036a1086c0ac1f50880a402caf9f54f2d Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* Improve qmlimportscanner.Morten Johan Sørvig2013-11-121-90/+134
| | | | | | | | | | | | | | | | 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>
* Add a verbose mode to qmlAlan Alpert2013-11-111-24/+35
| | | | | | | | | The extra output is primarily useful for debugging, and on windows it will actually make an ugly command prompt window appear. Change-Id: I552e479515a6f5249685844143601cb7449a10b5 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Fix qml runtime when loading files that imported other filesAlan Alpert2013-11-011-8/+9
| | | | | | | | | | | QQmlComponent::setData does not perform any URL processing. Consequently when using that function we need to 'normalize' the URLs ourselves to ensure that the engine finds them acceptable. Task-number: QTBUG-34301 Change-Id: Ia0f3a51129423020f7e4d7003ca356af3f89b441 Reviewed-by: Antti Piira <apiira@blackberry.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Remove the last C++ exceptions from QtQmlLars Knoll2013-10-301-2/+0
| | | | | | | | Also clean up and compile the repository with exceptions disabled again. Change-Id: I653ae89353284b2f4ab884384f8ea6a5d100785d Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* qml tool: compiles with clangShawn Rutledge2013-10-301-1/+1
| | | | | | | | The error was that app can be uninitialized if the switch goes into the default branch. Change-Id: Ic690e1dd257cf88ee04d019b5b81121cecb48564 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Properly propagate parse errorsLars Knoll2013-10-291-11/+11
| | | | | | | | Replace all try/catch statements used when parsing with checks for engine->hasException. Change-Id: I4493cb600d5a3eb095c2003bb88bd031403e47c9 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Explicitly mark subdirs as host_builds in SUBDIRS templateTor Arne Vestbø2013-10-251-0/+4
| | | | | | | | | | | Allows post-processing code to exclude recursing into host_build subdirs. The alternative would be to have the SUBDIRS logic pre-parse the subdir project to check if it's a host_build, but that might have a performance impact, so it's better to leave the information explicit in the subdir project file. Change-Id: I468ceeaedce54b13bf672f82b9dcf04cc19d15e1 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* simplify host_build logic againOswald Buddenhagen2013-10-252-16/+2
| | | | | | | | | | qt_tool handles bootstrapping fully automatically. This reverts commit 0fc040ef70513ccaeb9e96f7ca05a3df4d6c7879, and adds some more. Change-Id: Icffcf7f487dbf660678c7ee622f94b1063fef7e3 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* sanitize dependencies surrounding qmlimportscannerOswald Buddenhagen2013-10-251-7/+6
| | | | | | | | | the tool's subdir must come before its dependants, otherwise qmake -r is broken (ok, that's mostly academical nowadays). also remove the unnecessary dependencies. Change-Id: Idf785522d466d4abb5f864ef4b66784024322339 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* untangle SUBDIRSOswald Buddenhagen2013-10-251-10/+13
| | | | | | | this also excludes qmlprofiler on android, as it is not a host tool. Change-Id: I0bc2582fa4b951ea1f871cd67ef05d0d15ed9763 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* remove useless CONFIG-=app_bundleOswald Buddenhagen2013-10-251-1/+0
| | | | | | | qt_app.prf does this for us. Change-Id: Ifdbed1028a170f1a5040d9ef38c0adc89ed6da52 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Make qtdeclarative compile with -no-guiTasuku Suzuki2013-10-252-35/+70
| | | | | Change-Id: I079f5e09a0099550348388379c496fc8f8cfa27c Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* Rename v4 to qmljsSimon Hausmann2013-10-223-3/+4
| | | | | | | | We don't want to officially support this binary in our release builds, so give it a "safer" name and enable it only in developer builds. Change-Id: Iaa007bc2ccdb133635161aae01d140efe0f44e23 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* suppress qml import scan for the tools which don't need itOswald Buddenhagen2013-10-215-1/+5
| | | | | Change-Id: Iefdaf60edbe47d2941a0696d96e7b79a67b46d8d Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fix iOS buildsSimon Hausmann2013-10-171-1/+5
| | | | | | | | | Other tools in tools could theoretically be using QML modules, so qt.prf tries to use the qmlimportscanner on them. That means we have to build it before all the other tools. Change-Id: I5ee49d0f3f4f3bf73183a6be9414c8d0e926bdf1 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Fix the QML import search.Morten Johan Sørvig2013-10-141-26/+22
| | | | | | | | 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>
* Make qmlimportscanner report plugin classnames.Morten Johan Sørvig2013-10-141-11/+23
| | | | | Change-Id: Ifbe72e6dcc569c8cb311d46e4f265da348b353ea Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Android: Skip tools built for target architectureEskil Abrahamsen Blomfeldt2013-10-111-6/+7
| | | | | | | | | | Android apps require packaging to be usable, so they need to be built individually, not as part of the subdirs build. The build would fail during make install due to this. Task-number: QTBUG-34023 Change-Id: Id68f5fbdd4eeb6f130d20a0f4b831c6c24639471 Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* Cleanup exception handlingSimon Hausmann2013-10-031-1/+0
| | | | | | | | | | The code in the Exception class operates entirely on the engine's data, so move it into ExecutionEngine instead. This eliminates the need for a QV4::Exception class and catches and old code that tries to still do catch (Exception &) instead of catch (...) Change-Id: Ie608bec6af652038aca6c9423c225a4d7eb13b39 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Change exception handling APISimon Hausmann2013-10-021-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch changes the exception handling API in the engine slightly, encapsulating any use of direct throw statements and catch blocks with concrete types. In the future we need to be able to change the way these are implemented, in order to ensure that the correct stack unwinding code is triggered for throw and re-throw. This patch separates the C++ exception object thrown from the V4 exception (that includes value, throwing context pointer) and stores the latter inside the engine. In order for that to compile, ExecutionEngine::StackTrace and StackFrame had to move into the QV4 namespace directly. In addition the syntax for catching exceptions changes from try { ... } catch (QV4::Exception &ex) { ex.accept(context); QV4::ScopedValue exceptionValue(scope, ex.value()); } to try { ... } catch (...) { QV4::ScopedValue exception(scope, context->catchException()); } Context::catchException() checks if there's a "current" exception in the engine, and if not assumes that we caught an unrelated exception and consequently re-throws. partiallyUnwind() is also gone and replaced with rethrowException(), in order to encapsulate the re-throw. Lastly, in the future nesting try/catch blocks isn't going to be possible due to limitations in the common C++ ABI with regards to foreign exceptions. Change-Id: Ic81c75b057a2147e3176d8e0b4d326c14278b47d Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* qmlimportscanner: Fix braces.Friedemann Kleint2013-09-281-10/+17
| | | | | Change-Id: I1361bc1f10b04d0001a1d02b45033ca2c82f8105 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* qmlimportscanner: Use iostream for output consistently.Friedemann Kleint2013-09-281-11/+7
| | | | | | | host-built tools should not use <QDebug>. Change-Id: I2c69c79c138689d22f4979e268313fb461a8053a Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* qmlimportcanner: Compile with QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII.Friedemann Kleint2013-09-282-31/+33
| | | | | | | Clean up single character string constants and string usage. Change-Id: I242110d57beeb100155757bda170ade479fcb242 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Move Value::fromBool, ... to a new Primitive classLars Knoll2013-09-281-2/+2
| | | | | | | | This will simplify finding the remaining direct usages of QV4::Value that need fixing. Change-Id: I223099727436d5748027c84c53d9dfc4028e38ed Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Fix WinCE build.v5.2.0-alpha1Sérgio Martins2013-09-251-1/+1
| | | | | Change-Id: Ie0536ad94f88efe1e54226ed7f1d9e1042ffcc19 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* qmlimportscanner: Print usage when no arguments are passed.Friedemann Kleint2013-09-251-1/+1
| | | | | Change-Id: I2ba5e18fff635705b1f5e8e19c104ba078c8e3a1 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* qml: handle all possible QtMsgType in switch because of -WerrorShawn Rutledge2013-09-251-0/+1
| | | | | | | | | | | Perhaps this illustrates why having -Werror is more of an annoyance than whatever it was supposed to help: https://codereview.qt-project.org/#change,65253 cannot be merged until the new enum value that it adds is handled _everywhere_ that it can be. Change-Id: I2bba730b471683487e38693c9ace2d09be4c874d Reviewed-by: hjk <hjk121@nokiamail.com>
* Add qmlimportscanner.Morten Johan Sørvig2013-09-233-0/+339
| | | | | | | | | | | | 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>
* Prevent objects from being collected while in their constructorLars Knoll2013-09-221-4/+2
| | | | | | | | | | | | | While objects are being constructed, we don't have a reference to them on the JS stack yet. So the constructor needs to protect itself against being collected by putting the this object onto the JS stack. Added an environment switch MM_EXACT_GC to test exact garbage collection. Change-Id: Ie37665a954de800359c272ffbebbe1488e7a8ace Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* convert Managed::put() API to be GC safeLars Knoll2013-09-221-5/+5
| | | | | Change-Id: I09198ce372fa545372db389fac26828d21ad5731 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Use a StringRef for Managed::get()Lars Knoll2013-09-221-1/+3
| | | | | | | | | also store "toString" and "valueOf" as identifiers in the engine and fix two places where we compared strings the wrong way. Change-Id: I70612221e72d43ed0e3c496e4209681bf254cded Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Fix build logic for host_build tools.Morten Johan Sørvig2013-09-211-1/+9
| | | | | | | | Link against bootstrap-private instead QtCore when cross-compiling. Change-Id: I7aeb9d693b0dd041aea72b6b3dcb8614a9a92b89 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Merge branch 'dev' of ssh://codereview.qt-project.org/qt/qtdeclarative into HEADSimon Hausmann2013-09-2013-75/+934
|\ | | | | | | | | | | | | | | | | | | Conflicts: src/qml/compiler/qv4isel_masm.cpp src/qml/jsruntime/qv4script.cpp src/qml/qml/qml.pri src/qml/qml/qqmltypeloader_p.h Change-Id: Ia784d855a2131e3289454f12d841ca2c65be15c1
| * qmlplugindump: adding verbose output for the instantiation operationsFawzi Mohamed2013-09-191-2/+18
| | | | | | | | | | Change-Id: Ic18d85de92f05c01b6ce00b071ef9b94d878434f Reviewed-by: Caroline Chao <caroline.chao@digia.com>
| * qmlplugindump: Update the description for the generated fileCaroline Chao2013-09-181-2/+3
| | | | | | | | | | | | | | | | | | | | The full command was written in the generated file including the full path to the qmlplugindump tool. Now only the tool name without its full path will be printed with the adjacent arguments. Change-Id: I03aa7350d1cd6b96ce00341796f8944669989793 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
| * qmlplugindump: Add --defaultplatform argumentCaroline Chao2013-09-181-2/+15
| | | | | | | | | | | | | | | | | | | | QT_QPA_PLATFORM is set to minimal by default unless --defaultplatform is set when running the qmlplugindump tool. This is for example useful for the QtQuick.Dialogs module. Change-Id: I1194526ee0641d11802c4db20bd3043aebd1e261 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
| * qmlplugindump: QMetaMethod signals have public accessCaroline Chao2013-09-181-1/+1
| | | | | | | | | | | | | | | | | | Since 56bbf3c2d5b31142e5a1b872a0118479edcf874b (qtbase) So public signals must be dumped. Change-Id: Ic7047660fbac40f78c7a205e760c059256c71d6f Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
| * Convert more methods to use ReturnedValueLars Knoll2013-09-181-5/+8
| | | | | | | | | | | | | | Change Exception.value() and a few other places. Change-Id: I53ce17e5656e260138b1ac7f6d467e4636c0a0b9 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>