Commit Graph

1898 Commits

Author SHA1 Message Date
hjk
537a4ba285 ProjectExplorer: Remove registerDeployConfiguration
Since the types are all the same now, no template is needed, and
effectively only m_configBaseId is set, so rename the function
accordingly.

Change-Id: I79bbf488a0549d78b6f3f0408e6744f71a5dc190
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-01-22 11:44:37 +00:00
Ivan Donchevskii
d7058e1afe ClangFormat: Refactor indenter to allow ClangFormat unit-tests
We do not build texteditor files in unit-tests so some tricks
were required to make ClangFormatIndenter available.

First simple unit-test proofs it builds and runs.

Change-Id: I81d5ea099bd27fd1c1ed8b5b7877299dcc62a67f
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2019-01-22 09:52:15 +00:00
hjk
372fbf9c05 Use new DeployConfigurationFactory::addInitialStep in some cases
Less code, less classes.

Change-Id: I3ba9920f4f389e14c67cd8c5d937a4b4659865e7
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-01-21 12:05:28 +00:00
hjk
f007bc7593 ProjectExplorer: Simplify BuildStep::init() signature
The extra parameter was always computed but used only in one place,
and that use got removed lately.

Change-Id: Ie10c0107ca70ee97ce03f83294992aab8d1a3ffe
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-01-18 09:11:37 +00:00
hjk
bc239e240e Merge DeployConfigurationFactory::{canHandle,canOffer}
Previous uses of canOffer are effectively unchanged in behavior,
other plain uses of canHandle now also check the additional
requirements on the Qt version on Android (the only platform
that had a custom hasBuildTarget() implementation). This is
assumed to make no difference in practice.

Change-Id: If12895d1421d5565ff91a18bf4d7df96c8191160
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-01-18 08:50:24 +00:00
hjk
da4d395ff4 Android: Cosmetics for AndroidDevice interface
Change-Id: I291f51a3baeb3768428485c63914627c0d91037b
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-01-17 16:27:59 +00:00
Alessandro Portale
616e19ff9e Fix warning: "Missing emit keyword on signal call"
[-Wclazy-incorrect-emit]

Change-Id: I93bdc6e23cdaccf35c9899ae16870ccc65a54f80
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-01-17 15:54:56 +00:00
Alessandro Portale
128a33548b Fix warning: "Missing reference in range-for with non trivial type"
[-Wclazy-range-loop]

Change-Id: I5dcb263c754d423740e7bce3dcb948d52f2dec67
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2019-01-16 20:22:56 +00:00
hjk
d52af48883 QmakeAndroidSupport: Remove plugin
The remaining dependency is hacked into QmakeProjectManager
by using a compile time-only dependency on androidconstants.h.

Change-Id: Id78125137bc75c145a072bc753276abbf0029647
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2019-01-16 11:00:45 +00:00
hjk
9c23e37f5d ProjectExplorer: Simplify DeployConfigFactory::availableBuildTargets
It only ever returned either an empty list, or a list with a single
empty string. Using a bool return value to distiguish the cases is
less convoluted.

This is a leftover from the time when a DeployConfigurationFactory
could potentially create more than on DeployConfiguration, but this
is not supported anymore, as factories are cheap nowadays.

Change-Id: I4f2a91d3509d2b978949211ee709863d5ff460c7
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-01-16 09:48:29 +00:00
hjk
a1ae5820af Android: Make device info caching hack a bit less intrusive
The list of earlier build steps is not used anywhere else,
so it's not a really useful generic feature to have.

Avoid its single use here by searching for the interesting
step directly.

Change-Id: I52fffc75008dc01ff8ec6ca16045cbf151087ec1
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2019-01-15 13:18:02 +00:00
hjk
3f3eb40417 ProjectExplorer: Introduce a setter for IDevice origin and id
They are not completely orthogonal, so use one function for
now.

This is the step towards streamlining the IDevice::ctor/create
lines of functions.

Change-Id: I1fe9144c45c7da0c9dcbda3bf424e976e0519cd6
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-01-15 13:02:28 +00:00
Eike Ziller
71d60ee9c8 Merge remote-tracking branch 'origin/4.8'
Conflicts:
	src/plugins/cpptools/compileroptionsbuilder.cpp

