androiddeployqt: Remove warning about missing dependency

In 08672adb97c0707c513850a27aaec59327874260 in qtbase, the
MODULE_PLUGIN_TYPES of QtGui was expanded to contain some
more plugin types which are not built on Android, causing
warnings during every deployment. Since MODULE_PLUGIN_TYPES
is common to all platforms we should just ignore it if it
specifies plugins that do not exist.

[ChangeLog][androiddeployqt] Remove warning about missing
dependency.

Task-number: QTBUG-38651
Change-Id: I57a2c1d79b859981b3adf2772be4f0cd8a98be12
Reviewed-by: Caroline Chao <caroline.chao@digia.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
androiddeployqt: REG: Fix running tools with spaces in path

The popen() function on Windows executes the command using /s,
probably for legacy reasons, which causes the behavior that it
removes the first and last quotes in the command line and otherwise
preserves it perfectly. This causes strings in which both
the executable name and at least one argument has to be quoted, to
be unparsable by the shell once it has been processed. To work around
this we wrap the string in quotes on Windows.

Since we added quotes to arguments for the jarsigner command in Qt 5.3.0
we introduced a regression that made it impossible to sign APKs on Windows.

Task-number: QTBUG-38962
Change-Id: I2b618e1996753645766d25ca06b14e1985d7eacd
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
windeployqt: Consider plugin dependencies.

Pass the disabled libraries to the plugin find function and
make it add new dependent Qt libraries.

Task-number: QTBUG-38943
Change-Id: I5b4eaeb9f25dede738465ba19062f99bda15250b
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Let qtpaths return a failure to the caller if it found nothing

Otherwise, the only hint that we get that nothing was found is an empty
line. You could detect that from a shell by assigning to a variable and
checking if it's empty (provided $IFS is set to a newline). But a return
value is much easier.

Change-Id: I00608be8a23a487c9f90a4080479c8f527a8eb3f
Reviewed-by: David Faure <david.faure@kdab.com>
androiddeployqt: Add option to reinstall apk

Mainly for consistency with the old deployment method in Qt Creator,
androiddeployqt will uninstall any previously installed instances
of the application before installing it. This will remove any caches
or user data stored by the application. In many cases (most) it
would be more convenient to just overwrite the existing instance,
but keep all caches intact. This patch adds the --reinstall option,
symmetrical to --install. If enabled, the uninstall step will be
skipped.

[ChangeLog][androiddeployqt] Added option to install an APK without
uninstalling previous instances of same application.

Task-number: QTBUG-35845
Change-Id: I93bed4fefda6ed5295f333002a4958654b3f911c
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
Merge remote-tracking branch 'origin/release' into stable

Change-Id: I2a54387a58f44518cddd5f5ac10c43cf29205d6b
windeployqt: Add missing "audio" plugins for QtMultimedia.

Task-number: QTBUG-39157
Change-Id: I88055eed7b430c14e1d1e13bdeee558a63763d8d
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Exclude qtdiag when QtGui is not available.

Task-number: QTBUG-39118
Change-Id: I54f6879ef58e5b7b7bc2c20840524f4af5433921
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Merge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging/stable
windeployqt: Observe qtlibinfix.

Determine qtlibinfix by checking on the Qt5Core library name
and re-apply that when building the module names.

Task-number: QTBUG-39297
Change-Id: I73d1253ddd803071f90199fa9aaee7328c7aae8c
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
CoreCon: Support API Versioning, and add Version 12 (WP8.1) support

While intrusive, versioned headers and a templated backend allows
apps like winrtrunner and qtd3dservice to access multiple versions of
CoreCon, allowing for simultaneous support of Windows Phone 8 and Windows
Phone 8.1 devices. This also allows for simple addition of future
versions, should there be a need.

Applications using these headers should use the versioned API instead
of the original ccapi.h. This has been fixed in winrtrunner and
qtd3dservice.

Task-number: QTBUG-37771
Change-Id: I70cad98a2bf7f232dfd92f1c068cf0e1a8eadf88
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com>
CoreCon: mark destructor as virtual

This was causing COM to not get uninitialized and resulted in
winrtrunner hanging.

Change-Id: Ie3e409a43f2cb41f28ef6975d81c68996554861f
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
qhelpgenerator: Fix warning about qpa_minimal_plugin usage

  Project WARNING: CONFIG+=qpa_minimal_plugin is deprecated. Use QTPLUGIN.platforms=qminimal instead.

Change-Id: I9f07c5033e0022e00c45e52570fe001856f13ca8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
winrtrunner: Split AppxEngine into abstract base and Appx Local subclass

This allows common code to be reused in future Appx engine types.

Change-Id: I4e0ba09242eee6687604abe65d556a96a79346f4
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Doc: Remove Qt Designer manual from the licensing group

The Qt licensing information page will link to the Qt Designer
-specific information directly.

Task-number: QTBUG-35362
Change-Id: I293402a8024f33b68446497a50b9782803d20761
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Merge remote-tracking branch 'origin/stable' into 5.3

Change-Id: Ided10fa5438cc1bd9a34fd8ded4bbd456abfe686
windeployqt: Remove deleted QML directories from Json output.

Rewrite JsonOutput to use a QPair<> of strings and add function to remove
all entries of a target directory.

Task-number: QTBUG-39626
Change-Id: Ie4602deb45d60fdddab27f264ecf34b72f839254
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
winrtrunner: Move COM initialization into the private class

This ensures Appx engine subclasses get COM initialized in the same way.

Change-Id: Ib376842f808488353d19fe36c76bb2411332c0e4
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
winrtrunner: Add an inherited method for creating packages

This method can be used by AppxEngine subclasses for creating package
(*.appx) files.

Change-Id: I7aab9bced144353c3c9e8cf6fbb914bd2f5b7fbb
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
winrtrunner: Support Windows Phone 8.1

This allows the runner to deploy to Windows Phone 8.1 devices
and
emulators.

The following limitations are noted:
- App argument passing doesn't currently work. A workaround
could be to
  modify the entry point in the AppxManifest.xml, which would
also
  require changes to qtmain. WP8.0 already uses a similar
workaround,
  but this is messy and should be avoided if possible.
- Querying for the application state doesn't work, so -wait
won't exit
  if the app stops. A workaround for this exists in WP8.0, by
passing
  the -qdevel parameter to the app, but this is invasive. If
an
  alternative can't be found, this can be fixed in a follow-
- Stopping applications doesn't appear to work (the API call
succeeds,
  but the app remains running). One workaround is to -remove
the app.
- Getting the exit code still isn't possible.

Task-number: QTBUG-37771
Change-Id: Ifa7188fc2ccb156e4c411b50fefd4f12a0590883
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>