Commit Graph

48 Commits

Author SHA1 Message Date
hjk
473a741c9f Utils: Rename FileName to FilePath
More in line with QFileInfo terminonlogy which appears to be
best-of-breed within Qt.

Change-Id: I1d051ff1c8363ebd4ee56376451df45216c4c9ab
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-05-28 12:23:26 +00:00
hjk
166cb39709 iOS: More FileName::appendPath -> pathAppended changes
Change-Id: I3db6b1778e6e47e26e243fb2609c481651aa91fe
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-05-17 09:26:57 +00:00
Nikolai Kosjar
0612d45b9b iOS: Fix build
Change-Id: Ie120067468d84dbfe9c4b1bb7cbfc3efd0a53a5f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-04-25 08:05:19 +00:00
hjk
d2f2e9e218 iOS: Simplify IosDeployStep config widget setup
There's nothing special here.

Change-Id: Ifce935a7c6e8dd6d745d27353cde3f2c370d0abc
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-04-25 07:25:03 +00:00
Christian Kandeler
83dd031960 ProjectExplorer: Rename KitInformation to KitAspect
The name "KitInformation" does not properly convey the fact that it
represents a certain *aspect* of a kit. The same goes for
"KitConfigWidget", which in addition was inconsistent with
"KitInformation".
We now use "KitAspect" and "KitAspectWidget".

Change-Id: I9804ee4cedc4d61fad533ea1dd4e4720e67fde97
Reviewed-by: hjk <hjk@qt.io>
2019-02-11 11:55:01 +00:00
Christian Kandeler
966f4ea6a9 ProjectExplorer: Rework the build step run interface
Originally, the build manager used to run all build steps in a dedicated
thread. Communication between the step and the manager happened via a
QFutureInterface that was passed into the step's run() function.
Later, new steps were added that operated asynchronously, so the build
manager had to differentiate between the different kinds of steps for
starting and stopping.
These days, almost all build and deploy steps work asynchronously, which
made the QFuture-based interface look increasingly odd.
With this patch, all build steps are expected to work asynchronously, so
the build manager no longer needs to differentiate. Steps are started
and requested to stop via the run() and cancel() functions,
respectively, and emit the finished() signal when they are done. Build
step implementors no longer have to deal with a QFutureInterface. For
steps whose implementation is inherently synchronous, the BuildStep base
class offers a runInThread() function.

Change-Id: If905c68b234c5a669f6e19f43142eaa57d594803
Reviewed-by: hjk <hjk@qt.io>
2019-01-31 16:10:01 +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
Alessandro Portale
39400381b3 iOS: Modernize
modernize-*

Change-Id: I64d2bb4320c9b444bc13e90099600628eac1f5a6
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2018-11-13 15:44:34 +00:00
hjk
bc5e640a46 ProjectExplorer: Use a data member for BuildStep::runInGuiThread
Change-Id: Ia219fcf595c05c6f1b82f420454bd906c6870ee7
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2018-10-23 15:38:43 +00:00
hjk
0f5d5dbfe4 ProjectExplorer: Make BuildStep::immutable use a data member
Default to false, remove all no-op reimplementations.

And rename the getter to isImmutable according to the rules.

Change-Id: I8cce79d88fb59badfa1cffcf30a46f7ff3b09e8b
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2018-10-23 14:12:39 +00:00
hjk
280b7e2109 Ios: Use device types as restrictions on project configurations
Change-Id: I3c31f14eba9d9f68a333a814bea800a3da38d4a2
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2017-12-19 09:16:45 +00:00
hjk
53a151074a ProjectExplorer/all: Re-organize BuildSteps/{Deploy,Build}Config setup
This follow the rough pattern of recent *RunConfigurationFactory changes
for build and deploy configurations.

- Collapse the two lines of constructors similar to what
  890c1906e6 did for RunConfigurations
  * Deploy* was purely mechanical
  * Build* ctors are split in connects() in the ctor body
    to create "empty shell for clone" etc
    and build step additions in initialize() functions which
    are only used in the create() case.
  -- Allows to collapse the shared 'ctor()' functions, too.

