Commit Graph

150 Commits

Author SHA1 Message Date
Tobias Hunger
4d302fa1a8 Qbs: Remove unused method
Change-Id: Ib25b5155ac267cee7146bca22ac599ad96e4580b
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2014-05-02 11:54:08 +02:00
Eike Ziller
063b95d970 Use more descriptive progress bar titles
Change-Id: I70450a2aa675d69f820de48dd75909f36051efe0
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-04-28 14:32:25 +02:00
Joerg Bornemann
de99c7a6ed fix location of qbs plugins on OS X
Task-number: QTCREATORBUG-11866
Change-Id: I261fdabd100c6f6827d4195624d56343cd59fb81
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
2014-03-28 16:27:49 +01:00
Tobias Hunger
7d2e5d54a1 Qbs: Send parsing done even if the parsing actually failed
Task-number: QTCREATORBUG-11876

Change-Id: I9c52df7d0ebcb7f779e22061e5cf7923c09dab14
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2014-03-27 15:45:58 +01:00
Tobias Hunger
40d6a2bf57 Qbs: Fix reparsing after building
Change-Id: Ic06718ddc6813fbe02078976e4bc571fb382d96a
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2014-03-03 14:16:07 +01:00
Christian Kandeler
c8881e7ca2 Support configurable library location in qbs build.
And also in the qbs sub-project (for the qbs and qmake builds). This
becomes possible with the qbs submodule update that is part of this
patch.

Change-Id: I8347a8c04a52bcb0682f32d808fb61a90ef3ba72
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-02-28 17:38:41 +01:00
Tobias Hunger
bdce2abf1b Qbs: Do not re-parse projects while they are built
Qbs may update the buildgraph during the build, so this information
may be lost if we reparse at the same time.

Change-Id: Id52e42552736bbe842581cc87d837d0834ad0a2c
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
2014-02-28 10:16:51 +01:00
Christian Kandeler
8a8092912b Fix location of qbs plugins.
They are not (arch-independent) resources.

Task-number: QTCREATORBUG-10074
Change-Id: If257dfc3a8a866003c84331409162699b162eb19
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-02-27 12:36:15 +01:00
Fawzi Mohamed
d24cb60d48 qml: moving most of ModelManager logic to ModelManageInterface
Currently ModelManager contains lot logic, but as it sits in QmlJSTools
it is not possible to use it in standalone tests.
Moving most of the logic to ModelManagerInterface (and cleanup)
to allow better testing, and refactoring.
This introduces a dependency of the qmljs lib on the cplusplus lib
Also a (small) part of the CppTool::ModelManagerInterface has been
moved to CPlusPlus::CppModelManagerBase to remove the dependency on
CppTools to gather the Qml types exposed from C++.

Change-Id: Icad7fe96dfd0f1a2b1058d82bd98c77c40aa5e9d
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2014-02-19 21:18:58 +01:00
Christian Kandeler
eaf75253b4 Update qbs submodule to HEAD of master branch.
Includes some necessary adaptations to the QbsProjectManager plugin,
namely:
    - Use the new library for setting up Qt profiles.
    - Use per-profile preferences.

Change-Id: I0a639bd291d790c6da9cb4ade53841314310d5ef
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2014-01-21 17:25:00 +01:00
Tobias Hunger
1131c11a11 Qbs: Fix casing in name of cxxFlags and cFlags
This fixes the problem of Qt Creator not getting the cxxFlags set in
Qbs.

