aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/genericprojectmanager/genericmakestep.h
Commit message (Collapse)AuthorAgeFilesLines
* GenericProjectManager: De-O_OBJECT-ify GenericMakeStephjk2020-02-201-11/+1
| | | | | Change-Id: I8f65d9461a48d27e6cf21b32f7b364127a7036b5 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Pass Id to BuildStep constructorhjk2020-01-091-1/+1
| | | | | | | | Allows to use constants in fewer places, similar to what e.g. RunConfiguration does. Change-Id: I9d049128206c4acf0ce14b06b66d6c090a7c5242 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* GenericProject: Normalize make step setuphjk2019-07-311-9/+3
| | | | | | | | | | We have only one id for the steps, so short of coming up with some fancy upgrade mechanism, stick to the one kind of step, but also use only one factory, and do the switch in the step constructor based on the nature of the parent buildsteplist. Change-Id: I8fcc599682840d61e4a7f8b6fb7b792aafdd8766 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Use base make step for autotools projectsEike Ziller2018-05-231-2/+0
| | | | | | | | | | | | | | | | Unify generic and autotools make steps, by moving the better maintained logic from the generic make step to the base make step. Add fallback code for restoring settings from previous autotools make steps, since a key was named slightly different. The autotools make step was behaving a little bit better when there is no C++ toolchain set in the kit, but on the other hand would just take the make command from a random existing toolchain, which can be wrong too. Anyhow, this must be fixed in a follow-up patch for all make steps. Change-Id: I47af7d327feb9336790d30c8b9a4968c25b25db3 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* Move generic make step to project explorerEike Ziller2018-05-161-51/+2
| | | | | | | | As a first step of creating a generic base for the 3 existing implementations. Change-Id: I2456db74cb635316f97a247e2a2b6bdb34931440 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* ProjectExplorer/all: Re-organize BuildSteps/{Deploy,Build}Config setuphjk2017-12-081-20/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This follow the rough pattern of recent *RunConfigurationFactory changes for build and deploy configurations. - Collapse the two lines of constructors similar to what 890c1906e6fb2ec 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>
* ProjectExplorer: Add subscribeSignal method to targets and projectsTobias Hunger2017-08-021-1/+1
| | | | | | | | | | | | | | | | Add a subscribeSignal method to targets and projects that will make sure all signals of all project configurations added during the lifetime of the project/target will get connected (if the type matches). Use this to connect to some signal in all BuildConfigurations of a project and get rid of code that keeps connecting to the current build configuration. Use Project::buildEnvironmentChanged as an example and convert its usages. Change-Id: I689bcebac4b191bf3f8a18765bf18eaac371c5fe Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* GenericProject: Cleanup and modernizeAndre Hartmann2017-01-021-1/+1
| | | | | | | | | | * Use nullptr instead 0 * Remove QLatin1{String|Char} where possible * Use C++11 list init and auto * Add some const as drive-by-change Change-Id: Ife4c9c7b0869bcf2c864b88b8061ac6b7c3f33c0 Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* GenericPM: Use Qt5-style connectsOrgad Shaneh2016-06-291-2/+1
| | | | | Change-Id: Ia94373846f0125a42686d6ed69b3111762b00c04 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* ProjectExplorer: De-duplicate code in IBuildStepFactory derived classeshjk2016-06-101-9/+3
| | | | | | | | | | | | | | This removes 900 lines of duplicated code, some duplicated checks at runtime and some (minor) quadratic behavior when gathering display names. canClone(), canRestore() and canCreate() and restore() use the same pattern. Handle that on the core side once. Leave retore() virtual to let the ios code unmodified (which is likely not needed, later...). Introduce 'Unclonable' and 'Uncreatable' flags to keep Android package installation and WinRT deployment (non-)functionality unchanged. Change-Id: I0325479aff818a4038b2f241ca733b8d8cd66f2f Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* GenericProject: ModernizeTobias Hunger2016-02-041-12/+9
| | | | | | | | | * Use pragma once * Use overrides * Clean up here and there (mostly in the headers) Change-Id: Ib33b6a6aa1a285d281f3d8b940fe654af3941554 Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* ProjectExplorer: Sprinkle overrides over the codeTobias Hunger2016-01-291-8/+8
| | | | | | | Sprinkle overrides over code derived from classes in ProjectExplorer Change-Id: Ia4cc25649f7dc00b0ea126d8176a59afbc5ed574 Reviewed-by: hjk <hjk@theqtcompany.com>
* Update License according to agreement with Free Qt FoundationTobias Hunger2016-01-191-17/+12
| | | | | | | * Update files in src/plugins Change-Id: Ia5d77fad7d19d4bb3498e78661982f68729adb22 Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
* BuildManager: Provide context of earlier build steps to initTobias Hunger2015-11-161-1/+1
| | | | | | | | 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>
* Remove unnecessary destructorsTobias Hunger2015-11-161-1/+0
| | | | | Change-Id: Id0bc2d3a305e6af24838266195ab22e04e3a12a1 Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
* ProjectConfiguration: Sprinkle override and explicit over the codeTobias Hunger2015-11-161-8/+8
| | | | | | Change-Id: I2aa3a32a0d30f1d122977d94d4109227dea6bbd7 Reviewed-by: Niels Weber <niels.weber@theqtcompany.com> Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
* Update LicenseEike Ziller2015-01-161-6/+6
| | | | | Change-Id: I711d5fb475ef814a1dc9d2822740e827f3f67125 Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
* License updateEike Ziller2014-10-091-7/+8
| | | | | Change-Id: I3c22ef2685d7aa589f5d0ab74d693653a4c32082 Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
* Always pass Core::Id by value.Christian Kandeler2014-07-011-4/+4
| | | | | | | | | | | Currently we pass in some places by value, elsewhere by const ref and for some weird reason also by const value in a lot of places. The latter is particularly annoying, as it is also used in interfaces and therefore forces all implementors to do the same, since leaving the "const" off is causing compiler warnings with MSVC. Change-Id: I65b87dc3cce0986b8a55ff6119cb752361027803 Reviewed-by: hjk <hjk121@nokiamail.com>
* BuildSteps: emitting tasks from init() works fineDaniel Teske2014-04-041-1/+0
| | | | | Change-Id: Ida5c7e9eea197d12ebe6e4bd86e90b2ef7e7a100 Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
* Incremented year in copyright infoRobert Loehning2014-01-081-1/+1
| | | | | | Change-Id: Ib5423fdd064e4546f848c0b640b0ed0514c26d3a Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Merge remote-tracking branch 'origin/2.6'Oswald Buddenhagen2013-01-311-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/autotoolsprojectmanager/AutotoolsProjectManager.pluginspec.in src/plugins/debugger/qtmessageloghandler.cpp src/plugins/debugger/qtmessagelogwindow.cpp src/plugins/madde/maemodeployconfigurationwidget.cpp src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp src/plugins/qmldesigner/designercore/include/widgetqueryview.h src/plugins/qmldesigner/designercore/metainfo/metainfoparser.cpp src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.cpp src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.h src/plugins/qmlprojectmanager/qmlprojectapplicationwizard.cpp src/plugins/qnx/bardescriptormagicmatcher.h src/plugins/qt4projectmanager/profilekeywords.cpp src/plugins/remotelinux/deployablefilesperprofile.cpp src/plugins/remotelinux/deployablefilesperprofile.h src/plugins/remotelinux/deploymentinfo.cpp src/plugins/remotelinux/deploymentsettingsassistant.cpp src/plugins/remotelinux/profilesupdatedialog.cpp tests/auto/icheckbuild/ichecklib.cpp tests/auto/icheckbuild/parsemanager.cpp tests/auto/icheckbuild/parsemanager.h Change-Id: Ie465a578446a089e1c502d1cb1096e84ca058104
| * Incremented year in copyright infov2.6.2Robert Loehning2013-01-291-1/+1
| | | | | | | | | | Change-Id: Ic6a9ff0359625021ebc061d22db6811814534205 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* | GenericMakeStep: Remove genericBuildConfiguration()Daniel Teske2012-11-161-3/+0
|/ | | | | | | None of the callers needed anything beyond BuildConfiguration Change-Id: I4d8a9c6deb433b2003727fead9de5defa83cf3e9 Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
* Adjust license headershjk2012-10-051-21/+20
| | | | | Change-Id: Ice592c6de9951ee3b2c4cb52ed0bb3b6770e0825 Reviewed-by: Eike Ziller <eike.ziller@digia.com>
* Make Toolchain::makeCommand return a full path to the make commandDaniel Teske2012-09-121-1/+1
| | | | | | | | | | | | Requires passing in the environment to use. Also now the mingw toolchain has a fall back to make.exe on windows. And the msvc toolchain falls back to nmake even if the "use Jom" option is used. Task-number: QTCREATORBUG-7831 Change-Id: I850a96da41a380eef8c6992e27a72fb63958c456 Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: Peter Kümmel <syntheticpp@gmx.net>
* Warn if kit has no tool chain set upTobias Hunger2012-09-061-0/+1
| | | | | Change-Id: I551402c1e3023feeeb127f001a0e908938a07fc2 Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
* genericprojectmanager: code cosmetichjk2012-08-141-12/+13
| | | | | | | | White space, namespaces, include order, comments, literal style, remove unneded include/declarations etc. Change-Id: Ifcb4371699c5cde244be1610b67cf81915cad2b2 Reviewed-by: hjk <qthjk@ovi.com>
* Contact -> qt-project.orgEike Ziller2012-07-191-3/+1
| | | | | Change-Id: I7134d7de30bcf9f9dcfad42520dd45ee083a852d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* plugins genericprojectmanager: fix mem leak. m_ui was never deletedMontel Laurent2012-07-171-0/+1
| | | | | | Change-Id: I50f98cdfb9372a1a1f78b7c8fe0ad7f39856ea01 Reviewed-by: Laszlo Papp <lpapp@kde.org> Reviewed-by: hjk <qthjk@ovi.com>
* GenericProjectManager: Remove todosDaniel Teske2012-05-031-1/+1
| | | | | | | | | Actually update the "Override make" label on toolchain changes The makestep configuration widget being a friend of the step is not that bad. Change-Id: I5e88905cb0da99a4c1c28d8c56e669141e80ce17 Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
* Use Core::Id in project-related objectsTobias Hunger2012-04-251-18/+15
| | | | | | | | Use Core::Id for all the project related objects in favor of plain QStrings. Change-Id: I790ab40cb29899efdb49c413a77609486f52e683 Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
* Long live the king!hjk2012-01-261-1/+1
| | | | | Change-Id: I2b72b34c0cfeafc8bdbaf49b83ff723544f2b6e2 Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
* compile fix with namespaceshjk2011-11-241-10/+2
| | | | | Change-Id: I1b888ff8bd5c30a13dc8c00824d4cae6990a4b23 Reviewed-by: hjk <qthjk@ovi.com>
* Add a default "clean" BuildStep to Generic Projects.Andre Hartmann2011-11-241-0/+4
| | | | | | Change-Id: I9e566781d719292a6881d040385bd5ce649d398a Reviewed-by: Andre Hartmann <aha_1980@gmx.de> Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
* UI files: Do not polute the global Ui namespaceTobias Hunger2011-11-241-1/+7
| | | | | | | Make sure all ui-files are in the plugin's internal namespace. Change-Id: Ifb2c3093441e8feb89e46f52fbb386fc316cfd13 Reviewed-by: hjk <qthjk@ovi.com>
* all: s/info@qt.nokia.com/qt-info@nokia.com/hjk2011-11-031-2/+2
| | | | | Change-Id: If18afb5d4665924e7d9250dccbc60a65e6daa75e Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
* Remove BuildStepConfigWidget::init()dt_2011-05-301-1/+0
| | | | | | | | | It serves no purpose anymore. Change-Id: Ifc15b29c7736bacde3b310e6c4dc980314145d14 Reviewed-on: http://codereview.qt.nokia.com/217 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
* Fix/add copyright headersTobias Hunger2011-05-061-1/+1
| | | | Change-Id: I8b73d583be1ee7183f4074bce49d5390e38631a2
* Update license.hjk2011-04-131-14/+13
|
* It's 2011 now.con2011-01-121-1/+1
| | | | Reviewed-by: hjk
* Merge branch '2.1'con2010-12-171-7/+11
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/coreplugin/basemode.cpp src/plugins/coreplugin/basemode.h src/plugins/coreplugin/scriptmanager/qworkbench_wrapper.cpp src/plugins/coreplugin/scriptmanager/qworkbench_wrapper.h src/plugins/debugger/cdb/cdbsymbolpathlisteditor.cpp src/plugins/debugger/debuggeragents.cpp src/plugins/debugger/debuggeruiswitcher.cpp src/plugins/debugger/debuggeruiswitcher.h src/plugins/projectexplorer/buildconfigdialog.cpp src/plugins/qmldesigner/components/propertyeditor/colorwidget.cpp src/plugins/qmldesigner/components/propertyeditor/colorwidget.h src/plugins/qmldesigner/designercore/include/enumeratormetainfo.h src/plugins/qmldesigner/designercore/include/modelutilities.h src/plugins/qmldesigner/designercore/include/nodeinstance.h src/plugins/qmldesigner/designercore/include/propertymetainfo.h src/plugins/qmldesigner/designercore/instances/graphicsscenenodeinstance.cpp src/plugins/qmldesigner/designercore/instances/graphicsscenenodeinstance.h src/plugins/qmldesigner/designercore/instances/graphicsviewnodeinstance.cpp src/plugins/qmldesigner/designercore/instances/graphicswidgetnodeinstance.cpp src/plugins/qmldesigner/designercore/instances/graphicswidgetnodeinstance.h src/plugins/qmldesigner/designercore/instances/nodeinstance.cpp src/plugins/qmldesigner/designercore/instances/qmlviewnodeinstance.cpp src/plugins/qmldesigner/designercore/instances/widgetnodeinstance.cpp src/plugins/qmldesigner/designercore/instances/widgetnodeinstance.h src/plugins/qmldesigner/designercore/metainfo/enumeratormetainfo.cpp src/plugins/qmldesigner/designercore/metainfo/propertymetainfo.cpp src/plugins/qmldesigner/designercore/model/modelutilities.cpp src/plugins/snippets/inputwidget.cpp src/plugins/snippets/snippetscompletion.cpp src/plugins/snippets/snippetscompletion.h src/plugins/snippets/snippetspec.cpp src/plugins/snippets/snippetsplugin.cpp src/plugins/snippets/snippetswindow.cpp src/plugins/snippets/snippetswindow.h src/plugins/texteditor/snippetsparser.cpp src/tools/qml/qmldom/main.cpp tests/manual/trk/runner.cpp tests/manual/trk/trkolddevice.cpp tests/manual/trk/trkolddevice.h tests/manual/trk/trkserver.cpp
| * License headers.con2010-12-171-7/+11
| |
* | replace env variable injection with pervasive expando supportOswald Buddenhagen2010-11-171-1/+1
| | | | | | | | | | | | | | | | do not inject SOURCEDIR and BUILDDIR into the environment of build steps and run configurations any more. instead, all custom executable paths, argument lists and working directories now support the %{sourceDir} and %{buildDir} macros. this approach is more elegant and more scalable.
* | overhaul process argument handlingOswald Buddenhagen2010-11-171-2/+2
|/ | | | | | | | | get away from argument stringlists. instead, use native shell command lines which support quoting/splitting, environment variable expansion and redirections with well-understood semantics. Task-number: QTCREATORBUG-542 Task-number: QTCREATORBUG-1564
* Refactor deploymentTobias Hunger2010-08-021-17/+10
| | | | | | | | | | | | | | | | * Add a DeployConfiguration class to hold settings related to deployment. * Add BuildStepsList to hold a list of buildsteps * Update BuildConfiguration to use BuildStepLists instead of manageing lists of buildsteps itself. * Update BuildManager to use BuildStepLists in its interfaces * Fix fallout introduced by API changes * Update .user file to new way of storing settings Task-number: QTCREATORBUG-1427 Task-number: QTCREATORBUG-1428 Task-number: QTCREATORBUG-1811 Task-number: QTCREATORBUG-1930
* Rename StepType to BuildStep::TypeTobias Hunger2010-07-061-7/+7
| | | | | | | * Move and rename the enum * Add Q_ENUMS macro Reviewed-by: dt
* Use a type enum instead of duplicating functions between build and cleandt2010-03-161-2/+10
| | | | That is e.g. buildSteps() and cleanSteps() --> steps(type)
* Long live the king!hjk2010-03-051-1/+1
|
* Make use of ProjectConfiguration class in BuildStepsTobias Hunger2010-02-011-17/+33
| | | | | | | * Use new BuildSteps interface (as seen in ProjectConfiguration). * Use new factory to construct/clone/restore them. Reviewed-by: dt