Change-Id: I522f91de70aff28692d7c3a050e8d52df0b82a76
2019-01-15 08:40:23 +01:00
hjk
09c1c170d2 ProjectExplorer: Use setter for IDevice::type
Second step towards streamlining the IDevice::ctor/create lines
of functions.

Change-Id: I8b0f2270a9f6545ff9419ef8cf44b456c2233223
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-01-14 15:45:00 +00:00
hjk
75bce4332d ProjectExplorer: Use setter for IDevice::machineType
First step towards streamlining the IDevice::ctor/create lines
of functions.

Change-Id: I44226f8a05902cadd40c8820ab67752070d186c0
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-01-14 15:10:51 +00:00
hjk
a3c6d30b75 ProjectExplorer: Simplify IDevice extra device action setup
Function objects are easy nowadays.

Change-Id: Iec2b770b99d8f11b7a090fb3bd51af8aa60f6fe0
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-01-14 12:55:51 +00:00
Christian Kandeler
c6a6c12f05 Canonicalize some includes
Our canonical style is
    #include <utils/fileutils.h>
rather than
    #include "utils/fileutils.h"
Which makes sense, as such headers will never be found in the local
directory.

Change-Id: I4ca46e90d6c4d19d4b1f235f4c79caad864ef222
Reviewed-by: hjk <hjk@qt.io>
2019-01-10 09:04:46 +00:00
Vikas Pachdha
ce9081f340 Android: Find triple from predefined targets
Task-number: QTCREATORBUG-21780
Change-Id: Ic6e94a0ef94fc253f8a60383b2d060851b135d9f
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-01-09 12:38:25 +00:00
Andy Shaw
986ce6fb98 Respect the setting of the version code via the pro file
As a pro file can now set the version name and code via the pro file,
this enables support for the code part as it will default to a
variable (similar to the version name). Therefore we need to use
QLineEdit for this over QSpinBox so that it is kept intact.

Done-with: Markus Maier <markus.maier@rosenberger.de>
Change-Id: I0524a90dc94888c11365164c41259a934caffa1c
Reviewed-by: Markus Maier <markus.maier@rosenberger.de>
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2019-01-09 11:42:16 +00:00
Eike Ziller
04a4bacbf9 Merge remote-tracking branch 'origin/4.8'
Conflicts:
	src/plugins/coreplugin/dialogs/externaltoolconfig.ui

Change-Id: Ie38e9028cee599578c59b22325d85c097335243e
2019-01-07 13:24:12 +01:00
hjk
5d1114fe52 ProjectExplorer: Drop the target argument
... from ProjectNode::targetData and setTargetData, and rename them
to data and setData.

It was only used in the implementation to retrieve the right node,
instead move the responsibility to find the right node to the caller.

Current assumption is that the functions were always called on
the right node already.

Change-Id: I9ae7e8a7ed5c79b924b99fd9a6a652bad56d114a
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2018-12-20 16:18:37 +00:00
hjk
93257a56a0 QmakeAndroid: Replace remaining AndroidQtSupport
This uses the same approach as in the previous patches: Have some
generic interface in the base classes (here ProjectNode::targetData()
setTargetData()) and implement on the qmake project side.

Implementation for Cmake/QBS is architecture-wise possible, but
not used right now, and left for later.

Change-Id: I3bbf66170020cf9027a894cd66db15ec7ffbf499
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2018-12-20 13:13:51 +00:00
hjk
74723498cc QmakeAndroidSupport: Replace AndroidQtSupport::extraLibraryEnabled
... by base node functionality and inline it into its only user.

Change-Id: I39ba77c8a2e46b7f207fb62297b4665e213fb266
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2018-12-18 14:14:13 +00:00
hjk
42f5c8516a QmakeAndroidSupport: Access parseInProgress and validParse
... via base project node functionality.

Change-Id: Ifd9c5b149e11c1d104abed200881fdfe93749144
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2018-12-18 12:22:23 +00:00
hjk
758db05c73 QMakeAndroid: Replace QmakeAndroidSupport::projectFilePath
... by existing base functionality.