Task-number: QBS-481
Change-Id: Ie233123d62bcf89f3b8ebee1367ca6447b9ade3a
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2014-01-14 16:50:29 +01:00
Eike Ziller
236ea9efb9 Merge remote-tracking branch 'origin/3.0'
Conflicts:
	share/qtcreator/debugger/dumper.cpp
	share/qtcreator/debugger/dumper_p.h
	share/qtcreator/debugger/test/main.cpp
	src/plugins/debugger/gdb/classicgdbengine.cpp
	src/plugins/debugger/gdb/pythongdbengine.cpp
	src/plugins/debugger/lldblib/guest/lldbengineguest.cpp
	src/plugins/debugger/lldblib/guest/lldbengineguest.h
	src/plugins/debugger/lldblib/guest/main.cpp
	src/plugins/debugger/lldblib/ipcengineguest.cpp
	src/plugins/debugger/lldblib/ipcengineguest.h
	src/plugins/debugger/lldblib/ipcenginehost.cpp
	src/plugins/debugger/lldblib/ipcenginehost.h
	src/plugins/debugger/lldblib/lldbenginehost.cpp
	src/plugins/debugger/lldblib/lldboptionspage.cpp
	src/plugins/qbsprojectmanager/qbsstep.cpp
	src/plugins/qbsprojectmanager/qbsstep.h
	src/plugins/qmlprofiler/canvas/qdeclarativecanvas.cpp
	src/plugins/qmlprofiler/canvas/qdeclarativecanvas_p.h
	src/plugins/qmlprofiler/canvas/qdeclarativecontext2d.cpp
	src/plugins/qmlprofiler/canvas/qdeclarativecontext2d_p.h
	src/plugins/qmlprofiler/canvas/qmlprofilercanvas.cpp
	src/plugins/qnx/blackberrycheckdevmodestep.cpp
	src/plugins/qtsupport/debugginghelper.cpp

Change-Id: Ie9fd0a885fb6264a6a8a72daee071b75bcbd2e9d
2014-01-08 11:01:06 +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
Erik Verbruggen
ea1a92484a C++: split defines into project-defined and toolchain-defined.
So we can ignore possibly problematic toolchain-defines, while can still
unconditionally apply project-defines.

Change-Id: I7cb96f35a963d080011fe888ef71bfc098dd33ef
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-12-10 11:42:41 +01:00
Tobias Hunger
b9813b7c91 Qbs: Make "Reparse Qbs" force a reparsing
... even if Qt Creator thinks all is well.

Change-Id: I40fa61d51c8e18a389bedf7d8afb927bbb88acd5
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
2013-12-04 13:15:17 +01:00
Eike Ziller
8fe04ce0ad Merge remote-tracking branch 'origin/3.0' 2013-11-19 07:41:47 +01:00
Tobias Hunger
127c99ff01 Qbs: Finish qbs evaluation future watcher
Looks like you need to do that after canceling it... This stops
"Evaluation" progress bars from sticking around.

Change-Id: Ie0a9f88ba96cba261939c210fddb11bc43779416
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-11-15 17:33:09 +01:00
Eike Ziller
4538ccb46c Merge remote-tracking branch 'origin/3.0'
Conflicts:
	share/qtcreator/debugger/gdbbridge.py

Change-Id: I32d8158c475f927b50ef06fde9ab8189ebdbcbbc
2013-11-15 10:26:57 +01:00
Tobias Hunger
3655917b9e Qbs: Always display clean build path
Task-number: QTCREATORBUG-10749

Change-Id: I1a2e79ffbd952dcc9fded07aca22c9a36f0a2ec4
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-11-13 10:41:02 +01:00
Eike Ziller
242b7bd209 Merge remote-tracking branch 'origin/3.0' 2013-10-29 08:17:05 +01:00
Christian Kandeler
3c7af78448 QbsProjectManager: Fix overriding of properties.
We have to mark the user-set properties appropriately; otherwise,
properties in project files will not get overridden.

Change-Id: I3bcb013fde2b76521a85c3283e2b158beaf40b26
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-10-25 12:13:39 +02:00
Christian Kandeler
9aea8087a1 QbsProjectManager: Fix build config comparison.
The current code compares a flat map against the tree-ified version,
which will never be equal.

Change-Id: I99d82d87635e5ccacc5a5709bced9a30f62d4018
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-10-25 12:12:43 +02:00
Eike Ziller
c3119d1aa7 Merge remote-tracking branch 'origin/3.0'
Conflicts:
	qtcreator.pri
	src/plugins/qnx/qnxutils.cpp

Change-Id: I019ad21fb4c128eb736c8ab2d09310757e3be037
2013-10-24 08:56:29 +02:00
Tobias Hunger
9dd656914a Qbs: Fix memory leak in Qbs Project Manager
Make sure the root node of the project tree is actually deleted.

