Commit Graph

1898 Commits

Author SHA1 Message Date
Eike Ziller
98479ba312 Merge remote-tracking branch 'origin/4.7'
Change-Id: I00b0009867322be55c215351054acc7de5b9e335
2018-07-12 14:56:13 +02:00
Tobias Hunger
05fb67fee7 ProjectExplorer: Use unique_ptr to store KitInformation
Change-Id: I406b6bed005fb7455e6ee41d81a2f314584a051a
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2018-07-11 08:29:19 +00:00
hjk
6aeb06c8d3 Android: Move CreateAndroidManifestWizard and related build step to base
It does not directly depend on qmake anymore.

Change-Id: I3b9625e54d98c79ef137059cf4554b3f2807e88e
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2018-07-11 07:45:13 +00:00
hjk
5807cea413 Android: Use generic functions in CreateAndroidManifestwizard
The only really qmake specific one was adding files to a project
node, that's now done using the usual *QtSupport indirection.

Change-Id: Id6f011d4b26eaba1cd3943f0089fc5b913193fb7
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2018-07-11 07:42:17 +00:00
Vikas Pachdha
f10002e3f5 Android: Deploy Qt live apk for QML projects
Task-number: QDS-16
Change-Id: Iafb1f7ea5d354e73020ff3c5175efa82f99bdffe
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2018-07-10 11:51:44 +00:00
Eike Ziller
d09b71d260 Merge remote-tracking branch 'origin/4.7'
Conflicts:
	qbs/modules/qtc/qtc.qbs
	qtcreator.pri
	src/plugins/android/androiddebugsupport.cpp

Change-Id: I01c4880850ad25432a65bb32849365d2aeb0756f
2018-07-10 07:44:53 +02:00
Vikas Pachdha
ed30522bb8 Android: Fix aapt tool's path in windows
Task-number: QTCREATORBUG-20750
Change-Id: Ie35675d789007a6c79b979b4520dc0ecc83c688c
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2018-07-10 05:29:49 +00:00
Vikas Pachdha
42754374b0 Android: Parse APK to find package name and other information
Task-number: QDS-16
Change-Id: I228af0711fb2dd64ff96dcb5fc9bc634b556ffd9
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2018-07-09 08:57:49 +00:00
Vikas Pachdha
f19a6e8ac2 Android: Add API's to run Android SDK tools
Task-number: QDS-16
Change-Id: Ifea5aa17330833cd130555778134fb8f90e2d990
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2018-07-09 08:16:22 +00:00
Vikas Pachdha
d9bcf78270 Android: Use ipv4 host to connect to app in android
IPv6 enabled systems can have IPv4 and an IPv6 entry for localhost
and macos seems to prefer IPv6 for localhost and IPv6 is not
supported by adbd

Task-number: QTCREATORBUG-20730
Change-Id: Ia0823fa04581afc6297e5e8d57a8034ba1b5749c
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2018-07-06 06:07:22 +00:00
Vikas Pachdha
aa4407e332 Android: add logging for build and run
Change-Id: Idca5a45713762aa9e2861dcc58c3bbd96cbe687e
Reviewed-by: hjk <hjk@qt.io>
2018-07-04 07:04:03 +00:00
hjk
c08aab7b96 Android: Move most of QmakeAndroidBuildApkStepWidget to base
... as new AndroidBuildApkStepWidget, after renaming the previous
AndroidBuildApkStepWidget to AndroidBuildApkStepInnerWidget as this
is only a part of the whole widget.

There is clean up potential left for a later change.

Change-Id: Ie631537dfdaeb41b8d3b178047825312972d7439
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2018-07-02 09:21:29 +00:00
hjk
e9f1edf5ce Android: Move AndroidExtraLibraryListModel to base
Instead of having the full class build-system dependent,
by relying on four more AndroidQtSupport functions for now.