- Move FooBuildConfigurationFactory::create() implementations
  to FooBuildConfiguration() constructor. That was a strange
  and unneeded ping-pong between factories and objects, and
  furthermore allows one level less of indirection (and for a
  later, left out here, some reduction of the
  FooBuildConfiguration interfaces that were only used to
  accommodate the *Factory::create() functions.

- Most {Build,Deploy}Configuration{,Factory} classes had a canHandle(),
  but there wasn't one in the base classses. Have one there.

- Most canHandle() functions were checking simple restrictions on
  e.g. project or target types, specify those by setters in the
  constructors instead and check them in the base canHandle()

- clone() is generally replaced by a creation of a "shell object"
  and a fromMap(source->toMap()), implemented in the base, there
  are two cases left for Android and Qbs that needed(?) some extra
  polish

- generally use canHandle() in base implementation, instead
  of doing that in all Derived::canFoo()

- as a result, canCreate/create/canClone/clone reimplementations
  are not needed anymore, keep the base implementation for
  now (could be inlined into their only users later), but
  de-virtualize them.

- Combine Ios{Preset,DSym}BuildStepFactory. There was only one
  'dsym' build step they could create.

- Split the 'mangled' id into the ProjectConfiguration subtype
  specific constant identifier, and a QString extraId() bit.
  Only maintain the mangled id in saved settings.

- Make ProjectConfiguration::m_id a constant member, adapt
  all constructors of derived classe.

Not done in this patch:

- Finish possible cosmetic changes on top

- Add a way to specify restrictions to supported Qt versions
  (used in Android/Ios), as the base implementation does not
  depend on the qtsupport plugin

- Combine the QList<X> availableFoo() + createFoo(X) function
  pairs to somthing like a direct
   QList<struct { X; std::function<X()>; }> fooCreators()
  to avoid e.g. the baseId.withSuffix() <-> id.suffixAfter(base)
  pingpong

- Remove the *Factories from the global object pool

- Do something about priority(). Falling back to plain
  qmake in android+qmake setup is not helpful.

Change-Id: I2be7d88d554c5aa8b7db8edf5b93278e1ae0112a
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-12-08 11:17:55 +00:00
Tobias Hunger
c6f90e575e Utils: Introduce a TemporaryDirectory and TemporaryFile class
Both wrap the corresponding Qt class, but make sure all temporary files
or directories are created inside a "master temporary directory".

Change-Id: I55461be507c828c965224c02863ea5ed9bbf9498
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-01-20 12:17:10 +00:00
Christian Kandeler
c05a3fdb3d Give the values of BuildStep::OutputFormat better names
The old ones did not convey their meaning very well. In particular,
NormalOutput and MessageOutput were easily confused.

Change-Id: Ia0a8c1b1c366ab3f5c59f751b37b8b1f68f6831d
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-01-19 16:08:57 +00:00
Vikas Pachdha
2b0daf42ce iOS: Replaces ios_sim tool with simctl
Task-number: QTCREATORBUG-16947
Change-Id: Ia28d5e4f9f220d566bd64da73989e8c24ef3eb37
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2016-10-17 13:46:34 +00:00
Orgad Shaneh
3410fee65f Ios: Use Qt5-style connects
The heavy lifting was done by clazy.

Change-Id: I1b25f0108939d87e859d0407a35f75b88fa0edc3
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-06-30 12:12:09 +00:00
Tobias Hunger
2e5102f45e BuildStep: Remove finished() signal and use FutureInterface to report
Remove the finished() signal that is (sometimes) used to report that
a buildstep is done and use the FutureInterface for that purpose
consistently.

Change-Id: Ibe5520b562b91f1a7f4fc73ee898b33b930029ec
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
2016-04-25 11:23:42 +00:00
Eike Ziller
79da8a4586 iOS: Fix message about failed deployment
The device settings were moved from the Organizer window to its own
Devices window quite a while ago.

Change-Id: Ia3cdc7686ef70bde0e6c443dc2d72b64f54fdbf3
Reviewed-by: Vikas Pachdha <vikas.pachdha@theqtcompany.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2016-04-15 08:50:01 +00:00
Tobias Hunger
397e7f4843 Update License according to agreement with Free Qt Foundation
* Update files in src/plugins

Change-Id: Ia5d77fad7d19d4bb3498e78661982f68729adb22
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-01-19 15:57:01 +00:00
Tobias Hunger
79f82d0d0a BuildManager: Provide context of earlier build steps to init
This information can be used to get information from earlier steps,
which e.g. queried for android devices to deploy to.

Change-Id: Iefe1c9443915cb6211f86f98ff7aaf3cb75145ba
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
2015-11-16 14:04:59 +00:00
Tobias Hunger
a110abeed7 Remove unnecessary destructors
Change-Id: Id0bc2d3a305e6af24838266195ab22e04e3a12a1
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
2015-11-16 11:16:17 +00:00
Christian Kandeler
1c822544f0 Ios: Remove some unneeded references to QmakeProjectManager.
Includes, namespace usings and casts.

Change-Id: Iaa9caa1387f1f96fa5d8537d8cfec78ab9786789
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-08-10 08:34:33 +00:00
Eike Ziller
9926fc2ab1 Merge commit '3c85058694ee2e41658d17f524fb48f0b187d2fe'
Conflicts:
	src/libs/utils/tooltip/tipcontents.cpp
	src/libs/utils/tooltip/tipcontents.h
	src/plugins/android/androiddeployqtstep.cpp
	src/plugins/baremetal/baremetalconstants.h
	src/plugins/baremetal/baremetaldevice.cpp
	src/plugins/baremetal/baremetaldevice.h
	src/plugins/baremetal/baremetaldeviceconfigurationwidget.cpp
	src/plugins/baremetal/baremetaldeviceconfigurationwidget.h
	src/plugins/baremetal/baremetaldeviceconfigurationwizard.cpp
	src/plugins/baremetal/baremetaldeviceconfigurationwizardpages.cpp
	src/plugins/baremetal/baremetaldeviceconfigurationwizardpages.h
	src/plugins/baremetal/baremetalplugin.cpp
	src/plugins/baremetal/baremetalplugin.h
	src/plugins/baremetal/baremetalruncontrolfactory.cpp
	src/plugins/baremetal/baremetalruncontrolfactory.h
	src/plugins/cppeditor/cppcodemodelinspectordialog.cpp
	src/plugins/cppeditor/cppdoxygen_test.cpp
	src/plugins/cppeditor/cppdoxygen_test.h
	src/plugins/debugger/breakpointmarker.cpp
	src/plugins/debugger/debuggeritemmodel.cpp
	src/plugins/debugger/debuggeritemmodel.h
	src/plugins/debugger/loadcoredialog.cpp
	src/plugins/genericprojectmanager/cppmodelmanagerhelper.cpp
	src/plugins/projectexplorer/addnewmodel.cpp
	src/plugins/projectexplorer/addnewmodel.h
	src/plugins/projectexplorer/jsonwizard/jsonfieldpage.cpp
	src/plugins/qmlprofiler/abstracttimelinemodel.cpp
	src/plugins/qmlprofiler/abstracttimelinemodel.h
	src/plugins/qmlprofiler/notesmodel.cpp
	src/plugins/qmlprofiler/qml/CategoryLabel.qml
	src/plugins/qmlprofiler/qml/MainView.qml
	src/plugins/qmlprofiler/qml/Overview.js
	src/plugins/qmlprofiler/qml/Overview.qml
	src/plugins/qmlprofiler/qml/TimeDisplay.qml
	src/plugins/qmlprofiler/qml/TimeMarks.qml
	src/plugins/qmlprofiler/qmlprofilertimelinemodelproxy.cpp
	src/plugins/qmlprofiler/sortedtimelinemodel.cpp
	src/plugins/qmlprofiler/sortedtimelinemodel.h
	src/plugins/qmlprofiler/timelinemodelaggregator.cpp
	src/plugins/qmlprofiler/timelinemodelaggregator.h
	src/plugins/qmlprofiler/timelinerenderer.cpp
	src/plugins/qmlprofiler/timelinerenderer.h
	src/plugins/qmlprojectmanager/QmlProjectManager.json.in
	src/plugins/texteditor/findinfiles.cpp
	src/plugins/vcsbase/vcsconfigurationpage.cpp
	src/shared/qbs
	src/shared/scriptwrapper/interface_wrap_helpers.h
	src/shared/scriptwrapper/wrap_helpers.h
	tests/auto/qmlprofiler/abstracttimelinemodel/tst_abstracttimelinemodel.cpp
	tests/system/suite_debugger/tst_debug_empty_main/test.py
	tests/system/suite_debugger/tst_qml_js_console/test.py
	tests/system/suite_debugger/tst_qml_locals/test.py

Change-Id: I67540b648f8b162496f4aa606b04d50c7c9125c6
2015-02-12 17:29:21 +01:00
Orgad Shaneh
2813643cfe IOS: Remove unneeded qualifications
Mostly done using the following ruby script:
Dir.glob('**/*.cpp').each { |file|
  next if file =~ %r{src/shared/qbs|/qmljs/}
  s = File.read(file)
  s.scan(/^using namespace (.*);$/) {
    ns = $1
    t = s.gsub(/^(.*)\b#{ns}::((?!Const)[A-Z])/) { |m|
      before = $1
      char = $2
      if before =~ /"|\/\/|\\|using|SIGNAL|SLOT|Q_/
        m
      else
        before + char
      end
    }
    if t != s
      puts file
      File.open(file, 'w').write(t)
    end
  }
}

Change-Id: I8ef73f4861069dcd7edf5e73b397d60609d4b476
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@theqtcompany.com>
2015-02-05 16:40:42 +00:00
Eike Ziller
3c85058694 Update License
Change-Id: I711d5fb475ef814a1dc9d2822740e827f3f67125
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
2015-01-16 12:37:56 +01:00
Fawzi Mohamed
e8ea09cc32 iOS: do not set simulator type before initial setup
The run configuration did try to set the simulator type for devices, and
also before knowing the available simulators.
Make most IosDeviceType initialisations explicit about the device type.

Change-Id: I22b87bf4568e1af0c12b1fb91d3074bf29438db2
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@theqtcompany.com>
2014-12-02 13:36:43 +01:00
Fawzi Mohamed
e757643690 iOS: fix simulator selection
get simulator type and SDK version dynamically from the available ones,
and let the user choose which one to use.
This fixes the static solution that did break with Xcode 6

Change-Id: I5cb2be68b9ea8736fc880cf3dd9d39d77f030293
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@theqtcompany.com>
2014-11-25 17:36:58 +01:00
hjk
9477ed0a3f Introduce and use FileName::exists()
This can use the faster route through QFileInfo::exist now.

Change-Id: Idb41b5d5185d7f02eacba498fb01f483d95e8d57
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-11-03 10:23:09 +01:00
Eike Ziller
8295b503be License update
Change-Id: I3c22ef2685d7aa589f5d0ab74d693653a4c32082
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
2014-10-09 11:41:44 +02:00
Fawzi Mohamed
e7ac3bf16e ios: fix deploystep displayName updating
still uses the default deploystepconfiguration, which gives some
artifacts (to be fixed later)

Change-Id: I3f4f8a71fbe4e18fc171aee571da72da1c9735db
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2014-05-27 15:37:31 +02:00
Eike Ziller
270e8fe537 Merge remote-tracking branch 'origin/3.1'
Conflicts:
	src/plugins/ios/iosdeploystep.cpp

Change-Id: I97c80d288d7af30f4bf64509a09e0fe2e3b85f6f
2014-05-20 14:44:31 +02:00
hjk
129d062a73 IosDeployStep: use QTC_ASSERT when appropriate
Change-Id: I487f3ead6b72d558670dd4045c44b8ab09336e29
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2014-05-19 12:24:41 +02:00
Eike Ziller
6d1cc58697 Merge remote-tracking branch 'origin/3.1'
Conflicts:
	src/plugins/clangcodemodel/test/clangcompletion_test.cpp
	src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp
	src/plugins/projectexplorer/projectexplorer.pro
	src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.cpp
	src/plugins/vcsbase/vcsplugin.cpp
	src/shared/qbs

Change-Id: I9e5882be79ac5e8c7dfab4a57f16509d7569636a
2014-05-16 16:54:50 +02:00
Fawzi Mohamed
fb1db53054 ios: warn if provisioning profile does not cover the targeted device
Task-number: QTCREATORBUG-12175
Change-Id: I58108bfca92add161ae3c1999954d073b30dba9c
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2014-05-13 12:48:46 +02:00
Fawzi Mohamed
b6a1aff2a1 iosrunconfiguration: use more descriptive method/variables names
removed use of shortened names

Change-Id: Icce8558a909e6fdd1c4d4f12ea273745fb21f5eb
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2014-05-08 13:08:08 +02:00
Fawzi Mohamed
88f85896f1 ios: make device simulated configurable in runconfiguration
Change-Id: I54bcbd7f2142ab95618005f1f108a122bfe18d32
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2014-03-31 14:19:20 +02:00
Fawzi Mohamed
c4ab890997 ios: cache app path in deploy step
avoid accessing target and runconfig in the run
method

Change-Id: I2d48ade1313d80e8041ea90f59f53f93858ab6b3
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2014-02-14 15:38:41 +01:00
Robert Loehning
746c5d8863 Incremented year in copyright info
Change-Id: Ib5423fdd064e4546f848c0b640b0ed0514c26d3a
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2014-01-08 08:29:47 +01:00
Fawzi Mohamed
4bd0fcbf8d ios: emit deploysetep::finished
iosdeploystep did call reportFinished on the future interface.
This is incorrect, the finished signal should be emitted instead
This lead to a reuse of the future  due to missing call to
buildStepFinishedAsync which lead to failing on the second run of
the deploy step.

Change-Id: I96b8874bc98c77453d5c0af96c818dff6e955167
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2013-11-28 19:13:05 +01:00
Fawzi Mohamed
242cba3065 ios: better error messages
Change-Id: I2ccb7655320b18eed9f10c8b6130befe8c9cbdb0
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2013-11-05 16:59:09 +01:00
Friedemann Kleint
fc1a209fe0 iOS: Unify translation of iOS-Device.
Change-Id: I01374545ec3882a1dc9b08adccf4632f38438efb
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2013-11-04 19:37:12 +01:00
hjk
d7d27fccbc Rename plugins/qt4projectmanager to qmakeprojectmanager
This finally renames the plugin itself.

Change-Id: Ibdf4f4b4e9776c2fdc809e0127f3e1310de44bd1
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-10-29 17:57:06 +01:00
hjk
35695ebb0c Qt4ProjectManager: Rename the "normal" qt4* files to qmake*
Change-Id: I5e173900a4008c72c67a30eaa9c101027c1b43af
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-10-16 14:30:05 +02:00
hjk
ebcd992577 Rename namespace Qt4ProjectManager to QmakeProjectManager
First step towards plugin renaming.

Change-Id: I8ac017660a7aa2bda0d7bb7d72ab0cfceaf6cfd2
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-10-16 12:09:59 +02:00
Tobias Hunger
9bb0a81525 IOs: Fix warnings about unused things
Change-Id: I40a6aa486af7f4d819ae1f1f309f12042c8d2826
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2013-10-14 17:22:30 +02:00
Fawzi Mohamed
a874537b0f ios: better deploy messages (and handling of missing devices)
Change-Id: I77faa28b1300bbf59f56cf20855147f67fd69368
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2013-10-14 16:11:58 +02:00
Fawzi Mohamed
8d96ce557e ios: preliminary support for ios
first work in progress support for ios
* separate iosTool using xml communication used for device info and run
* iossim tool to handle the simulator
* debug prepared but not working
* separate gcc toolchain detection fix for simulator

1) add a QT built for ios
2) open a project, for example qtbase/examples/widgets/animation/animatedtiles/animatedtiles.pro
3) build/run...

Change-Id: I7e01604e416338cbe4692dfb34f5d3f31312702d
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-10-02 13:15:49 +02:00