Change-Id: I38bc25cba5f50b7694df73f57bec67a250ac9bdf
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2018-12-17 15:40:13 +00:00
hjk
a9ce1a66a0 QmakeAndroid: Fill application combobox
... using a new base ProjectNode::targetApplications() function.

Change-Id: Id210683dce6bfa7ffbc89973423d326d76ac9309
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2018-12-17 14:02:06 +00:00
Christian Stenger
aa8629cbfd Android: Ensure the correct sysroot is passed to debugger
Change-Id: Iaa5e026eef658b7b729291beac30788f35c6489a
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2018-12-17 12:51:01 +00:00
Christian Stenger
1d683dcc07 Android: Correct setting ANDROID_NDK_PLATFORM
Instead of using always just the minimum SDK version
we need to differentiate between SDK and NDK version.

Fixes: QTCREATORBUG-21536
Change-Id: I2f99c9d40ab05ccd2a4b8efeb2cd0300ecf0cf3a
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2018-12-17 12:41:31 +00:00
Eike Ziller
e5c2ee922a Merge remote-tracking branch 'origin/4.8'
Conflicts:
	src/plugins/cpptools/compileroptionsbuilder.cpp

Change-Id: I743ea39480cc5c7b6febcd2e93713d15a3ae6d9c
2018-12-07 08:53:11 +01:00
BogDan Vatra
d51ddbb8f0 [Android] Fix qml debugging for Qt 5.12
Since Qt 5.12.0 we don't use qmljsdebugger extra intent param anymore
and we need to pass qmljsdebugger to the application arguments.

Fixes: QTBUG-72132
Change-Id: Icefb75e94027b145832c114fd90579bd10bcb898
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-12-03 12:39:29 +00:00
Orgad Shaneh
7096649fc2 Merge remote-tracking branch 'origin/4.8'
Change-Id: I5b18233936e3b2cd674df92a694ba73b5a3ed752
2018-12-03 09:56:07 +02:00
Christian Stenger
c5d1ec5144 Android: Fix debugging using old devices
Uploading a binary file had been remade using base64
encoding, but base64 tool is not available on older
devices.
Fallback to the old approach of relying on the
symlinked lib folder that contains a gdbserver if
the upload failed.

Task-number: QTCREATORBUG-21317
Task-number: QTCREATORBUG-21547
Change-Id: I54539d8912b1722bb799068c33e7a9175699ff70
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-11-29 14:40:33 +00:00
Eike Ziller
8d19b306ed Android: Detect clang and gdb from older NDK
Get some minimal compatibility with the older NDK that is used for
Qt < 5.12 back.
This detects clang-3.6 and gdb from NDK 10e.
For building, the android-g++ mkspec continues to be used for Qt < 5.12
(it uses Qt's default mkspec, regardless of toolchain in the kit,
because the toolchain reports to support both).

Task-number: QTCREATORBUG-21595
Change-Id: I3487c38093f43ccae2418fb28807a50fbda101a8
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2018-11-29 14:28:59 +00:00
Eike Ziller
29c9f8080d Merge remote-tracking branch 'origin/4.8'
Conflicts:
	src/plugins/android/androidrunnerworker.cpp

Change-Id: Ibd8b99435365fb7e7d488313fd1d2b3a75adad1b
2018-11-29 13:36:14 +01:00
Christian Stenger
9ee5cab4ae Android: Add Android 9/API level 28
Change-Id: I80b294a20bbfa19f9b83e080caa6e647062f7458
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2018-11-23 09:10:58 +00:00
Christian Stenger
069ac16e19 Android: Fix passing binary data through pipe on Windows
Passing binary data through a pipe may break as soon it hits
a control sequence. Encode binary data before piping and
decode it on the device before writing to file.

Fixes: QTCREATORBUG-21547
Change-Id: Iddef5582631575fdd2091c3795d2468be10b8c74
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-11-21 17:30:14 +00:00
Christian Stenger
10f15f5d1a Android: List extra packages as well
These packages should get listed as well as they contain
(at least on Windows) essential packages.