Change-Id: I26842f3ec70b875ba4481ae36d8c85f86366cb88
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2018-07-02 09:21:22 +00:00
Vikas Pachdha
b10ada3aff Android: Change the minimum API level supported
Change-Id: Iea6b1720c64810c490e4c9876ecb5ff8c8a9a935
Reviewed-by: hjk <hjk@qt.io>
2018-06-27 07:13:36 +00:00
hjk
1058e21d02 Android: Merge {Qmake,}AndroidSupport::androiddeployqtPath
... into its only user, in the build-system agnostic base.

Change-Id: I1fe312125a32e3150e4f3183470df716896e55c4
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2018-06-22 12:47:08 +00:00
hjk
d4f5b74df9 Android: Move some generic apk build step code to base
Change-Id: Id11e5d684e2e1003178d06b4421ec34df334fca2
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2018-06-22 12:45:50 +00:00
Tobias Hunger
2b1fe00dd5 Android: Do not disconnect a signal that was never connected
Change-Id: I5820987f34bfe3227a17257646f6384c32d49044
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-06-20 12:43:41 +00:00
Eike Ziller
3bbe535b95 Merge remote-tracking branch 'origin/4.7'
Change-Id: I3c5d7e9e8c589ad4425cd89d61e1f572f5cb7997
2018-06-19 10:03:28 +02:00
Eike Ziller
8623a93998 Fix that bookmarks couldn't be added to .pro files with mouse
The area with the marks was not showing up.
This patch reverses the logic for showing the marks area to opt-out.
Almost all editors were opting in for it already. The AndroidManifest
editor, VCS base editor, and widget designer text editor opt out now.

Task-number: QTCREATORBUG-20339
Change-Id: Iccb6d0256618f7ef70e8921847ce2fd46fd660c0
Reviewed-by: David Schulz <david.schulz@qt.io>
2018-06-19 07:59:17 +00:00
hjk
2093781f3a Android: Remove code to help with upgrades from Qt 5.1
Change-Id: Id9cf0cd585ebdaabc03ff58ab04e7c12a5af39ba
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2018-06-13 12:06:37 +00:00
hjk
b774dff4e8 QmakeAndroid: Move some build-system agnostic items to Android base
Change-Id: I0f258ee5e4afcb3abc7c2bbbaa612b1912a8d2b9
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2018-06-13 11:23:59 +00:00
Eike Ziller
9b43b55dc0 Merge remote-tracking branch 'origin/4.7'
Change-Id: I762dbddb0f337e9a5fc4b113c7876813e9f45c9c
2018-06-11 16:01:18 +02:00
Leena Miettinen
a9b0fa026f Android: Fix messages
Change-Id: If1af26c7c5762b14887787a30cd7dc37d44f9950
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2018-06-11 05:19:56 +00:00
Eike Ziller
c585e7091b Merge remote-tracking branch 'origin/4.7'
Change-Id: Ib288796892faf5345d2a150a5ce0dadf91552924
2018-06-04 16:33:03 +02:00
Christian Stenger
0988442e58 Android: Fix history completer key
This patch gets rid of soft asserts regarding empty history key
and a warning when trying to store these into the settings.

Change-Id: I64440ebe7ae1fca660a1dc66a1646da5d17798bf
Reviewed-by: hjk <hjk@qt.io>
2018-05-31 12:57:17 +00:00
hjk
f44e73b858 ProjectExplorer: Simplify BuildStepFactory
De-QObject-ify class, tr contexts are now the product's
context, which was the case in some BuildStepFactories already,
and is current state in {Run,DeployConfiguration}Factory.
One spurious object name removed.

De-virtualize canHandle(), it was never overloaded and is not
intended to be overloaded anymore.

Remove unused clone() function.

Change-Id: Iff7fba5f707505f868f94458084a18650535fa23
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-05-31 10:15:42 +00:00
Tim Jenssen
27b153a5e4 AndroidPlugin: show adb output in error case
Change-Id: I3a9b1e3ca86ab2cfecefd187d9574cf64ef6b1f1
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2018-05-31 10:14:25 +00:00
Eike Ziller
bb28b10add Introduce static_container_cast
Casting all elements of a container, similar to qobject_container_cast.