Change-Id: Idf32460d7b5d0518da9536084cccb074638cfce3
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-10-22 13:26:50 +02:00
Eike Ziller
4eabcdc8fd Merge remote-tracking branch 'origin/3.0'
Conflicts:
	qtcreator.pri
	qtcreator.qbs
	src/plugins/git/gitplugin.cpp
	src/plugins/qt4projectmanager/qmakeproject.cpp

Change-Id: Icbd485214b1add7869233dfe0dd9c6a76bddfc7d
2013-10-22 08:40:59 +02:00
Tobias Hunger
5126f01fd6 Qbs: Do not throw away old project data if parsing failed
Change-Id: Icc54abcfcee1f8deea5247d46d8d13b75741feda
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-10-21 14:27:35 +02:00
Christian Kandeler
c4c9b90b7f QbsProjectManager: Do not create a build graph when resolving a project.
People do not expect directories to be created as a side effect of
opening a project.

Task-number: QBS-304
Change-Id: I820a1311d534a4a76a4660588c4e9d71cc03f153
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-10-18 13:46:05 +02:00
Eike Ziller
8474a6f128 Merge remote-tracking branch 'origin/3.0' 2013-10-14 15:31:54 +02:00
hjk
f463c4dade ProjectExplorer: Make Project::id value based
Change-Id: Ie210d2a068158c6caaac66aae58cbd886f61c18d
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-10-14 13:35:59 +02:00
Christian Kandeler
69c4770e68 QbsProjectManager: Make sub-project files available in the locator.
They are currently ignored.

Change-Id: I9a13d37e857d03f988884031bbba81a7f3b95d02
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-10-10 17:30:52 +02:00
Daniel Teske
e462c9620d ProjectPart: Add meta information
Add displayname and project file path and a pointer back to the
project.

Change-Id: Ic9a18f52a6291493bd3a95fd3456ed0e1a3c63e3
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-10-01 16:31:36 +02:00
Nikolai Kosjar
8e62876f64 QbsProjectManager: Fix include
Change-Id: Ibe7f90fa7c4374c936dbe342ec2d3c056904d42b
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-09-18 17:00:39 +02:00
Tobias Hunger
d2adc30335 BuildConfigurationFactory: Refactor code
Refactor the code of the build configuration factories. The idea is to
generalize the code so much that we can allow plugins to install
custom build configuration factories for the platforms they support.

To support this use case the following changes where done here:
 * BuildInfo class was introduced to describe one build configuration that
   can be created by a factory.
 * Factories report a list of BuildInfo to describe what they can produce.
   This fixes the need for factories to implicitly create one buildconfiguration
   and then create another one 'officially' to support debug and release build
   configurations to be set up for projects.
 * Do no longer work around factories to create build configurations.

Change-Id: Ic372e4a9b5c582633b467d130538948472b89d91
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-09-17 12:00:01 +02:00
Christian Kandeler
3948f9d887 QbsProjectManager: Use qbs::Project as a value.
Those objects are shared data pointers that can (and should)
be used as values. This is now actually possible due to
the newly introduced public default constructor and
isValid() method.

Change-Id: I989e339bd495aa7581b01f17f00cbffe0b617b9c
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-09-11 16:27:26 +02:00
Christian Kandeler
3e6fcd6063 QbsProjectManager: Support using an installed qbs.
Distributions will want to make Creator work with
their qbs package instead of adding it a second time
via the submodule, so we support that by checking for
the QBS_INSTALL_DIR environment variable.
This supersedes the current mechanism using QBS_SOURCE_DIR
and QBS_BUILD_DIR.

Change-Id: I2cff651cd23ea47b1a1434e33f80cb74ca0fc96b
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-09-11 12:01:04 +02:00
Christian Kandeler
afbf8bd2f7 QbsProjectManager: Remove unneeded include statements.
These headers are not public anyway and must not be used outside of qbs.