Change-Id: Ia8fb8fc641ac6d9a7fba8f65a31ef65eae560a99
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-11-21 14:35:51 +00:00
Christian Stenger
04b20a1a46 Android: Fix uploading file on Windows
Quoting of arguments on Windows behaves differently
depending on the used start() overload of QProcess.
Setting the program and arguments before calling start()
with only the QIODevice::OpenMode parameter allows to
preserve the wanted quoting.

Task-number: QTCREATORBUG-21547
Done-with: Oliver Wolff <oliver.wolff@qt.io>
Change-Id: I644ea0737d51d6114facb19a0ad70f10aeb79f2c
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-11-21 14:35:29 +00:00
Orgad Shaneh
04ae0c8dfb ProjectExplorer: Pimpl AbstractProcessStep
Change-Id: I0f77ff2e88b29674c306b394093deb2060db70c8
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-11-19 10:02:46 +00:00
Eike Ziller
3d1d9aae2e Merge remote-tracking branch 'origin/4.8'
Conflicts:
	src/plugins/winrt/winrtdevicefactory.cpp

Change-Id: I33b8697e2ebf2bea051d7f1144449e0743ee16a5
2018-11-19 10:00:18 +01:00
Ivan Donchevskii
e164717108 Android: Fix clang executable suffix on Windows
Change-Id: I78e8e49efd52d33f9f26f554a3400fabbe74d9ed
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-11-16 12:07:51 +00:00
Eike Ziller
3666e3aaeb Merge remote-tracking branch 'origin/4.8'
Conflicts:
	tests/unit/unittest/unittest.pro

Change-Id: I4f0ab05f96ee60900a3a35fad4c7331238367593
2018-11-09 13:30:40 +01:00
Christian Stenger
2cf2cebfc9 Avoid enabling all message types by default
Passing no QtMsgType parameter ends up in enabling all
message types by default.
Follow the common pattern of only enabling the warnings
by default.

Change-Id: Ic7ec0420089c95f716a86feb9791d9cb13f4dd90
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-11-06 09:40:05 +00:00
Eike Ziller
1473bc5891 Merge remote-tracking branch 'origin/4.8'
Conflicts:
	src/plugins/debugger/debuggermainwindow.cpp
	src/plugins/qbsprojectmanager/qbsbuildstep.cpp
	src/plugins/winrt/winrtdevicefactory.cpp
	tests/unit/unittest/gtest-creator-printing.cpp
	tests/unit/unittest/gtest-creator-printing.h
	tests/unit/unittest/unittest.pro

Change-Id: Ie9b80b87a8a4fa81baf72a2daa7919b21371c15e
2018-11-06 09:20:00 +01:00
Vikas Pachdha
de97b8cf3e Android: Auto detect clang toolchains
Remove GCC auto detection
Make Clang toochain default for Android
Remove auto detected toolchains from old NDK

Task-number: QTCREATORBUG-11846
Change-Id: I618e6f8eda4f24f498260b8de778ef543311acd1
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2018-11-02 15:10:50 +00:00
Vikas Pachdha
dabe72b7bb Android: Remove missing Qt version warning
Task-number: QTCREATORBUG-21421
Change-Id: I1442c574e6d9bcd7e407e07a6ce688ddf45e86f3
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2018-11-02 15:10:32 +00:00
Orgad Shaneh
5b7e0afc10 Revert "Android/ProjectExplorer: Include parameters into quotes"
This is wrong. The executable can contain spaces, so it needs the quotes,
and arguments with spaces are also enclosed with quotes.

This reverts commit 9c5afd8e96.

Change-Id: I9c0d3ae7452170195441d0b47b76b5d16252e2c4
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2018-10-29 11:01:56 +00:00
Robert Loehning
82e997cf59 Android: Capitalize properly
Change-Id: Ie5f35592db6c83feff63df519cc15a47eabc8d9c
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2018-10-26 13:45:53 +00:00
Robert Loehning
9c5afd8e96 Android/ProjectExplorer: Include parameters into quotes
Change-Id: I7778d3749e29497365e1bce4f599cc31a161bb01
Reviewed-by: hjk <hjk@qt.io>
2018-10-25 16:40:05 +00:00
Eike Ziller
0a27156f95 Fix build after merge
Change-Id: I858f294b20c8cf6bcf29a076e5b044119c0b109b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-10-24 13:10:51 +00:00