Change-Id: Ib455fe8c7fa0d4acda7e29685c3100638a0152f8
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-05-29 13:44:51 +00:00
hjk
65be72d64d ProjectExplorer: Add RunConfigFactory::addRunWorkerFactory convienience
There is a recurring special case that certain run controls depend
on the presence of specific RunConfiguration (which in turn has
it's own restriction on e.g. target or project types) but have no
further restrictions.

Make it easy to handle that case.

Change-Id: I2e86f366591b02003f720dcc00b4c52bb2f34e00
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-05-29 09:03:29 +00:00
Eike Ziller
c8c6b28e22 Merge remote-tracking branch 'origin/4.7'
Conflicts:
	src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.h

Change-Id: I192b9e88f967182f3275b4b98abed1220c26daac
2018-05-28 16:10:23 +02:00
Eike Ziller
6e66b2a078 Remove some lambdas from Utils::transform calls
It is often possible to user (member) functions or members directly.
That improves readablility and potentially reduces the total number of
symbols.
Also use qobject_container_cast at places where it is appropriate.

Change-Id: Ia2591bca356591e001e2c53eeebcf753e5bc3c37
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2018-05-28 13:45:20 +00:00
hjk
82fd4fa717 QmakeAndroid: Move RunConfigurationFactory to Android base
The RunConfiguration does not depend on qmake anymore.

This makes the factory trigger in theory for non-qmake, too, but since
we still not support other build systems for android, it has no
practical consequences yet.

Change-Id: I95e4e5a81f5b405a52fa42723b25a0a1473e78c6
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2018-05-23 12:15:28 +00:00
hjk
36b835ff0a Finish merging Runnable and StandardRunnable
As all Runnables are known to be StandardRunnables, this here
essentially replaces all .is<StandardRunnable> by 'true'.
.as<StandardRunnable> by no-op, and fixes the fallout.

Change-Id: I1632f8e164fa0a9dff063df47a9e191fdf7bbb2e
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2018-05-23 08:48:36 +00:00
Eike Ziller
58bd043e27 Centralize retrieving the "parent" build configuration
If a step is part of a build configuration, that is used, but many steps
can be used as part of a deploy configuration.
In that case the active build configuration of the step's target must be
used, and that logic was duplicated many times.
Instead, let BuildStep::buildConfiguration take care of that logic. For
steps that are not offered for deploy configurations there is no
semantic difference, and for the others this removes code duplication.

Change-Id: I02f3bb50226590092cedcec02fce6fde9c7c6e63
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-05-22 12:18:36 +00:00
Ulf Hermann
dab2045099 Android: Make sure we can queue AndroidDeviceInfo in connections
Change-Id: I7f59cba50e180ea4584442f8c2a409abb9e49a33
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2018-05-22 07:33:15 +00:00
Ulf Hermann
0f7abe3737 Android: Don't start avd if AndroidDeviceInfo doesn't want it
If the avdname is empty, we have a physical device, rather than an
emulater, and no avd is necessary.

Change-Id: I5eeaa02ae505cce80da5f27ad9a5e1dddcabb4e2
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2018-05-22 07:32:58 +00:00
Ulf Hermann
ab152497a0 Android: Merge output channels of AVD process
Otherwise, if the process produces a non-0 exit code, we get an error
message with only the stdout, which likely is empty.

Change-Id: I3b84f928cf786015aab499cdc2277d530d243841
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2018-05-22 07:32:47 +00:00
hjk
2dccf95e49 Android: Remove AndroidRunnable
Not used anymore.

Change-Id: Iad4fd894c389b310d11cac2fe49b96ded39b0677
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2018-05-16 11:28:56 +00:00
hjk
9ff7664ec2 Android: Add a key name constant for the package name
For later use in the GammaRay integration plugin.

Change-Id: Ib3221f4cc09c75d1d961792da07ac579848c3a7e
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2018-05-16 10:47:10 +00:00
hjk
130b08925d Android: Use packageName directly in AndroidRunnerWorker
That was the only remaining field of the AndroidRunnable, passing
the packageName as single string is sufficient.

Change-Id: I73333e58a0719df09d6905eb212007ce421f600e
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2018-05-16 10:34:01 +00:00
hjk
099f8c7e80 Android: Remove AndroidRunnable::{beforeStart,afterFinish}AdbCommands
We have nowadays two ways to pass data from run configurations to
tool that do not require intimate knowledge of the sender:

1. Using RunConfigurationAspects, accessible for all workers in a
   RunControl
2. Using RunWorker::recordData for an individual worker.

This removes the need to use specific fields in a runnable and
means that a tool plugin can be better separated from target plugins.

The approaches are not mutually exclusive, both use an string-ish
id, I chose here to use the same string when using both.

This patch here uses approach 2. for the GammaRay/Android combo.
It also fixes a (harmless) typo (s/POSTSTART/POSTFINISH).

Change-Id: I4048693ca73b17253a39bfcacc9e1880ecf25736
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2018-05-16 10:18:27 +00:00
Eike Ziller
a0c02b50da Merge "Merge remote-tracking branch 'origin/4.7'" 2018-05-16 08:29:19 +00:00
hjk
6585edf143 Android: Pass RunWorker to AndroidRunnerWorker
The RunWorker will carry the amPreStart/amPostFinish commands later,
and the run control is still accessible via worker->runControl().

Change-Id: Ieac1a1d2a5a8689025a7707b218df44ef2485b16
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2018-05-16 08:22:38 +00:00
hjk
cf01d20f95 Android: Remove AndroidRunnable::amStartExtraArgs
It was only set up in AndroidRunner from the run configuration
and passed to AndroidRunnerWorker, instead get in in the
AndroidRunnerWorker from the run configuration directly.

Change-Id: I52fc793f07ca766a80a1b06f216f850da0b563ed
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2018-05-16 08:22:06 +00:00
Eike Ziller
3f2c8a55b1 Merge remote-tracking branch 'origin/4.7'
Change-Id: I0ef2f6ac30fb0c020e0f59d2a014d0dd3bab7d81
2018-05-16 10:18:40 +02:00
Eike Ziller
ccefc5cf47 Merge remote-tracking branch 'origin/4.6' into 4.7
Conflicts:
	src/plugins/qnx/qnxplugin.cpp

Change-Id: I8ede5fa9c8daf3001e41fcba7cbee68edb9db3a6
2018-05-16 10:09:15 +02:00
Vikas Pachdha
23ac1d18e1 Android: Fix the android include path
Task-number: QTCREATORBUG-20340
Change-Id: Ie1d7c15bf8b38b5141868149684e026ba9666630
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
2018-05-16 06:37:57 +00:00
hjk
0031dbb667 Android: Remove AndroidRunnable::intentName
It was only uses to pass the intent from the Runner to the RunnerWorker,
use a normal stand-alone QString member and setter instead.

Change-Id: I0fde87b0177d4ed013f9599600929070362ea09c
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2018-05-15 10:36:48 +00:00
hjk
2d13e94f5b Android: Remove AndroidRunnable::environment()
Not used.

Change-Id: I7741f9ddb22ec472cfd31762e54832fae10db659
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2018-05-15 10:22:35 +00:00
hjk
52e0b47c3f Android: Flatten then AndroidRunnerWorker hierarchy again
The difference was the selection of findProcessPID vs
findProcessPIDPreNougat functions, done by a flag now
passed to and used inside a combined findProcessPID function.

Change-Id: I738cdac1a81302c2207f9bc3c74c7cf916ca4089
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2018-05-11 08:44:38 +00:00