Change-Id: I037b6d98bdd46e69b7337cf47f9328477b2d3351
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-09-09 16:35:11 +02:00
hjk
98917598d3 ProjectManager: Use Core::Id for progress types
Change-Id: I72993fda50ad70ad2d7c2f449923ac6e34b9e737
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-09-04 14:59:06 +02:00
Christian Kandeler
5b21ee5925 QbsProjectManager: Fix potential crashes when resolving a project.
First case: Re-parsing is requested while a project is being resolved.
The respective function can be entered more than once due to signal
callbacks, resulting in double deletion of the job object.
Second case: Closing Creator while a project is being resolved lets the
resolve job run unattended, resulting in a crash on exit.

Change-Id: I99e034a211ebe730dd02096ce76d601fbc848f5c
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-09-03 16:24:31 +02:00
Christian Kandeler
f27b738f65 QbsProjectManager: Add support for remote targets.
After parsing, we tell the target about deployable files
and executables, so it can make use of that information
for deployment and remote execution, respectively.
In addition, the current default deploy configuration (consisting of
just an install step) is now set up only for the desktop device,
since other targets will likely provide specialized deployment
solutions.
The most noticeable effect of this patch is that the RemoteLinux
target and its descendants now work out of the box with qbs projects.

Change-Id: I512d4e215f2fa540efd4de5f5c1e53abaa0596d1
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-09-03 16:23:32 +02:00
hjk
df36184371 Core: Static pattern for ProgressManager, clean up all users
Change-Id: I4af8793ca69a3af9e99baeb7c31dad3864266f91
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-09-02 12:41:47 +02:00
hjk
99f22de6ba TaskHub: Add convenience function to add a task and clean up users
Change-Id: I5c76f8af720092d4e47b1a9fa889fb3a7010f21f
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-08-30 12:44:10 +02:00
hjk
68537ef0f3 Core: Force use of static DocumentManager interface
Change-Id: Ieb2c0ecd3d34a3aad653c6eb5b00bc20d2c61986
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-08-30 11:27:55 +02:00
Tobias Hunger
a7bb77288d BC: Move builddirectory handling into BC itself
Use setBuildDirectory() in the different BuildConfigurations instead
of reimplementing that over and over again.

Change-Id: Ic355fdb4624c71667ce470b3e2865c9a8722ef09
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-08-28 11:41:38 +02:00
Tobias Hunger
95859289b8 KitManager: Use static API as other singletons do
Change-Id: Ia49c6552a5aae72870687ef9c64f2642fbe24155
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-08-21 16:55:16 +02:00
Tobias Hunger
c821e7c5ed Qbs: Do not clean compiler issues when reparsing
Task-number: QTCREATORBUG-9979

Change-Id: If66146a6a5764b916470426e094c9f3f617ef2cd
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2013-08-20 12:20:03 +02:00
Tobias Hunger
85b2017a69 TaskHub: Move code to be more conform with other singletons
Make methods static and add a instance() method for Signals/Slots.

Remove ProjectExplorerPlugin::taskHub() method and use the new
ones instead.

Change-Id: Ifae24ff19579fc524cbd61bddc826095c443adfa
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-08-19 11:24:32 +02:00
Tobias Hunger
27b4802988 UiCodemodel support for qbs
Change-Id: I0c83f3bb5c1c127169d695f42c169f4e28d1b06d
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-08-09 15:24:35 +02:00
hjk
d0eb10582b TaskHub: De-noise user code
Change-Id: Ieb559e884fb08c96d739cf7684389ff740a6233e
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-08-02 12:06:32 +02:00
Oswald Buddenhagen
6896546ba5 Merge remote-tracking branch 'origin/2.8'
Conflicts:
	src/plugins/cpptools/cppmodelmanager.cpp

Change-Id: I0e69dfad951eb81d8008f5ca05e8fb6999ae2c8a
2013-07-25 13:18:31 +02:00
Nikolai Kosjar
072b7c5718 CppTools: Check if project has changed before reparsing
This introduces an API change for the project managers. Those are not
expected to call updateSourceFiles() anymore.

Task-number: QTCREATORBUG-9581
Change-Id: I77befd29fb851c9acf87204d571da00183c9cd05
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-07-22 08:33:52 +02:00