diff --git a/src/plugins/android/androidconfigurations.h b/src/plugins/android/androidconfigurations.h
index 50dce7a3edf18ac792edc964c52ec74c10199cf5..1c3e6dd9fb5d0496497c0fadf42f05a9187b66e3 100644
--- a/src/plugins/android/androidconfigurations.h
+++ b/src/plugins/android/androidconfigurations.h
@@ -34,6 +34,7 @@
 #include <QString>
 #include <QVector>
 #include <projectexplorer/abi.h>
+#include <utils/fileutils.h>
 
 QT_BEGIN_NAMESPACE
 class QSettings;
diff --git a/src/plugins/android/androiddebugsupport.cpp b/src/plugins/android/androiddebugsupport.cpp
index c5eb00bdf6f0dc01b8389f0b41b6c9a63d5284ac..cc857ad3d3488bb816a47ecb4ee694da8284e72c 100644
--- a/src/plugins/android/androiddebugsupport.cpp
+++ b/src/plugins/android/androiddebugsupport.cpp
@@ -41,6 +41,7 @@
 #include <debugger/debuggerstartparameters.h>
 
 #include <projectexplorer/target.h>
+#include <projectexplorer/toolchain.h>
 #include <qt4projectmanager/qt4buildconfiguration.h>
 #include <qt4projectmanager/qt4nodes.h>
 #include <qt4projectmanager/qt4project.h>
diff --git a/src/plugins/android/androiddeployconfiguration.cpp b/src/plugins/android/androiddeployconfiguration.cpp
index acde41614736a2935faebc3f0db84957d9250ed2..9c8305e3ab278c87ee9cf027cc1c2f03e6e28df3 100644
--- a/src/plugins/android/androiddeployconfiguration.cpp
+++ b/src/plugins/android/androiddeployconfiguration.cpp
@@ -36,6 +36,7 @@
 
 #include <projectexplorer/buildsteplist.h>
 #include <projectexplorer/target.h>
+#include <projectexplorer/toolchain.h>
 
 #include <qt4projectmanager/qt4project.h>
 #include <qtsupport/qtkitinformation.h>
diff --git a/src/plugins/autotoolsprojectmanager/autotoolsproject.cpp b/src/plugins/autotoolsprojectmanager/autotoolsproject.cpp
index 13a10c6b7108439f30739c18667b3b38d1e849ff..7c32db3ae7dabd87d1b761e18f286a605cf406d1 100644
--- a/src/plugins/autotoolsprojectmanager/autotoolsproject.cpp
+++ b/src/plugins/autotoolsprojectmanager/autotoolsproject.cpp
@@ -40,12 +40,14 @@
 #include "makefileparserthread.h"
 
 #include <projectexplorer/abi.h>
+#include <projectexplorer/toolchain.h>
 #include <projectexplorer/kitmanager.h>
 #include <projectexplorer/kitinformation.h>
 #include <projectexplorer/buildconfiguration.h>
 #include <projectexplorer/buildsteplist.h>
 #include <projectexplorer/projectexplorerconstants.h>
 #include <projectexplorer/target.h>
+#include <projectexplorer/headerpath.h>
 #include <extensionsystem/pluginmanager.h>
 #include <cpptools/ModelManagerInterface.h>
 #include <coreplugin/icore.h>
diff --git a/src/plugins/debugger/debuggerdialogs.cpp b/src/plugins/debugger/debuggerdialogs.cpp
index 561e1ef78e280392f71ea3b9cd7e09081e7d8d09..1916bc454ca673085077d267852fc41bfaff4d0d 100644
--- a/src/plugins/debugger/debuggerdialogs.cpp
+++ b/src/plugins/debugger/debuggerdialogs.cpp
@@ -35,6 +35,7 @@
 #include "cdb/cdbengine.h"
 
 #include <coreplugin/icore.h>
+#include <projectexplorer/toolchain.h>
 #include <utils/pathchooser.h>
 #include <utils/fancylineedit.h>
 #include <utils/qtcassert.h>
diff --git a/src/plugins/debugger/debuggerkitinformation.cpp b/src/plugins/debugger/debuggerkitinformation.cpp
index 28f91f8eb9ae6f2aad24ddecf92ef52ae00307bf..0305bb50a210d110732941950d73f2b3e111ff3b 100644
--- a/src/plugins/debugger/debuggerkitinformation.cpp
+++ b/src/plugins/debugger/debuggerkitinformation.cpp
@@ -33,6 +33,7 @@
 
 #include <projectexplorer/abi.h>
 #include <projectexplorer/projectexplorerconstants.h>
+#include <projectexplorer/toolchain.h>
 #include <projectexplorer/toolchainmanager.h>
 
 #include <utils/environment.h>
diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp
index e1e95fb9e23af3d9cb22f46186448adceaf5d813..fcf0b9090b112bbf76b51b324e3b4018d7776f34 100644
--- a/src/plugins/debugger/debuggerplugin.cpp
+++ b/src/plugins/debugger/debuggerplugin.cpp
@@ -82,6 +82,7 @@
 
 #include <projectexplorer/localapplicationrunconfiguration.h>
 #include <projectexplorer/buildmanager.h>
+#include <projectexplorer/toolchain.h>
 #include <projectexplorer/devicesupport/deviceprocesslist.h>
 #include <projectexplorer/devicesupport/deviceprocessesdialog.h>
 #include <projectexplorer/projectexplorer.h>
diff --git a/src/plugins/debugger/gdb/startgdbserverdialog.cpp b/src/plugins/debugger/gdb/startgdbserverdialog.cpp
index 6c9d52a834311db3eda322ba63492becaa546d7e..774ae0948fd6e6e23d39ba47e3ada0dfe09b95e3 100644
--- a/src/plugins/debugger/gdb/startgdbserverdialog.cpp
+++ b/src/plugins/debugger/gdb/startgdbserverdialog.cpp
@@ -36,6 +36,7 @@
 #include "debuggerstartparameters.h"
 
 #include <projectexplorer/kitchooser.h>
+#include <projectexplorer/devicesupport/deviceprocesslist.h>
 #include <projectexplorer/devicesupport/deviceprocessesdialog.h>
 #include <projectexplorer/devicesupport/deviceusedportsgatherer.h>
 #include <ssh/sshremoteprocessrunner.h>
diff --git a/src/plugins/debugger/logwindow.cpp b/src/plugins/debugger/logwindow.cpp
index 132eb9b90d420eeec546b6914cbefcbdb1775c75..5177150b4dae42fb5ea3e4db5baca0d809a926ce 100644
--- a/src/plugins/debugger/logwindow.cpp
+++ b/src/plugins/debugger/logwindow.cpp
@@ -50,6 +50,7 @@
 
 #include <utils/savedaction.h>
 #include <utils/fancylineedit.h>
+#include <utils/fileutils.h>
 
 namespace Debugger {
 namespace Internal {
diff --git a/src/plugins/genericprojectmanager/genericprojectnodes.cpp b/src/plugins/genericprojectmanager/genericprojectnodes.cpp
index 5e3016ea33138eafbcf2e901ad2e02c127dcb747..192e1c9f4597a26ce710fa7ec012e366cba5bd36 100644
--- a/src/plugins/genericprojectmanager/genericprojectnodes.cpp
+++ b/src/plugins/genericprojectmanager/genericprojectnodes.cpp
@@ -30,6 +30,7 @@
 #include "genericprojectnodes.h"
 #include "genericproject.h"
 
+#include <utils/fileutils.h>
 #include <coreplugin/idocument.h>
 #include <projectexplorer/projectexplorer.h>
 
diff --git a/src/plugins/madde/maemopublisherfremantlefree.cpp b/src/plugins/madde/maemopublisherfremantlefree.cpp
index 2656fa953cab3ed15add2fae686d0f778a355e99..d5dd05fade61158cd33cb4921560f52490422aaa 100644
--- a/src/plugins/madde/maemopublisherfremantlefree.cpp
+++ b/src/plugins/madde/maemopublisherfremantlefree.cpp
@@ -38,6 +38,7 @@
 #include <coreplugin/idocument.h>
 #include <projectexplorer/project.h>
 #include <projectexplorer/target.h>
+#include <projectexplorer/toolchain.h>
 #include <qt4projectmanager/qmakestep.h>
 #include <qt4projectmanager/qt4buildconfiguration.h>
 #include <qtsupport/baseqtversion.h>
diff --git a/src/plugins/projectexplorer/abi.cpp b/src/plugins/projectexplorer/abi.cpp
index 44e37d0581710b6afbb9531c774f9e2e9df0ac92..c9551fbd2fddf185cf28e66b798cb8b05530ed2e 100644
--- a/src/plugins/projectexplorer/abi.cpp
+++ b/src/plugins/projectexplorer/abi.cpp
@@ -29,7 +29,8 @@
 
 #include "abi.h"
 
-#include <QCoreApplication>
+#include <utils/fileutils.h>
+
 #include <QDebug>
 #include <QtEndian>
 #include <QFile>
diff --git a/src/plugins/projectexplorer/abi.h b/src/plugins/projectexplorer/abi.h
index edbf466302ca16a9d1e562f4799e8b2eb32489de..2182da89e13fcce5de411a0981815bf270dc3888 100644
--- a/src/plugins/projectexplorer/abi.h
+++ b/src/plugins/projectexplorer/abi.h
@@ -32,10 +32,10 @@
 
 #include "projectexplorer_export.h"
 
-#include <utils/fileutils.h>
-
 #include <QList>
 
+namespace Utils { class FileName; }
+
 namespace ProjectExplorer {
 
 // --------------------------------------------------------------------------
diff --git a/src/plugins/projectexplorer/abstractmsvctoolchain.cpp b/src/plugins/projectexplorer/abstractmsvctoolchain.cpp
index ed063ce1aaf374ebfd1d933e3d1b126b9c462d14..9d0e6265906a421809394b6d91a274a0a5a9b802 100644
--- a/src/plugins/projectexplorer/abstractmsvctoolchain.cpp
+++ b/src/plugins/projectexplorer/abstractmsvctoolchain.cpp
@@ -33,14 +33,10 @@
 
 #include <projectexplorer/projectexplorer.h>
 #include <projectexplorer/projectexplorersettings.h>
-#include <projectexplorer/gcctoolchain.h>
 
-
-#include <utils/fileutils.h>
 #include <utils/qtcprocess.h>
 #include <utils/synchronousprocess.h>
 
-#include <QFileInfo>
 #include <QDir>
 #include <QTemporaryFile>
 
diff --git a/src/plugins/projectexplorer/abstractmsvctoolchain.h b/src/plugins/projectexplorer/abstractmsvctoolchain.h
index 909954c91dc879e8a9b48bd349ec4955c2ebd462..a35aea1d56959a04277edb80ea612af5f33ffe12 100644
--- a/src/plugins/projectexplorer/abstractmsvctoolchain.h
+++ b/src/plugins/projectexplorer/abstractmsvctoolchain.h
@@ -32,8 +32,10 @@
 
 #include "toolchain.h"
 #include "abi.h"
+#include "headerpath.h"
 
 #include <utils/environment.h>
+#include <utils/fileutils.h>
 
 namespace ProjectExplorer {
 namespace Internal {
diff --git a/src/plugins/projectexplorer/abstractprocessstep.cpp b/src/plugins/projectexplorer/abstractprocessstep.cpp
index 0b2acf08db2162596a54a7cd0583ffba663bd585..a025d03a0ca8d9054b4333f3d628880bbcf1318c 100644
--- a/src/plugins/projectexplorer/abstractprocessstep.cpp
+++ b/src/plugins/projectexplorer/abstractprocessstep.cpp
@@ -29,17 +29,14 @@
 
 #include "abstractprocessstep.h"
 #include "ansifilterparser.h"
-#include "buildconfiguration.h"
 #include "buildstep.h"
 #include "ioutputparser.h"
 #include "project.h"
-#include "target.h"
 #include "task.h"
 
 #include <utils/qtcassert.h>
 #include <utils/qtcprocess.h>
 
-#include <QEventLoop>
 #include <QTimer>
 #include <QDir>
 
diff --git a/src/plugins/projectexplorer/allprojectsfilter.cpp b/src/plugins/projectexplorer/allprojectsfilter.cpp
index b65fb5bdc5df0990dbe9c7f6ac2db4360c3b40c3..4c858928651345c6f6744e1f15ae0ebb9aeffc24 100644
--- a/src/plugins/projectexplorer/allprojectsfilter.cpp
+++ b/src/plugins/projectexplorer/allprojectsfilter.cpp
@@ -32,8 +32,6 @@
 #include "session.h"
 #include "project.h"
 
-#include <QVariant>
-
 using namespace Core;
 using namespace Locator;
 using namespace ProjectExplorer;
diff --git a/src/plugins/projectexplorer/allprojectsfilter.h b/src/plugins/projectexplorer/allprojectsfilter.h
index 68756d7bb00f6d84decb581cb6cf051a4903aed8..fcab19fafc825542cea6fcd0d7021e4f3c395dab 100644
--- a/src/plugins/projectexplorer/allprojectsfilter.h
+++ b/src/plugins/projectexplorer/allprojectsfilter.h
@@ -33,7 +33,6 @@
 #include <locator/basefilefilter.h>
 
 #include <QFutureInterface>
-#include <QString>
 
 namespace ProjectExplorer {
 
diff --git a/src/plugins/projectexplorer/allprojectsfind.cpp b/src/plugins/projectexplorer/allprojectsfind.cpp
index de57f23f193587a6bb6b5a5efb6eea044bf520bc..dbb99c2488f50c28710c8b7c4b6dc4eb89a6bf20 100644
--- a/src/plugins/projectexplorer/allprojectsfind.cpp
+++ b/src/plugins/projectexplorer/allprojectsfind.cpp
@@ -34,16 +34,13 @@
 #include "projectexplorer.h"
 #include "editorconfiguration.h"
 
-#include <utils/qtcassert.h>
 #include <texteditor/itexteditor.h>
-#include <coreplugin/editormanager/editormanager.h>
 
 #include <QSettings>
 #include <QRegExp>
 
 #include <QGridLayout>
 #include <QLabel>
-#include <QHBoxLayout>
 
 using namespace Find;
 using namespace ProjectExplorer;
diff --git a/src/plugins/projectexplorer/applicationlauncher.cpp b/src/plugins/projectexplorer/applicationlauncher.cpp
index fbcfc7ec70a447663e62051106b52b8eff59a87c..51d87a5fceb937e38beb947917fef565a8d48731 100644
--- a/src/plugins/projectexplorer/applicationlauncher.cpp
+++ b/src/plugins/projectexplorer/applicationlauncher.cpp
@@ -40,14 +40,12 @@
 #include <utils/winutils.h>
 #endif
 
-#include <QTimer>
 #include <QTextCodec>
 
 #ifdef Q_OS_WIN
 #include <windows.h>
 #endif
 
-#include "projectexplorerconstants.h"
 #include "projectexplorer.h"
 #include "projectexplorersettings.h"
 
diff --git a/src/plugins/projectexplorer/appoutputpane.cpp b/src/plugins/projectexplorer/appoutputpane.cpp
index 979857fa6b1aa019d0548e0c0d151293acf04553..bde2997579154c3d1ed0d04f2fc7694d7a0d501d 100644
--- a/src/plugins/projectexplorer/appoutputpane.cpp
+++ b/src/plugins/projectexplorer/appoutputpane.cpp
@@ -28,26 +28,21 @@
 ****************************************************************************/
 
 #include "appoutputpane.h"
-#include "projectexplorerconstants.h"
 #include "projectexplorer.h"
 #include "projectexplorersettings.h"
 #include "runconfiguration.h"
 #include "session.h"
 
 #include <coreplugin/actionmanager/actionmanager.h>
-#include <coreplugin/actionmanager/command.h>
 #include <coreplugin/coreconstants.h>
-#include <coreplugin/icore.h>
-#include <coreplugin/icontext.h>
+#include <coreplugin/outputwindow.h>
 #include <find/basetextfind.h>
-#include <aggregation/aggregate.h>
 #include <texteditor/fontsettings.h>
 #include <texteditor/texteditorsettings.h>
 #include <extensionsystem/pluginmanager.h>
 #include <extensionsystem/invoker.h>
 
 #include <utils/qtcassert.h>
-#include <utils/outputformatter.h>
 
 #include <QAction>
 #include <QVBoxLayout>
diff --git a/src/plugins/projectexplorer/appoutputpane.h b/src/plugins/projectexplorer/appoutputpane.h
index 211dee6eb90ddf48225fa929c75885e600ac2f82..1263a89585a928920dc08cc87098180937f22a16 100644
--- a/src/plugins/projectexplorer/appoutputpane.h
+++ b/src/plugins/projectexplorer/appoutputpane.h
@@ -30,15 +30,19 @@
 #ifndef APPOUTPUTPANE_H
 #define APPOUTPUTPANE_H
 
-#include <coreplugin/outputwindow.h>
 #include <coreplugin/ioutputpane.h>
 
+#include <utils/outputformat.h>
+
 QT_BEGIN_NAMESPACE
 class QTabWidget;
 class QToolButton;
 class QAction;
+class QPoint;
 QT_END_NAMESPACE
 
+namespace Core { class OutputWindow; }
+
 namespace ProjectExplorer {
 
 class RunControl;
diff --git a/src/plugins/projectexplorer/baseprojectwizarddialog.cpp b/src/plugins/projectexplorer/baseprojectwizarddialog.cpp
index 619f98986af7bba22ce3bbf34315dbe002995d7e..cfaf30c94f8630a5199f493f04b76b662e14b47c 100644
--- a/src/plugins/projectexplorer/baseprojectwizarddialog.cpp
+++ b/src/plugins/projectexplorer/baseprojectwizarddialog.cpp
@@ -29,8 +29,6 @@
 
 #include "baseprojectwizarddialog.h"
 
-#include <coreplugin/basefilewizard.h>
-#include <coreplugin/icore.h>
 #include <coreplugin/documentmanager.h>
 #include <utils/projectintropage.h>
 
diff --git a/src/plugins/projectexplorer/baseprojectwizarddialog.h b/src/plugins/projectexplorer/baseprojectwizarddialog.h
index 3320fe4a808d838edf6ae98cd1ebbc7d22fd1cb1..1a2cfe051cf78977663ca176e2bbf24a3f452bd0 100644
--- a/src/plugins/projectexplorer/baseprojectwizarddialog.h
+++ b/src/plugins/projectexplorer/baseprojectwizarddialog.h
@@ -31,12 +31,9 @@
 #define BASEPROJECTWIZARDDIALOG_H
 
 #include "projectexplorer_export.h"
-#include <coreplugin/featureprovider.h>
 #include <coreplugin/basefilewizard.h>
 #include <utils/wizard.h>
 
-#include <QWizard>
-
 namespace Utils {
     class ProjectIntroPage;
 }
diff --git a/src/plugins/projectexplorer/buildconfiguration.cpp b/src/plugins/projectexplorer/buildconfiguration.cpp
index 5d9dd7f2f640d1c279bf15bb04e46a0d88329c3c..0f0754d9ccc64c87b9a0a1668591d0f1a3210db6 100644
--- a/src/plugins/projectexplorer/buildconfiguration.cpp
+++ b/src/plugins/projectexplorer/buildconfiguration.cpp
@@ -29,10 +29,8 @@
 
 #include "buildconfiguration.h"
 
-#include "buildmanager.h"
 #include "buildsteplist.h"
 #include "projectexplorer.h"
-#include "projectexplorerconstants.h"
 #include "kitmanager.h"
 #include "target.h"
 #include "project.h"
@@ -45,8 +43,6 @@
 #include <utils/qtcassert.h>
 #include <utils/stringutils.h>
 
-#include <QProcess>
-
 static const char BUILD_STEP_LIST_COUNT[] = "ProjectExplorer.BuildConfiguration.BuildStepListCount";
 static const char BUILD_STEP_LIST_PREFIX[] = "ProjectExplorer.BuildConfiguration.BuildStepList.";
 static const char CLEAR_SYSTEM_ENVIRONMENT_KEY[] = "ProjectExplorer.BuildConfiguration.ClearSystemEnvironment";
diff --git a/src/plugins/projectexplorer/buildconfiguration.h b/src/plugins/projectexplorer/buildconfiguration.h
index c07c483b7d27781fc03a9948e592c8dffc4e593f..b778229784a114e063c50012b6d26148aba6c417 100644
--- a/src/plugins/projectexplorer/buildconfiguration.h
+++ b/src/plugins/projectexplorer/buildconfiguration.h
@@ -35,8 +35,6 @@
 
 #include <utils/environment.h>
 
-#include <QStringList>
-
 namespace Utils {
 class AbstractMacroExpander;
 }
diff --git a/src/plugins/projectexplorer/buildenvironmentwidget.cpp b/src/plugins/projectexplorer/buildenvironmentwidget.cpp
index a37312dc57401d24fc56c74f2c56651f876db002..fb4faa01b67d8a468ad27f29168efae75e0be0c4 100644
--- a/src/plugins/projectexplorer/buildenvironmentwidget.cpp
+++ b/src/plugins/projectexplorer/buildenvironmentwidget.cpp
@@ -33,7 +33,6 @@
 #include "environmentwidget.h"
 
 #include <projectexplorer/target.h>
-#include <utils/qtcassert.h>
 
 #include <QVBoxLayout>
 #include <QCheckBox>
diff --git a/src/plugins/projectexplorer/buildenvironmentwidget.h b/src/plugins/projectexplorer/buildenvironmentwidget.h
index 07e3976f83ea18d77ea2fe5c5bd02d7115e82ae3..8c49c69d3a90a108d63e1bb251175fb2498243d7 100644
--- a/src/plugins/projectexplorer/buildenvironmentwidget.h
+++ b/src/plugins/projectexplorer/buildenvironmentwidget.h
@@ -30,7 +30,6 @@
 #ifndef BUILDENVIRONMENTWIDGET_H
 #define BUILDENVIRONMENTWIDGET_H
 
-#include <projectexplorer/buildstep.h>
 #include <projectexplorer/namedwidget.h>
 
 QT_BEGIN_NAMESPACE
diff --git a/src/plugins/projectexplorer/buildmanager.cpp b/src/plugins/projectexplorer/buildmanager.cpp
index 2705e80ed92cda6767206c8154f600ed85676219..f450f6727a15a2c43729dfd9d78ba8a5500bf2e3 100644
--- a/src/plugins/projectexplorer/buildmanager.cpp
+++ b/src/plugins/projectexplorer/buildmanager.cpp
@@ -32,7 +32,6 @@
 #include "buildprogress.h"
 #include "buildsteplist.h"
 #include "compileoutputwindow.h"
-#include "projectexplorerconstants.h"
 #include "projectexplorer.h"
 #include "project.h"
 #include "projectexplorersettings.h"
@@ -45,13 +44,10 @@
 #include <coreplugin/progressmanager/futureprogress.h>
 #include <projectexplorer/session.h>
 #include <extensionsystem/pluginmanager.h>
-#include <utils/qtcassert.h>
 
-#include <QDir>
 #include <QPointer>
 #include <QTime>
 #include <QTimer>
-#include <QMetaType>
 #include <QList>
 #include <QHash>
 #include <QFutureWatcher>
diff --git a/src/plugins/projectexplorer/buildprogress.cpp b/src/plugins/projectexplorer/buildprogress.cpp
index 158de4628301cf081dc6f9f4dbb758c80795072f..1f83cbe0c9011497f366ef37df7fad59cd23d6d7 100644
--- a/src/plugins/projectexplorer/buildprogress.cpp
+++ b/src/plugins/projectexplorer/buildprogress.cpp
@@ -34,6 +34,7 @@
 
 #include <QVBoxLayout>
 #include <QHBoxLayout>
+#include <QLabel>
 #include <QFont>
 #include <QPixmap>
 #include <QDebug>
diff --git a/src/plugins/projectexplorer/buildprogress.h b/src/plugins/projectexplorer/buildprogress.h
index e6440f94b5b977ce18efe1e62496de5bb2851ada..2535f5e54180a272c997968db6a4e85e45e9dc57 100644
--- a/src/plugins/projectexplorer/buildprogress.h
+++ b/src/plugins/projectexplorer/buildprogress.h
@@ -34,7 +34,8 @@
 
 #include <QPointer>
 #include <QWidget>
-#include <QLabel>
+
+QT_FORWARD_DECLARE_CLASS(QLabel)
 
 namespace ProjectExplorer {
 namespace Internal {
diff --git a/src/plugins/projectexplorer/buildsettingspropertiespage.cpp b/src/plugins/projectexplorer/buildsettingspropertiespage.cpp
index bb07f50b496b5365cee9f441a3da5be8fa6821cc..2469430da4ad280926d8e4124a4a2bd82daa528f 100644
--- a/src/plugins/projectexplorer/buildsettingspropertiespage.cpp
+++ b/src/plugins/projectexplorer/buildsettingspropertiespage.cpp
@@ -28,22 +28,17 @@
 ****************************************************************************/
 
 #include "buildsettingspropertiespage.h"
-#include "buildstep.h"
 #include "buildstepspage.h"
 #include "project.h"
-#include "projectexplorerconstants.h"
 #include "target.h"
 #include "buildconfiguration.h"
 #include "buildconfigurationmodel.h"
 
-#include <coreplugin/coreconstants.h>
-#include <extensionsystem/pluginmanager.h>
 #include <utils/qtcassert.h>
 #include <projectexplorer/projectexplorer.h>
 #include <projectexplorer/buildmanager.h>
 
 #include <QMargins>
-#include <QTimer>
 #include <QCoreApplication>
 #include <QComboBox>
 #include <QInputDialog>
diff --git a/src/plugins/projectexplorer/buildsettingspropertiespage.h b/src/plugins/projectexplorer/buildsettingspropertiespage.h
index 32f214e771d81772616b7503a15f74bad5899fc5..42fd178bc3f4c0d500dfeafde1767c839a251b4c 100644
--- a/src/plugins/projectexplorer/buildsettingspropertiespage.h
+++ b/src/plugins/projectexplorer/buildsettingspropertiespage.h
@@ -33,7 +33,6 @@
 #include "iprojectproperties.h"
 
 #include <QWidget>
-#include <QIcon>
 
 QT_BEGIN_NAMESPACE
 class QComboBox;
diff --git a/src/plugins/projectexplorer/buildstepspage.cpp b/src/plugins/projectexplorer/buildstepspage.cpp
index aff53ec4358d1a34b56aa2d4e3969db62f1f1466..bcc2b3d0fd27b813355cef7f48affb37daeacba3 100644
--- a/src/plugins/projectexplorer/buildstepspage.cpp
+++ b/src/plugins/projectexplorer/buildstepspage.cpp
@@ -33,7 +33,6 @@
 #include "buildsteplist.h"
 #include "projectexplorerconstants.h"
 
-#include <coreplugin/coreconstants.h>
 #include <coreplugin/icore.h>
 #include <extensionsystem/pluginmanager.h>
 #include <utils/qtcassert.h>
@@ -42,7 +41,6 @@
 
 #include <QSignalMapper>
 
-#include <QPropertyAnimation>
 #include <QLabel>
 #include <QPushButton>
 #include <QMenu>
@@ -50,7 +48,6 @@
 #include <QHBoxLayout>
 #include <QToolButton>
 #include <QMessageBox>
-#include <QGraphicsOpacityEffect>
 
 using namespace ProjectExplorer;
 using namespace ProjectExplorer::Internal;
diff --git a/src/plugins/projectexplorer/buildstepspage.h b/src/plugins/projectexplorer/buildstepspage.h
index ee8222d7eca783b89ba1e238e9af86df1dcb8eea..2162d01bdd24e51d7f861d0392c345818221a3c2 100644
--- a/src/plugins/projectexplorer/buildstepspage.h
+++ b/src/plugins/projectexplorer/buildstepspage.h
@@ -31,7 +31,6 @@
 #define BUILDSTEPSPAGE_H
 
 #include "buildstep.h"
-#include "deployconfiguration.h"
 #include "namedwidget.h"
 #include <utils/detailsbutton.h>
 
diff --git a/src/plugins/projectexplorer/cesdkhandler.cpp b/src/plugins/projectexplorer/cesdkhandler.cpp
index 8cb5ec6fcbe8e5c77edff2ca53c04b62a569a821..b6b245cfd360826ab77915014736c1815d17c528 100644
--- a/src/plugins/projectexplorer/cesdkhandler.cpp
+++ b/src/plugins/projectexplorer/cesdkhandler.cpp
@@ -31,8 +31,8 @@
 
 #include <utils/environment.h>
 
-#include <QFile>
 #include <QDebug>
+#include <QFile>
 #include <QXmlStreamReader>
 
 using namespace ProjectExplorer;
diff --git a/src/plugins/projectexplorer/cesdkhandler.h b/src/plugins/projectexplorer/cesdkhandler.h
index a37dc38f5f5c82e6fbacd0fd18c8b4fb90927dfb..dd0ac332015836ff86efc0da163fd0737831331e 100644
--- a/src/plugins/projectexplorer/cesdkhandler.h
+++ b/src/plugins/projectexplorer/cesdkhandler.h
@@ -32,7 +32,6 @@
 
 #include <projectexplorer/projectexplorer.h>
 
-#include <QStringList>
 #include <QDir>
 
 namespace Utils {
diff --git a/src/plugins/projectexplorer/clangparser.cpp b/src/plugins/projectexplorer/clangparser.cpp
index 6de86dc241a0583cd5a76c691ad7fa587ef07bd9..eab8e37d4952039cbba26a923ed7aa0017b02495 100644
--- a/src/plugins/projectexplorer/clangparser.cpp
+++ b/src/plugins/projectexplorer/clangparser.cpp
@@ -29,7 +29,6 @@
 
 #include "clangparser.h"
 #include "ldparser.h"
-#include "taskwindow.h"
 #include "projectexplorerconstants.h"
 
 using namespace ProjectExplorer;
diff --git a/src/plugins/projectexplorer/codestylesettingspropertiespage.cpp b/src/plugins/projectexplorer/codestylesettingspropertiespage.cpp
index 51cc900a770f630f5b7d357b02e8fab7c8521772..839feef5ac33de89bfd18fafa829cf7a729f1aaf 100644
--- a/src/plugins/projectexplorer/codestylesettingspropertiespage.cpp
+++ b/src/plugins/projectexplorer/codestylesettingspropertiespage.cpp
@@ -34,8 +34,6 @@
 #include <texteditor/icodestylepreferencesfactory.h>
 #include <texteditor/codestyleeditor.h>
 
-#include <QTextCodec>
-
 using namespace TextEditor;
 using namespace ProjectExplorer;
 using namespace ProjectExplorer::Internal;
diff --git a/src/plugins/projectexplorer/compileoutputwindow.cpp b/src/plugins/projectexplorer/compileoutputwindow.cpp
index 81ae4b9613667469f3beded89607e5df59f9cebc..cc3073b7f706d206957605d31bba2a2394b6f436 100644
--- a/src/plugins/projectexplorer/compileoutputwindow.cpp
+++ b/src/plugins/projectexplorer/compileoutputwindow.cpp
@@ -31,25 +31,20 @@
 #include "buildmanager.h"
 #include "showoutputtaskhandler.h"
 #include "task.h"
-#include "projectexplorerconstants.h"
 #include "projectexplorer.h"
 #include "projectexplorersettings.h"
 #include "taskhub.h"
 
-#include <coreplugin/icontext.h>
+#include <coreplugin/outputwindow.h>
 #include <find/basetextfind.h>
-#include <aggregation/aggregate.h>
 #include <extensionsystem/pluginmanager.h>
 #include <texteditor/texteditorsettings.h>
 #include <texteditor/fontsettings.h>
 
-#include <QKeyEvent>
 #include <QIcon>
 #include <QTextCharFormat>
 #include <QTextBlock>
 #include <QTextCursor>
-#include <QTextEdit>
-#include <QScrollBar>
 #include <QPlainTextEdit>
 #include <QToolButton>
 
diff --git a/src/plugins/projectexplorer/compileoutputwindow.h b/src/plugins/projectexplorer/compileoutputwindow.h
index 202fdbaf44f9fd976ad248c5ceb8a0e8cfe633a8..920b80986ccc60d634be39a5c4e4ffa5a3b144c3 100644
--- a/src/plugins/projectexplorer/compileoutputwindow.h
+++ b/src/plugins/projectexplorer/compileoutputwindow.h
@@ -31,7 +31,6 @@
 #define COMPILEOUTPUTWINDOW_H
 
 #include "buildstep.h"
-#include <coreplugin/outputwindow.h>
 #include <coreplugin/ioutputpane.h>
 
 #include <QHash>
diff --git a/src/plugins/projectexplorer/copytaskhandler.cpp b/src/plugins/projectexplorer/copytaskhandler.cpp
index ba8ae2948c303f060fbedb79d227b860f31b51cc..58c3f691ad242a445db09a2467456f64951d6248 100644
--- a/src/plugins/projectexplorer/copytaskhandler.cpp
+++ b/src/plugins/projectexplorer/copytaskhandler.cpp
@@ -30,12 +30,9 @@
 #include "copytaskhandler.h"
 
 #include "task.h"
-#include "taskwindow.h"
 
 #include <coreplugin/coreconstants.h>
-#include <coreplugin/actionmanager/actionmanager.h>
 
-#include <QDir>
 #include <QAction>
 #include <QApplication>
 #include <QClipboard>
diff --git a/src/plugins/projectexplorer/currentprojectfind.cpp b/src/plugins/projectexplorer/currentprojectfind.cpp
index 3ac9f87d4ed2f990f9e69b6a1d3bea6445618118..1a068a0b3f035aaf4a9c79e8c9a1622fc4774338 100644
--- a/src/plugins/projectexplorer/currentprojectfind.cpp
+++ b/src/plugins/projectexplorer/currentprojectfind.cpp
@@ -38,8 +38,6 @@
 
 #include <QDebug>
 #include <QSettings>
-#include <QLabel>
-#include <QHBoxLayout>
 
 using namespace Find;
 using namespace ProjectExplorer;
diff --git a/src/plugins/projectexplorer/customtoolchain.h b/src/plugins/projectexplorer/customtoolchain.h
index dcf3b09824bef47d8258c1d3eba659e2667dda46..2f2ee6ece61943823ad064052a067731360888d9 100644
--- a/src/plugins/projectexplorer/customtoolchain.h
+++ b/src/plugins/projectexplorer/customtoolchain.h
@@ -33,9 +33,12 @@
 #include "projectexplorer_export.h"
 
 #include "abi.h"
+#include "headerpath.h"
 #include "toolchain.h"
 #include "toolchainconfigwidget.h"
 
+#include <utils/fileutils.h>
+
 QT_BEGIN_NAMESPACE
 class QPlainTextEdit;
 class QTextEdit;
diff --git a/src/plugins/projectexplorer/customwizard/customwizard.cpp b/src/plugins/projectexplorer/customwizard/customwizard.cpp
index a2e8627d480203a2998296fe5754a895e8f0493e..58d6cf6c2a79870d851d838d035090adfaacb8cb 100644
--- a/src/plugins/projectexplorer/customwizard/customwizard.cpp
+++ b/src/plugins/projectexplorer/customwizard/customwizard.cpp
@@ -36,7 +36,6 @@
 
 #include <coreplugin/icore.h>
 #include <coreplugin/messagemanager.h>
-#include <extensionsystem/pluginmanager.h>
 #include <utils/fileutils.h>
 #include <utils/qtcassert.h>
 
diff --git a/src/plugins/projectexplorer/customwizard/customwizardparameters.cpp b/src/plugins/projectexplorer/customwizard/customwizardparameters.cpp
index 87d84c721fc361295a9186449f7a6bcb86dc67f7..241b40a0bf40396453162a8bdd016c250f5ec55b 100644
--- a/src/plugins/projectexplorer/customwizard/customwizardparameters.cpp
+++ b/src/plugins/projectexplorer/customwizard/customwizardparameters.cpp
@@ -39,7 +39,6 @@
 
 #include <QDebug>
 #include <QCoreApplication>
-#include <QLocale>
 #include <QFile>
 #include <QDir>
 #include <QFileInfo>
diff --git a/src/plugins/projectexplorer/customwizard/customwizardscriptgenerator.cpp b/src/plugins/projectexplorer/customwizard/customwizardscriptgenerator.cpp
index 438a20d20454d1ea8017f18b9ecb9b0e85305ec9..d475cdcbc1fd2596c365cde5215e8f4a47ded42c 100644
--- a/src/plugins/projectexplorer/customwizard/customwizardscriptgenerator.cpp
+++ b/src/plugins/projectexplorer/customwizard/customwizardscriptgenerator.cpp
@@ -32,7 +32,6 @@
 #include "customwizardparameters.h"
 
 #include <utils/hostosinfo.h>
-#include <utils/qtcassert.h>
 
 #include <QProcess>
 #include <QDir>
diff --git a/src/plugins/projectexplorer/dependenciespanel.cpp b/src/plugins/projectexplorer/dependenciespanel.cpp
index efc6dfcb3cd5278a3a4c16ed31040ac2a4f60c76..4e75ec1792f62074a6bbbf57b9cb86cedc3807d4 100644
--- a/src/plugins/projectexplorer/dependenciespanel.cpp
+++ b/src/plugins/projectexplorer/dependenciespanel.cpp
@@ -35,21 +35,14 @@
 #include <coreplugin/idocument.h>
 #include <utils/detailswidget.h>
 
-#include <QVector>
 #include <QDebug>
 #include <QSize>
 #include <QCoreApplication>
 
-#include <QLabel>
-#include <QApplication>
 #include <QHBoxLayout>
 #include <QTreeView>
 #include <QSpacerItem>
-#include <QHeaderView>
 #include <QMessageBox>
-#include <QPushButton>
-#include <QToolButton>
-#include <QWidget>
 
 namespace ProjectExplorer {
 namespace Internal {
diff --git a/src/plugins/projectexplorer/deployablefile.cpp b/src/plugins/projectexplorer/deployablefile.cpp
index 02110ce2fea2fe766bdbe75334a89388e2b0817a..84d70ad3a51e772c261440069de02a3890200b6f 100644
--- a/src/plugins/projectexplorer/deployablefile.cpp
+++ b/src/plugins/projectexplorer/deployablefile.cpp
@@ -31,7 +31,6 @@
 
 #include <QFileInfo>
 #include <QHash>
-#include <QPair>
 
 using namespace Utils;
 
diff --git a/src/plugins/projectexplorer/deployconfiguration.cpp b/src/plugins/projectexplorer/deployconfiguration.cpp
index e88bfb2b9e5cd9ff5b5bd35d2f889f5754789eb5..da09c466370aac0bd8963d91c7b445bc26249d1a 100644
--- a/src/plugins/projectexplorer/deployconfiguration.cpp
+++ b/src/plugins/projectexplorer/deployconfiguration.cpp
@@ -29,19 +29,14 @@
 
 #include "deployconfiguration.h"
 
-#include "buildmanager.h"
 #include "buildsteplist.h"
-#include "buildstepspage.h"
 #include "kitinformation.h"
 #include "project.h"
 #include "projectexplorer.h"
-#include "projectexplorerconstants.h"
 #include "target.h"
 
 #include <extensionsystem/pluginmanager.h>
 
-#include <QStringList>
-
 using namespace ProjectExplorer;
 
 namespace {
diff --git a/src/plugins/projectexplorer/deployconfiguration.h b/src/plugins/projectexplorer/deployconfiguration.h
index 846b1c05118940a5258ce44c1f0f7cd1067d6524..cf36f0922838484390a2a8d3375a89609b614f02 100644
--- a/src/plugins/projectexplorer/deployconfiguration.h
+++ b/src/plugins/projectexplorer/deployconfiguration.h
@@ -33,7 +33,6 @@
 #include "projectexplorer_export.h"
 
 #include "projectconfiguration.h"
-#include "namedwidget.h"
 
 #include <QString>
 
diff --git a/src/plugins/projectexplorer/devicesupport/devicefactoryselectiondialog.cpp b/src/plugins/projectexplorer/devicesupport/devicefactoryselectiondialog.cpp
index 812914902b113d90b2c8b6e8949714d570fed3f0..93625d2b9324348b8f659ae8f6537186bc7b3591 100644
--- a/src/plugins/projectexplorer/devicesupport/devicefactoryselectiondialog.cpp
+++ b/src/plugins/projectexplorer/devicesupport/devicefactoryselectiondialog.cpp
@@ -32,8 +32,9 @@
 #include "idevice.h"
 #include "idevicefactory.h"
 
+#include <coreplugin/id.h>
+
 #include <extensionsystem/pluginmanager.h>
-#include <utils/qtcassert.h>
 
 #include <QPushButton>
 
diff --git a/src/plugins/projectexplorer/devicesupport/devicefactoryselectiondialog.h b/src/plugins/projectexplorer/devicesupport/devicefactoryselectiondialog.h
index 89d3dd5c2d24ae82a8e31071215a7173a8677fd1..1ceb0565e7d159ad367a902d5317351685ee7b1e 100644
--- a/src/plugins/projectexplorer/devicesupport/devicefactoryselectiondialog.h
+++ b/src/plugins/projectexplorer/devicesupport/devicefactoryselectiondialog.h
@@ -30,10 +30,10 @@
 #ifndef DEVICEFACTORYSELECTIONDIALOG_H
 #define DEVICEFACTORYSELECTIONDIALOG_H
 
-#include <coreplugin/id.h>
-
 #include <QDialog>
 
+namespace Core { class Id; }
+
 namespace ProjectExplorer {
 class IDeviceFactory;
 
diff --git a/src/plugins/projectexplorer/devicesupport/devicemanager.cpp b/src/plugins/projectexplorer/devicesupport/devicemanager.cpp
index 6a0f08612476eccb1887fc88a9240bbb0bc72c19..bbfd502ec74d985cb88dbc011608ec8f86d6ffd0 100644
--- a/src/plugins/projectexplorer/devicesupport/devicemanager.cpp
+++ b/src/plugins/projectexplorer/devicesupport/devicemanager.cpp
@@ -31,18 +31,16 @@
 #include "idevicefactory.h"
 
 #include <coreplugin/icore.h>
-#include <coreplugin/id.h>
 #include <extensionsystem/pluginmanager.h>
 #include <projectexplorer/project.h>
+#include <utils/fileutils.h>
 #include <utils/persistentsettings.h>
 #include <utils/qtcassert.h>
 
 #include <QFileInfo>
 #include <QHash>
 #include <QList>
-#include <QSettings>
 #include <QString>
-#include <QVariantHash>
 #include <QVariantList>
 
 #include <limits>
diff --git a/src/plugins/projectexplorer/devicesupport/devicemanager.h b/src/plugins/projectexplorer/devicesupport/devicemanager.h
index d57f30740607bafbb9d781aa6898df786b85fca1..0255b9699d7842da638a702bf633b22369005557 100644
--- a/src/plugins/projectexplorer/devicesupport/devicemanager.h
+++ b/src/plugins/projectexplorer/devicesupport/devicemanager.h
@@ -32,10 +32,11 @@
 #include "idevice.h"
 
 #include <projectexplorer/projectexplorer_export.h>
-#include <utils/fileutils.h>
 
 #include <QObject>
 
+namespace Utils { class FileName; }
+
 namespace ProjectExplorer {
 class IDevice;
 class IDeviceFactory;
diff --git a/src/plugins/projectexplorer/devicesupport/devicemanagermodel.cpp b/src/plugins/projectexplorer/devicesupport/devicemanagermodel.cpp
index 97e35c8bf7d0ec17fa33fa1c26b832f038780b59..aa8b9e55d1cf8b6825fb97e6f08a033e2ee666c6 100644
--- a/src/plugins/projectexplorer/devicesupport/devicemanagermodel.cpp
+++ b/src/plugins/projectexplorer/devicesupport/devicemanagermodel.cpp
@@ -28,10 +28,8 @@
 ****************************************************************************/
 #include "devicemanagermodel.h"
 
-#include "../projectexplorerconstants.h"
 #include "devicemanager.h"
 
-#include <coreplugin/id.h>
 #include <utils/qtcassert.h>
 
 #include <QString>
diff --git a/src/plugins/projectexplorer/devicesupport/devicemanagermodel.h b/src/plugins/projectexplorer/devicesupport/devicemanagermodel.h
index 1148ee0f2f5d656cefc5aff2eb2d7275749b97c6..c162a12f16395f3181408eee6773d1f047120a86 100644
--- a/src/plugins/projectexplorer/devicesupport/devicemanagermodel.h
+++ b/src/plugins/projectexplorer/devicesupport/devicemanagermodel.h
@@ -32,8 +32,6 @@
 #include "../projectexplorer_export.h"
 #include "idevice.h"
 
-#include <coreplugin/id.h>
-
 #include <QAbstractListModel>
 
 namespace ProjectExplorer {
diff --git a/src/plugins/projectexplorer/devicesupport/deviceprocessesdialog.cpp b/src/plugins/projectexplorer/devicesupport/deviceprocessesdialog.cpp
index ba0ef4462481e6a6f5ee4c7f24490a9c94bd8d9b..75fc23a031aa92d7c36cd822860d9fde4fede0bd 100644
--- a/src/plugins/projectexplorer/devicesupport/deviceprocessesdialog.cpp
+++ b/src/plugins/projectexplorer/devicesupport/deviceprocessesdialog.cpp
@@ -40,13 +40,10 @@
 #include <QHBoxLayout>
 #include <QHeaderView>
 #include <QLabel>
-#include <QLineEdit>
 #include <QMessageBox>
 #include <QPushButton>
 #include <QSortFilterProxyModel>
-#include <QSpacerItem>
 #include <QTextBrowser>
-#include <QTextDocument>
 #include <QTreeView>
 #include <QVBoxLayout>
 
diff --git a/src/plugins/projectexplorer/devicesupport/deviceprocessesdialog.h b/src/plugins/projectexplorer/devicesupport/deviceprocessesdialog.h
index 672ddbec946b5ddb8333ff39ef9d1856822adc47..e67d2c1001757ddc84a201dd7ef9ddcdfdba5e20 100644
--- a/src/plugins/projectexplorer/devicesupport/deviceprocessesdialog.h
+++ b/src/plugins/projectexplorer/devicesupport/deviceprocessesdialog.h
@@ -32,14 +32,13 @@
 
 #include "../projectexplorer_export.h"
 
-#include <projectexplorer/kit.h>
 #include <projectexplorer/devicesupport/idevice.h>
-#include <projectexplorer/devicesupport/deviceprocesslist.h>
 
 #include <QDialog>
 
 namespace ProjectExplorer {
 
+class DeviceProcess;
 class KitChooser;
 
 namespace Internal { class DeviceProcessesDialogPrivate; }
diff --git a/src/plugins/projectexplorer/devicesupport/deviceprocesslist.h b/src/plugins/projectexplorer/devicesupport/deviceprocesslist.h
index 14e63f997a62fa187b144055893ba43b41ee167a..9bb129bf0401039ca76d985a1e418bea06249d79 100644
--- a/src/plugins/projectexplorer/devicesupport/deviceprocesslist.h
+++ b/src/plugins/projectexplorer/devicesupport/deviceprocesslist.h
@@ -34,7 +34,6 @@
 
 #include <QAbstractItemModel>
 #include <QList>
-#include <QSharedPointer>
 
 namespace ProjectExplorer {
 
diff --git a/src/plugins/projectexplorer/devicesupport/devicesettingspage.cpp b/src/plugins/projectexplorer/devicesupport/devicesettingspage.cpp
index c1d7a61f81d9f1ded8e2daced2da0ce6cec065c2..13aa949d8fd3995b3b811263661881de041acd46 100644
--- a/src/plugins/projectexplorer/devicesupport/devicesettingspage.cpp
+++ b/src/plugins/projectexplorer/devicesupport/devicesettingspage.cpp
@@ -34,7 +34,6 @@
 
 #include <QCoreApplication>
 #include <QString>
-#include <QIcon>
 
 namespace ProjectExplorer {
 namespace Internal {
diff --git a/src/plugins/projectexplorer/devicesupport/devicesettingswidget.cpp b/src/plugins/projectexplorer/devicesupport/devicesettingswidget.cpp
index fc5e572d52405001876e5b3aad1f746fa276a1e1..1d7469cd0648aca41e3b57b1b68a4d74c6af4f57 100644
--- a/src/plugins/projectexplorer/devicesupport/devicesettingswidget.cpp
+++ b/src/plugins/projectexplorer/devicesupport/devicesettingswidget.cpp
@@ -34,28 +34,19 @@
 #include "devicemanager.h"
 #include "devicemanagermodel.h"
 #include "deviceprocessesdialog.h"
-#include "deviceprocesslist.h"
 #include "idevice.h"
 #include "idevicefactory.h"
 #include "idevicewidget.h"
 
 #include <coreplugin/icore.h>
-#include <coreplugin/id.h>
 #include <extensionsystem/pluginmanager.h>
-#include <utils/portlist.h>
 #include <utils/qtcassert.h>
 
-#include <QFileInfo>
 #include <QPixmap>
-#include <QRegExp>
-#include <QSettings>
+#include <QPushButton>
 #include <QSignalMapper>
 #include <QTextStream>
 
-#include <QFileDialog>
-#include <QMessageBox>
-#include <QIntValidator>
-
 #include <algorithm>
 
 using namespace Core;
diff --git a/src/plugins/projectexplorer/devicesupport/devicesettingswidget.h b/src/plugins/projectexplorer/devicesupport/devicesettingswidget.h
index e0824037c14515385c658cf8f5400d819b40cfff..d589400a43f5afd424603d8524f4c1aefb57397e 100644
--- a/src/plugins/projectexplorer/devicesupport/devicesettingswidget.h
+++ b/src/plugins/projectexplorer/devicesupport/devicesettingswidget.h
@@ -31,15 +31,14 @@
 #define DEVICESETTINGSWIDGET_H
 
 #include "devicesupport/idevice.h"
-#include <coreplugin/id.h>
 
 #include <QList>
 #include <QString>
-#include <QPushButton>
 #include <QWidget>
 
 QT_BEGIN_NAMESPACE
 class QSignalMapper;
+class QPushButton;
 QT_END_NAMESPACE
 
 namespace ProjectExplorer {
diff --git a/src/plugins/projectexplorer/devicesupport/idevice.cpp b/src/plugins/projectexplorer/devicesupport/idevice.cpp
index ab827c7b686bdad73246f9baa13703a85ee9c2b4..aefa7cd79781bd0b2f6eab84a3baada82f656548 100644
--- a/src/plugins/projectexplorer/devicesupport/idevice.cpp
+++ b/src/plugins/projectexplorer/devicesupport/idevice.cpp
@@ -31,7 +31,6 @@
 #include "devicemanager.h"
 #include "deviceprocesslist.h"
 
-#include <coreplugin/id.h>
 #include <ssh/sshconnection.h>
 #include <utils/portlist.h>
 #include <utils/qtcassert.h>
diff --git a/src/plugins/projectexplorer/doubletabwidget.cpp b/src/plugins/projectexplorer/doubletabwidget.cpp
index d6fa8325631f2508fdaf9d4375a884dbd2ffae16..0e467de3e09ed8c985dc067fae378994fbaa0be8 100644
--- a/src/plugins/projectexplorer/doubletabwidget.cpp
+++ b/src/plugins/projectexplorer/doubletabwidget.cpp
@@ -34,7 +34,6 @@
 
 #include <QRect>
 #include <QPainter>
-#include <QFont>
 #include <QMouseEvent>
 #include <QMenu>
 #include <QToolTip>
diff --git a/src/plugins/projectexplorer/editorconfiguration.cpp b/src/plugins/projectexplorer/editorconfiguration.cpp
index 9285eaf1d41571bd389e7cb62bb99a51d9c27991..0ed8e28e705d028db30342772ca11199c9d419a9 100644
--- a/src/plugins/projectexplorer/editorconfiguration.cpp
+++ b/src/plugins/projectexplorer/editorconfiguration.cpp
@@ -32,18 +32,14 @@
 #include "projectexplorer.h"
 #include "project.h"
 
-#include <coreplugin/editormanager/editormanager.h>
-
-#include <texteditor/itexteditor.h>
+#include <coreplugin/id.h>
 #include <texteditor/basetexteditor.h>
 #include <texteditor/texteditorsettings.h>
-#include <texteditor/tabsettings.h>
 #include <texteditor/simplecodestylepreferences.h>
 #include <texteditor/typingsettings.h>
 #include <texteditor/storagesettings.h>
 #include <texteditor/behaviorsettings.h>
 #include <texteditor/extraencodingsettings.h>
-#include <texteditor/icodestylepreferences.h>
 #include <texteditor/icodestylepreferencesfactory.h>
 
 #include <QLatin1String>
diff --git a/src/plugins/projectexplorer/editorconfiguration.h b/src/plugins/projectexplorer/editorconfiguration.h
index a55587b61102f0d88f19ebc57a70cdfd835dcd6f..0caaf2f58cc8c55ca1537c649ae421cdd68ba2ac 100644
--- a/src/plugins/projectexplorer/editorconfiguration.h
+++ b/src/plugins/projectexplorer/editorconfiguration.h
@@ -32,11 +32,11 @@
 
 #include "projectexplorer_export.h"
 
-#include <coreplugin/id.h>
-
 #include <QObject>
 #include <QVariantMap>
 
+namespace Core { class Id; }
+
 namespace TextEditor {
 class ITextEditor;
 class BaseTextEditorWidget;
diff --git a/src/plugins/projectexplorer/foldernavigationwidget.cpp b/src/plugins/projectexplorer/foldernavigationwidget.cpp
index 41b1600a57de9295019ebd926723ad97b05c34e9..0d498a4f7a1da4b4200eb3913c9d3594b7e5bad7 100644
--- a/src/plugins/projectexplorer/foldernavigationwidget.cpp
+++ b/src/plugins/projectexplorer/foldernavigationwidget.cpp
@@ -28,8 +28,6 @@
 ****************************************************************************/
 
 #include "foldernavigationwidget.h"
-#include "projectexplorer.h"
-#include "projectexplorerconstants.h"
 
 #include <extensionsystem/pluginmanager.h>
 
@@ -44,7 +42,6 @@
 #include <find/findplugin.h>
 #include <texteditor/findinfiles.h>
 
-#include <utils/environment.h>
 #include <utils/hostosinfo.h>
 #include <utils/pathchooser.h>
 #include <utils/qtcassert.h>
@@ -55,8 +52,6 @@
 #include <QFileSystemModel>
 #include <QVBoxLayout>
 #include <QToolButton>
-#include <QPushButton>
-#include <QLabel>
 #include <QListView>
 #include <QSortFilterProxyModel>
 #include <QAction>
diff --git a/src/plugins/projectexplorer/gcctoolchain.cpp b/src/plugins/projectexplorer/gcctoolchain.cpp
index df8dd6de9717592013224ff02431216e75d39cd0..9dcea8f2cac2758d64b302e58afe1145ade86c92 100644
--- a/src/plugins/projectexplorer/gcctoolchain.cpp
+++ b/src/plugins/projectexplorer/gcctoolchain.cpp
@@ -35,11 +35,9 @@
 #include "projectexplorerconstants.h"
 #include "toolchainmanager.h"
 
-#include <utils/detailswidget.h>
 #include <utils/environment.h>
 #include <utils/hostosinfo.h>
 #include <utils/synchronousprocess.h>
-#include <utils/qtcassert.h>
 #include <utils/pathchooser.h>
 
 #include <QBuffer>
@@ -48,9 +46,7 @@
 #include <QProcess>
 #include <QScopedPointer>
 
-#include <QComboBox>
 #include <QFormLayout>
-#include <QLabel>
 
 using namespace Utils;
 
diff --git a/src/plugins/projectexplorer/gcctoolchain.h b/src/plugins/projectexplorer/gcctoolchain.h
index 888ac8151e4b09a2647e71eed280fdd4d0e43390..07a2d5c58d59afa8d1c20f74589259a8231cb9ab 100644
--- a/src/plugins/projectexplorer/gcctoolchain.h
+++ b/src/plugins/projectexplorer/gcctoolchain.h
@@ -34,6 +34,9 @@
 
 #include "toolchain.h"
 #include "abi.h"
+#include "headerpath.h"
+
+#include <utils/fileutils.h>
 
 namespace ProjectExplorer {
 
diff --git a/src/plugins/projectexplorer/ioutputparser.cpp b/src/plugins/projectexplorer/ioutputparser.cpp
index c313da831aadd2735d896c1f43454efa83e1aa90..d21056e0596e69f9399ec86507cb8c6254bd33b4 100644
--- a/src/plugins/projectexplorer/ioutputparser.cpp
+++ b/src/plugins/projectexplorer/ioutputparser.cpp
@@ -30,8 +30,6 @@
 #include "ioutputparser.h"
 #include "task.h"
 
-#include <utils/qtcassert.h>
-
 /*!
     \class ProjectExplorer::IOutputParser
 
diff --git a/src/plugins/projectexplorer/kit.cpp b/src/plugins/projectexplorer/kit.cpp
index a0d6571197c2552fa13733b3456c6de31c916f87..b3bb27d98004426ab21bb6f218ae84411a3bd56f 100644
--- a/src/plugins/projectexplorer/kit.cpp
+++ b/src/plugins/projectexplorer/kit.cpp
@@ -29,15 +29,9 @@
 
 #include "kit.h"
 
-#include "devicesupport/devicemanager.h"
-#include "kitinformation.h"
 #include "kitmanager.h"
-#include "project.h"
-#include "toolchainmanager.h"
 #include "ioutputparser.h"
 
-#include <utils/qtcassert.h>
-
 #include <QApplication>
 #include <QIcon>
 #include <QStyle>
diff --git a/src/plugins/projectexplorer/kit.h b/src/plugins/projectexplorer/kit.h
index e43ee7a7cc3f479a28a2c0fb14e2cf7087fae130..c32baadfa61de4b41dcfc7956297fa38d6937bd2 100644
--- a/src/plugins/projectexplorer/kit.h
+++ b/src/plugins/projectexplorer/kit.h
@@ -33,8 +33,6 @@
 #include "projectexplorer_export.h"
 #include "task.h"
 
-#include <coreplugin/id.h>
-
 #include <QVariant>
 
 namespace Utils { class Environment; }
diff --git a/src/plugins/projectexplorer/kitchooser.cpp b/src/plugins/projectexplorer/kitchooser.cpp
index 2110d069b26eadbcb0d0e4f039687ee2af32597f..1bfe8e6f0c92a813bd0a518fd4cdef6781fac011 100644
--- a/src/plugins/projectexplorer/kitchooser.cpp
+++ b/src/plugins/projectexplorer/kitchooser.cpp
@@ -31,9 +31,6 @@
 
 #include "kitinformation.h"
 #include "kitmanager.h"
-#include "abi.h"
-
-#include <utils/qtcassert.h>
 
 namespace ProjectExplorer {
 
diff --git a/src/plugins/projectexplorer/kitinformation.cpp b/src/plugins/projectexplorer/kitinformation.cpp
index a7ff60aab9db8646f28ff0ef53ad8f6f2002316f..a87366efe1e44b2619be27a16662472d9f00664b 100644
--- a/src/plugins/projectexplorer/kitinformation.cpp
+++ b/src/plugins/projectexplorer/kitinformation.cpp
@@ -39,13 +39,8 @@
 
 #include <extensionsystem/pluginmanager.h>
 #include <projectexplorer/abi.h>
-#include <utils/pathchooser.h>
 #include <utils/qtcassert.h>
 
-#include <QComboBox>
-#include <QHBoxLayout>
-#include <QLabel>
-#include <QPushButton>
 #include <QFileInfo>
 
 namespace ProjectExplorer {
diff --git a/src/plugins/projectexplorer/kitinformation.h b/src/plugins/projectexplorer/kitinformation.h
index 6f7e8006d296664be2330f1e1fd6965a463dffd2..ba65e5831c49fa09026a6f4c43da386c270c9fef 100644
--- a/src/plugins/projectexplorer/kitinformation.h
+++ b/src/plugins/projectexplorer/kitinformation.h
@@ -34,14 +34,12 @@
 #include "kit.h"
 
 #include "devicesupport/idevice.h"
-#include "toolchain.h"
-
-#include <utils/fileutils.h>
 
 #include <QVariant>
 
 namespace ProjectExplorer {
 
+class ToolChain;
 class KitConfigWidget;
 
 // --------------------------------------------------------------------------
diff --git a/src/plugins/projectexplorer/kitinformationconfigwidget.cpp b/src/plugins/projectexplorer/kitinformationconfigwidget.cpp
index 82fa7d69504f81ac70de3cfdc2daaa646a5a26a5..b655c822aadc2a3f2bdc16ae5412fa7fc880673d 100644
--- a/src/plugins/projectexplorer/kitinformationconfigwidget.cpp
+++ b/src/plugins/projectexplorer/kitinformationconfigwidget.cpp
@@ -44,7 +44,6 @@
 #include <utils/fancylineedit.h>
 
 #include <QComboBox>
-#include <QLabel>
 #include <QPushButton>
 
 using namespace Core;
diff --git a/src/plugins/projectexplorer/kitmanager.cpp b/src/plugins/projectexplorer/kitmanager.cpp
index 31e35e0a516cb10244a5de3c7375e8e5df1cb876..911d90fb645bd8bdd02726b846deec1749492417 100644
--- a/src/plugins/projectexplorer/kitmanager.cpp
+++ b/src/plugins/projectexplorer/kitmanager.cpp
@@ -30,27 +30,20 @@
 #include "kitmanager.h"
 
 #include "kit.h"
-#include "kitconfigwidget.h"
-#include "kitinformation.h"
+#include "task.h"
 #include "kitmanagerconfigwidget.h"
 #include "project.h"
-#include "projectexplorer.h"
 
 #include <coreplugin/icore.h>
 
 #include <extensionsystem/pluginmanager.h>
 
 #include <utils/persistentsettings.h>
-#include <utils/environment.h>
 #include <utils/qtcassert.h>
+#include <utils/environment.h>
 
-#include <QCoreApplication>
-#include <QDir>
 #include <QSettings>
 
-#include <QFormLayout>
-#include <QLabel>
-
 static const char KIT_DATA_KEY[] = "Profile.";
 static const char KIT_COUNT_KEY[] = "Profile.Count";
 static const char KIT_FILE_VERSION_KEY[] = "Version";
diff --git a/src/plugins/projectexplorer/kitmanager.h b/src/plugins/projectexplorer/kitmanager.h
index c4017c8ca05e9969742cc897c59073eb8deac3c4..b13ef5288a0d178cbb24abf69ab28d49181d425d 100644
--- a/src/plugins/projectexplorer/kitmanager.h
+++ b/src/plugins/projectexplorer/kitmanager.h
@@ -32,17 +32,18 @@
 
 #include "projectexplorer_export.h"
 
-#include "task.h"
-
 #include <coreplugin/id.h>
-#include <utils/fileutils.h>
 
 #include <QObject>
 #include <QPair>
 
-namespace Utils { class Environment; }
+namespace Utils {
+class FileName;
+class Environment;
+}
 
 namespace ProjectExplorer {
+class Task;
 class IOutputParser;
 class Kit;
 class KitConfigWidget;
diff --git a/src/plugins/projectexplorer/kitmodel.cpp b/src/plugins/projectexplorer/kitmodel.cpp
index c73aeaf33f5356bbdd03e7999fea9eb3b3a7ebae..3b49bfbcf67b01a4b7bc4a4c6b78c9d73af1d15c 100644
--- a/src/plugins/projectexplorer/kitmodel.cpp
+++ b/src/plugins/projectexplorer/kitmodel.cpp
@@ -37,7 +37,6 @@
 
 #include <QApplication>
 #include <QLayout>
-#include <QMessageBox>
 
 namespace ProjectExplorer {
 namespace Internal {
diff --git a/src/plugins/projectexplorer/kitoptionspage.cpp b/src/plugins/projectexplorer/kitoptionspage.cpp
index 67709924e707491f0c00d20c2e7f35f1586847ac..a39b5b70df433238017be9cfa58ec5478576ed48 100644
--- a/src/plugins/projectexplorer/kitoptionspage.cpp
+++ b/src/plugins/projectexplorer/kitoptionspage.cpp
@@ -35,10 +35,6 @@
 #include "kitmanagerconfigwidget.h"
 #include "kitmanager.h"
 
-#include <coreplugin/icore.h>
-
-#include <utils/qtcassert.h>
-
 #include <QHBoxLayout>
 #include <QHeaderView>
 #include <QItemSelectionModel>
diff --git a/src/plugins/projectexplorer/linuxiccparser.cpp b/src/plugins/projectexplorer/linuxiccparser.cpp
index 4dad65fe47c2050fb00de87d1ddc84e1b642c5bd..bdbe37835c31381b6eb428e61a7118e6035602c2 100644
--- a/src/plugins/projectexplorer/linuxiccparser.cpp
+++ b/src/plugins/projectexplorer/linuxiccparser.cpp
@@ -29,7 +29,6 @@
 
 #include "linuxiccparser.h"
 #include "ldparser.h"
-#include "taskwindow.h"
 #include "projectexplorerconstants.h"
 
 using namespace ProjectExplorer;
diff --git a/src/plugins/projectexplorer/localapplicationrunconfiguration.cpp b/src/plugins/projectexplorer/localapplicationrunconfiguration.cpp
index ad8dba196f34cf141e2bfbeac332716ec57e23b9..057f2f43a8d506ccd4580d1606e388e56f015e41 100644
--- a/src/plugins/projectexplorer/localapplicationrunconfiguration.cpp
+++ b/src/plugins/projectexplorer/localapplicationrunconfiguration.cpp
@@ -33,8 +33,6 @@
 
 #include <coreplugin/variablemanager.h>
 
-#include <utils/stringutils.h>
-
 namespace ProjectExplorer {
 
 /// LocalApplicationRunConfiguration
diff --git a/src/plugins/projectexplorer/localapplicationruncontrol.cpp b/src/plugins/projectexplorer/localapplicationruncontrol.cpp
index e1038f5bbd85f8efa685c4e411cf398c65cd8585..3fc1626fad0ac13857db6b0ff01c2f13cbf71948 100644
--- a/src/plugins/projectexplorer/localapplicationruncontrol.cpp
+++ b/src/plugins/projectexplorer/localapplicationruncontrol.cpp
@@ -29,13 +29,10 @@
 
 #include "localapplicationruncontrol.h"
 #include "localapplicationrunconfiguration.h"
-#include "projectexplorerconstants.h"
 
-#include <utils/outputformat.h>
 #include <utils/qtcassert.h>
 #include <utils/environment.h>
 
-#include <QLabel>
 #include <QIcon>
 #include <QDir>
 
diff --git a/src/plugins/projectexplorer/localapplicationruncontrol.h b/src/plugins/projectexplorer/localapplicationruncontrol.h
index 685954a392d26f5f286fa78ba629fccad268ce08..4a7bbb38e233267d9979b4e4295e55b65ab3ae17 100644
--- a/src/plugins/projectexplorer/localapplicationruncontrol.h
+++ b/src/plugins/projectexplorer/localapplicationruncontrol.h
@@ -32,7 +32,6 @@
 
 #include "runconfiguration.h"
 #include "applicationlauncher.h"
-#include "projectexplorerconstants.h"
 
 namespace ProjectExplorer {
 
diff --git a/src/plugins/projectexplorer/miniprojecttargetselector.cpp b/src/plugins/projectexplorer/miniprojecttargetselector.cpp
index 301526a75089c3af8a5fd36f1ef834a0ea24b4b0..431b65f94e2a49d44e30b978a9ea0b2035a410aa 100644
--- a/src/plugins/projectexplorer/miniprojecttargetselector.cpp
+++ b/src/plugins/projectexplorer/miniprojecttargetselector.cpp
@@ -30,7 +30,6 @@
 #include "miniprojecttargetselector.h"
 #include "target.h"
 
-#include <utils/qtcassert.h>
 #include <utils/styledbar.h>
 #include <utils/stylehelper.h>
 
@@ -57,7 +56,6 @@
 #include <QPainter>
 #include <QAction>
 #include <QItemDelegate>
-#include <QApplication>
 
 static QIcon createCenteredIcon(const QIcon &icon, const QIcon &overlay)
 {
diff --git a/src/plugins/projectexplorer/msvctoolchain.cpp b/src/plugins/projectexplorer/msvctoolchain.cpp
index cf2303a01b0562f6fc99ef33256042869da46ef8..63a3b9bdb48227c0bb3d681aab16b761251aac6d 100644
--- a/src/plugins/projectexplorer/msvctoolchain.cpp
+++ b/src/plugins/projectexplorer/msvctoolchain.cpp
@@ -31,12 +31,7 @@
 
 #include "msvcparser.h"
 #include "projectexplorerconstants.h"
-#include "headerpath.h"
 
-#include <projectexplorer/projectexplorer.h>
-#include <projectexplorer/projectexplorersettings.h>
-
-#include <utils/fileutils.h>
 #include <utils/synchronousprocess.h>
 #include <utils/winutils.h>
 #include <utils/qtcassert.h>
@@ -46,9 +41,9 @@
 #include <QFileInfo>
 #include <QProcess>
 #include <QSettings>
-#include <QUrl>
+
+#include <QLabel>
 #include <QFormLayout>
-#include <QDesktopServices>
 
 #define KEY_ROOT "ProjectExplorer.MsvcToolChain."
 static const char varsBatKeyC[] = KEY_ROOT"VarsBat";
diff --git a/src/plugins/projectexplorer/msvctoolchain.h b/src/plugins/projectexplorer/msvctoolchain.h
index db9d532e814d6795aee183dcd10d1551ec6a422c..92162bed49c23afb56b031634fad84eec873981a 100644
--- a/src/plugins/projectexplorer/msvctoolchain.h
+++ b/src/plugins/projectexplorer/msvctoolchain.h
@@ -34,9 +34,7 @@
 #include "abi.h"
 #include "toolchainconfigwidget.h"
 
-#include <utils/environment.h>
-
-#include <QLabel>
+QT_FORWARD_DECLARE_CLASS(QLabel)
 
 namespace ProjectExplorer {
 namespace Internal {
diff --git a/src/plugins/projectexplorer/pluginfilefactory.cpp b/src/plugins/projectexplorer/pluginfilefactory.cpp
index f27e4893adff63a71106517f756b069cb46d4b60..86e24a46b2ad26f79b877c89cbb0e52a0e09b940 100644
--- a/src/plugins/projectexplorer/pluginfilefactory.cpp
+++ b/src/plugins/projectexplorer/pluginfilefactory.cpp
@@ -30,15 +30,11 @@
 #include "pluginfilefactory.h"
 #include "projectexplorer.h"
 #include "project.h"
-#include "projectexplorerconstants.h"
 #include "iprojectmanager.h"
-#include "session.h"
 
 #include <extensionsystem/pluginmanager.h>
 #include <coreplugin/icore.h>
-#include <coreplugin/id.h>
 #include <coreplugin/mimedatabase.h>
-#include <coreplugin/messagemanager.h>
 
 #include <QDebug>
 #include <QMessageBox>
diff --git a/src/plugins/projectexplorer/processstep.cpp b/src/plugins/projectexplorer/processstep.cpp
index 043f05fcfc0296f01d837c549bd451f15cc4a414..019fbe16f05ff30af363744143b9b270003746ce 100644
--- a/src/plugins/projectexplorer/processstep.cpp
+++ b/src/plugins/projectexplorer/processstep.cpp
@@ -29,19 +29,14 @@
 
 #include "processstep.h"
 #include "buildstep.h"
-#include "project.h"
 #include "buildconfiguration.h"
 #include "projectexplorerconstants.h"
 #include "target.h"
 #include "kit.h"
 
-#include <coreplugin/idocument.h>
 #include <coreplugin/variablemanager.h>
-#include <utils/qtcprocess.h>
-#include <utils/qtcassert.h>
 
 #include <QDebug>
-#include <QFileDialog>
 
 using namespace ProjectExplorer;
 using namespace ProjectExplorer::Internal;
diff --git a/src/plugins/projectexplorer/processstep.h b/src/plugins/projectexplorer/processstep.h
index c5f28fe6a099885e9441231f265724b9d69e29da..6e509577c1f55edea2e6811d53eb68baa5a1a9ac 100644
--- a/src/plugins/projectexplorer/processstep.h
+++ b/src/plugins/projectexplorer/processstep.h
@@ -33,8 +33,6 @@
 #include "ui_processstep.h"
 #include "abstractprocessstep.h"
 
-#include <utils/environment.h>
-
 namespace ProjectExplorer {
 
 namespace Internal {
diff --git a/src/plugins/projectexplorer/project.cpp b/src/plugins/projectexplorer/project.cpp
index d3ca4925dce3cf21635d02cbfc21d2898ace4ccd..2029211066ad0197b9ef8331422e9e46efdcdee2 100644
--- a/src/plugins/projectexplorer/project.cpp
+++ b/src/plugins/projectexplorer/project.cpp
@@ -30,24 +30,17 @@
 #include "project.h"
 
 #include "buildconfiguration.h"
-#include "deployconfiguration.h"
 #include "editorconfiguration.h"
 #include "projectexplorer.h"
-#include "projectexplorerconstants.h"
-#include "projectnodes.h"
-#include "runconfiguration.h"
 #include "target.h"
 #include "settingsaccessor.h"
 
 #include <coreplugin/idocument.h>
 #include <coreplugin/icontext.h>
-#include <extensionsystem/pluginmanager.h>
 #include <projectexplorer/buildmanager.h>
-#include <projectexplorer/kit.h>
 #include <projectexplorer/kitmanager.h>
 #include <limits>
 #include <utils/qtcassert.h>
-#include <utils/environment.h>
 
 /*!
     \class ProjectExplorer::Project
diff --git a/src/plugins/projectexplorer/project.h b/src/plugins/projectexplorer/project.h
index 2795b62d68a6fb621196986ea9c04c9916ee391d..a8013ad37b8dbce0dc451b3774b7b7caaae8743d 100644
--- a/src/plugins/projectexplorer/project.h
+++ b/src/plugins/projectexplorer/project.h
@@ -35,7 +35,6 @@
 #include <coreplugin/id.h>
 
 #include <QObject>
-#include <QSet>
 #include <QFileSystemModel>
 
 namespace Core {
diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp
index f1bb00e4ece0b2606a403527ee123e8e58521c8a..9b58fcc0e5f01190e6e23ef058cdb5d34eace074 100644
--- a/src/plugins/projectexplorer/projectexplorer.cpp
+++ b/src/plugins/projectexplorer/projectexplorer.cpp
@@ -40,7 +40,6 @@
 #include "kitmanager.h"
 #include "kitoptionspage.h"
 #include "target.h"
-#include "targetsettingspanel.h"
 #include "toolchainmanager.h"
 #include "toolchainoptionspage.h"
 #include "copytaskhandler.h"
@@ -58,12 +57,10 @@
 #include "dependenciespanel.h"
 #include "foldernavigationwidget.h"
 #include "iprojectmanager.h"
-#include "metatypedeclarations.h"
 #include "nodesvisitor.h"
 #include "appoutputpane.h"
 #include "pluginfilefactory.h"
 #include "processstep.h"
-#include "projectexplorerconstants.h"
 #include "customwizard.h"
 #include "kitinformation.h"
 #include "projectfilewizardextension.h"
@@ -94,37 +91,27 @@
 #endif
 
 #include <extensionsystem/pluginspec.h>
+#include <coreplugin/icore.h>
+#include <coreplugin/id.h>
 #include <coreplugin/coreconstants.h>
 #include <coreplugin/documentmanager.h>
-#include <coreplugin/icore.h>
-#include <coreplugin/idocument.h>
 #include <coreplugin/imode.h>
 #include <coreplugin/mimedatabase.h>
 #include <coreplugin/modemanager.h>
 #include <coreplugin/actionmanager/actionmanager.h>
 #include <coreplugin/actionmanager/actioncontainer.h>
-#include <coreplugin/actionmanager/command.h>
-#include <coreplugin/id.h>
 #include <coreplugin/infobar.h>
 #include <coreplugin/editormanager/editormanager.h>
-#include <coreplugin/editormanager/ieditor.h>
 #include <coreplugin/findplaceholder.h>
-#include <coreplugin/basefilewizard.h>
 #include <coreplugin/vcsmanager.h>
 #include <coreplugin/iversioncontrol.h>
 #include <coreplugin/variablemanager.h>
 #include <coreplugin/fileutils.h>
 #include <coreplugin/removefiledialog.h>
-#include <extensionsystem/pluginmanager.h>
-#include <find/searchresultwindow.h>
-#include <utils/consoleprocess.h>
 #include <utils/qtcassert.h>
 #include <utils/parameteraction.h>
-#include <utils/stringutils.h>
-#include <utils/persistentsettings.h>
 
 #include <QtPlugin>
-#include <QDateTime>
 #include <QDebug>
 #include <QFileInfo>
 #include <QSettings>
diff --git a/src/plugins/projectexplorer/projectexplorer.h b/src/plugins/projectexplorer/projectexplorer.h
index b8bbfee40e6a7470dc0845a2eb34fe750babba82..8beb263a16a2483b84ebd175b3352968ea3eed31 100644
--- a/src/plugins/projectexplorer/projectexplorer.h
+++ b/src/plugins/projectexplorer/projectexplorer.h
@@ -33,7 +33,6 @@
 #include "projectexplorer_export.h"
 #include "projectexplorerconstants.h"
 
-#include <coreplugin/id.h>
 #include <extensionsystem/iplugin.h>
 
 #include <QPair>
@@ -46,6 +45,7 @@ QT_END_NAMESPACE
 
 namespace Core {
 class IMode;
+class Id;
 }
 
 namespace ProjectExplorer {
diff --git a/src/plugins/projectexplorer/projectexplorersettingspage.cpp b/src/plugins/projectexplorer/projectexplorersettingspage.cpp
index bcee23147167abaa5be196ea585e7f79d7d99ce3..1482aa86f33883481ccd0935fb28e58d3351a50b 100644
--- a/src/plugins/projectexplorer/projectexplorersettingspage.cpp
+++ b/src/plugins/projectexplorer/projectexplorersettingspage.cpp
@@ -29,16 +29,13 @@
 
 #include "projectexplorersettingspage.h"
 #include "projectexplorersettings.h"
-#include "projectexplorerconstants.h"
 #include "projectexplorer.h"
 
 #include <coreplugin/coreconstants.h>
 #include <coreplugin/documentmanager.h>
-#include <coreplugin/icore.h>
 #include <coreplugin/variablechooser.h>
 #include <utils/hostosinfo.h>
 
-#include <QLabel>
 #include <QCoreApplication>
 
 namespace ProjectExplorer {
diff --git a/src/plugins/projectexplorer/projectfilewizardextension.cpp b/src/plugins/projectexplorer/projectfilewizardextension.cpp
index c4fca9ea4e56c755d0e0ff9f2051cd8a133ecd16..1f69d5247602fa164f5378d0f7d59f6b1d2b5a13 100644
--- a/src/plugins/projectexplorer/projectfilewizardextension.cpp
+++ b/src/plugins/projectexplorer/projectfilewizardextension.cpp
@@ -38,14 +38,12 @@
 #include <utils/stringutils.h>
 
 #include <coreplugin/basefilewizard.h>
-#include <coreplugin/documentmanager.h>
 #include <coreplugin/icore.h>
 #include <coreplugin/iversioncontrol.h>
 #include <coreplugin/vcsmanager.h>
 #include <coreplugin/mimedatabase.h>
 #include <extensionsystem/pluginmanager.h>
 #include <texteditor/texteditorsettings.h>
-#include <texteditor/indenter.h>
 #include <texteditor/icodestylepreferences.h>
 #include <texteditor/icodestylepreferencesfactory.h>
 #include <texteditor/normalindenter.h>
@@ -53,7 +51,6 @@
 #include <projectexplorer/project.h>
 #include <projectexplorer/editorconfiguration.h>
 
-#include <QVariant>
 #include <QtAlgorithms>
 #include <QDebug>
 #include <QFileInfo>
diff --git a/src/plugins/projectexplorer/projectmodels.cpp b/src/plugins/projectexplorer/projectmodels.cpp
index 46fd97a19f6c4a956fcbf18bf100e762a7adeb15..c37d84a9b6f0866b6ec169f4e4ed93fb0d222896 100644
--- a/src/plugins/projectexplorer/projectmodels.cpp
+++ b/src/plugins/projectexplorer/projectmodels.cpp
@@ -30,18 +30,15 @@
 #include "projectmodels.h"
 
 #include "project.h"
-#include "projectexplorerconstants.h"
 #include "projectnodes.h"
 #include "projectexplorer.h"
 
 #include <coreplugin/fileiconprovider.h>
-#include <utils/qtcassert.h>
 
 #include <QDebug>
 #include <QFileInfo>
 
 #include <QFont>
-#include <QIcon>
 
 using namespace ProjectExplorer;
 using namespace ProjectExplorer::Internal;
diff --git a/src/plugins/projectexplorer/projectnodes.cpp b/src/plugins/projectexplorer/projectnodes.cpp
index 008716f84606ee70313f02a948322f1bdb9c3834..021bbbd211b5b21d1747ecf166e6c4b2b914b870 100644
--- a/src/plugins/projectexplorer/projectnodes.cpp
+++ b/src/plugins/projectexplorer/projectnodes.cpp
@@ -41,7 +41,6 @@
 
 #include <QFileInfo>
 #include <QDir>
-#include <QApplication>
 #include <QIcon>
 #include <QStyle>
 
diff --git a/src/plugins/projectexplorer/projecttreewidget.cpp b/src/plugins/projectexplorer/projecttreewidget.cpp
index 966766a51219f842bc557c6dbc09cc39704e825b..51f77f56d593d4bec98464250c3662ca0dd05df9 100644
--- a/src/plugins/projectexplorer/projecttreewidget.cpp
+++ b/src/plugins/projectexplorer/projecttreewidget.cpp
@@ -33,7 +33,6 @@
 #include "projectnodes.h"
 #include "project.h"
 #include "session.h"
-#include "projectexplorerconstants.h"
 #include "projectmodels.h"
 
 #include <coreplugin/actionmanager/command.h>
@@ -41,22 +40,16 @@
 #include <coreplugin/icore.h>
 #include <coreplugin/editormanager/editormanager.h>
 #include <coreplugin/editormanager/ieditor.h>
-#include <coreplugin/icontext.h>
 
-#include <utils/qtcassert.h>
 #include <utils/navigationtreeview.h>
 
 #include <QDebug>
 #include <QSettings>
 
-#include <QHeaderView>
 #include <QStyledItemDelegate>
-#include <QTreeView>
 #include <QVBoxLayout>
 #include <QToolButton>
-#include <QFocusEvent>
 #include <QAction>
-#include <QPalette>
 #include <QMenu>
 
 using namespace Core;
diff --git a/src/plugins/projectexplorer/projectwelcomepage.cpp b/src/plugins/projectexplorer/projectwelcomepage.cpp
index 6f74e8b4eea34744cfc77f7fdef92951349e875b..7dc9d4977738b47708026ceeb39f2b224133a2c4 100644
--- a/src/plugins/projectexplorer/projectwelcomepage.cpp
+++ b/src/plugins/projectexplorer/projectwelcomepage.cpp
@@ -29,8 +29,6 @@
 
 #include "projectwelcomepage.h"
 
-#include "projectexplorerconstants.h"
-
 #include <utils/stringutils.h>
 
 #include <QDeclarativeEngine>
diff --git a/src/plugins/projectexplorer/projectwelcomepage.h b/src/plugins/projectexplorer/projectwelcomepage.h
index 0918dbc2cfabec2739ab7ad0648085b0bfb1cbfb..01d6693774a274a959a6a81a5a4dede0368e3e31 100644
--- a/src/plugins/projectexplorer/projectwelcomepage.h
+++ b/src/plugins/projectexplorer/projectwelcomepage.h
@@ -31,10 +31,8 @@
 #define PROJECTWELCOMEPAGE_H
 
 #include <QAbstractListModel>
-#include <QStringList>
 
 #include <utils/iwelcomepage.h>
-#include <coreplugin/icore.h>
 
 QT_BEGIN_NAMESPACE
 class QDeclarativeEngine;
diff --git a/src/plugins/projectexplorer/projectwindow.cpp b/src/plugins/projectexplorer/projectwindow.cpp
index e84873d4f464220578a667e84a860bf75525144f..c4a0891769070de063c83cebad00d6b8b8e9c2c7 100644
--- a/src/plugins/projectexplorer/projectwindow.cpp
+++ b/src/plugins/projectexplorer/projectwindow.cpp
@@ -34,20 +34,16 @@
 #include "kitmanager.h"
 #include "project.h"
 #include "projectexplorer.h"
-#include "projectexplorerconstants.h"
 #include "session.h"
-#include "projecttreewidget.h"
 #include "iprojectproperties.h"
 #include "targetsettingspanel.h"
 #include "target.h"
 
-#include <coreplugin/icore.h>
 #include <coreplugin/idocument.h>
 #include <extensionsystem/pluginmanager.h>
 #include <utils/qtcassert.h>
 #include <utils/stylehelper.h>
 
-#include <QApplication>
 #include <QGridLayout>
 #include <QLabel>
 #include <QPainter>
diff --git a/src/plugins/projectexplorer/publishing/publishingwizardselectiondialog.cpp b/src/plugins/projectexplorer/publishing/publishingwizardselectiondialog.cpp
index c33cdd62c8fc531ea5118588da38bb3169ab61d3..45c0b30354049746e1326f493fdf85593cc041d0 100644
--- a/src/plugins/projectexplorer/publishing/publishingwizardselectiondialog.cpp
+++ b/src/plugins/projectexplorer/publishing/publishingwizardselectiondialog.cpp
@@ -31,9 +31,7 @@
 
 #include "ipublishingwizardfactory.h"
 
-#include <extensionsystem/pluginmanager.h>
 #include <projectexplorer/project.h>
-#include <utils/qtcassert.h>
 
 #include <QPushButton>
 
diff --git a/src/plugins/projectexplorer/removetaskhandler.cpp b/src/plugins/projectexplorer/removetaskhandler.cpp
index bf92de56b9a425772a232b103e49e43398783620..3138a25885d82bbae5c9e4b56566d26be8d4fbb7 100644
--- a/src/plugins/projectexplorer/removetaskhandler.cpp
+++ b/src/plugins/projectexplorer/removetaskhandler.cpp
@@ -33,12 +33,7 @@
 #include "task.h"
 #include "taskhub.h"
 
-#include <coreplugin/coreconstants.h>
-
-#include <QDir>
 #include <QAction>
-#include <QApplication>
-#include <QClipboard>
 
 using namespace ProjectExplorer::Internal;
 
diff --git a/src/plugins/projectexplorer/runconfiguration.cpp b/src/plugins/projectexplorer/runconfiguration.cpp
index 99ea22ef1fe23f225327dc26c21885fed6aa0a30..b23ccbd6f347b7286a03db2c51362de608dfb412 100644
--- a/src/plugins/projectexplorer/runconfiguration.cpp
+++ b/src/plugins/projectexplorer/runconfiguration.cpp
@@ -34,7 +34,6 @@
 #include "toolchain.h"
 #include "abi.h"
 #include "buildconfiguration.h"
-#include "projectexplorerconstants.h"
 #include "kitinformation.h"
 #include <extensionsystem/pluginmanager.h>
 
@@ -45,8 +44,6 @@
 #include <coreplugin/icore.h>
 
 #include <QTimer>
-#include <QSettings>
-#include <QMessageBox>
 #include <QPushButton>
 
 #ifdef Q_OS_MAC
diff --git a/src/plugins/projectexplorer/runconfiguration.h b/src/plugins/projectexplorer/runconfiguration.h
index 8a9e0ca5f27fa905c6fbb7573dd3f2c0531f0718..da4aab77f0c0fb08fa84c053183c3340ebdc6a6d 100644
--- a/src/plugins/projectexplorer/runconfiguration.h
+++ b/src/plugins/projectexplorer/runconfiguration.h
@@ -36,7 +36,6 @@
 
 #include <utils/outputformat.h>
 
-#include <QMetaType>
 #include <QPointer>
 #include <QWidget>
 
diff --git a/src/plugins/projectexplorer/runsettingspropertiespage.cpp b/src/plugins/projectexplorer/runsettingspropertiespage.cpp
index ff390c724faec1e9597a34ebcb83c94c2d1da9f2..66895367a71b25bd3c2de054bc342060d37caa1d 100644
--- a/src/plugins/projectexplorer/runsettingspropertiespage.cpp
+++ b/src/plugins/projectexplorer/runsettingspropertiespage.cpp
@@ -37,19 +37,15 @@
 #include "target.h"
 #include "project.h"
 
-#include <coreplugin/coreconstants.h>
 #include <extensionsystem/pluginmanager.h>
 #include <projectexplorer/projectexplorer.h>
 #include <projectexplorer/buildmanager.h>
 #include <utils/qtcassert.h>
 
-#include <QPair>
 #include <QVariant>
 #include <QAction>
-#include <QButtonGroup>
 #include <QComboBox>
 #include <QGridLayout>
-#include <QHeaderView>
 #include <QInputDialog>
 #include <QLabel>
 #include <QMenu>
diff --git a/src/plugins/projectexplorer/runsettingspropertiespage.h b/src/plugins/projectexplorer/runsettingspropertiespage.h
index bdfa4ed4ce24c5e5910c3fa81674bb0e17594b94..192091986ae17ec8e2612ede5eb46de8014b6d1a 100644
--- a/src/plugins/projectexplorer/runsettingspropertiespage.h
+++ b/src/plugins/projectexplorer/runsettingspropertiespage.h
@@ -33,7 +33,6 @@
 #include "iprojectproperties.h"
 
 #include <QWidget>
-#include <QIcon>
 
 QT_BEGIN_NAMESPACE
 class QComboBox;
diff --git a/src/plugins/projectexplorer/session.cpp b/src/plugins/projectexplorer/session.cpp
index a8241515f897c432e718c1713d2172fdba1113b3..0116f3578b13a832b64596f195671f87e145bc1d 100644
--- a/src/plugins/projectexplorer/session.cpp
+++ b/src/plugins/projectexplorer/session.cpp
@@ -31,37 +31,27 @@
 
 #include "project.h"
 #include "projectexplorer.h"
-#include "projectexplorerconstants.h"
 #include "nodesvisitor.h"
 #include "editorconfiguration.h"
 #include "projectnodes.h"
 
 #include <coreplugin/icore.h>
 #include <coreplugin/imode.h>
-#include <coreplugin/documentmanager.h>
 #include <coreplugin/editormanager/editormanager.h>
-#include <coreplugin/editormanager/ieditor.h>
 #include <coreplugin/coreconstants.h>
 #include <coreplugin/progressmanager/progressmanager.h>
 #include <coreplugin/modemanager.h>
 
 #include <texteditor/itexteditor.h>
 
-#include <utils/listutils.h>
-#include <utils/qtcassert.h>
 #include <utils/stylehelper.h>
 
 #include <QDebug>
 #include <QDir>
 #include <QFileInfo>
-#include <QFuture>
-#include <QSettings>
-#include <QTimer>
 
-#include <QApplication>
 #include <QMessageBox>
 #include <QPushButton>
-#include <QTextCodec>
 
 namespace {
     bool debug = false;
diff --git a/src/plugins/projectexplorer/settingsaccessor.cpp b/src/plugins/projectexplorer/settingsaccessor.cpp
index 8bdd00694f2a14fd0faac4a0251145410e6fd538..f9b3b46697b35b57028281ec324b7e65ebeb4b9d 100644
--- a/src/plugins/projectexplorer/settingsaccessor.cpp
+++ b/src/plugins/projectexplorer/settingsaccessor.cpp
@@ -35,7 +35,6 @@
 #include "project.h"
 #include "projectexplorer.h"
 #include "projectexplorersettings.h"
-#include "projectexplorerconstants.h"
 #include "target.h"
 #include "toolchain.h"
 #include "toolchainmanager.h"
@@ -45,10 +44,10 @@
 #include <coreplugin/icore.h>
 #include <coreplugin/idocument.h>
 #include <extensionsystem/pluginmanager.h>
+#include <utils/persistentsettings.h>
 #include <utils/hostosinfo.h>
 #include <utils/qtcassert.h>
 #include <utils/qtcprocess.h>
-#include <utils/persistentsettings.h>
 
 #include <QApplication>
 #include <QFile>
diff --git a/src/plugins/projectexplorer/settingsaccessor.h b/src/plugins/projectexplorer/settingsaccessor.h
index a879cd2221ca35d912048f9580d8b7d674be556a..eb043f4e975515477ab71dd96b65bed83bff14e1 100644
--- a/src/plugins/projectexplorer/settingsaccessor.h
+++ b/src/plugins/projectexplorer/settingsaccessor.h
@@ -31,7 +31,10 @@
 #define SETTINGSACCESSOR_H
 
 #include <utils/fileutils.h>
-#include <utils/persistentsettings.h>
+
+#include <QVariantMap>
+
+namespace Utils { class PersistentSettingsWriter; }
 
 namespace ProjectExplorer {
 
diff --git a/src/plugins/projectexplorer/showineditortaskhandler.cpp b/src/plugins/projectexplorer/showineditortaskhandler.cpp
index aee1be4749d1a920f854bc48bf4cf25f25cdf2b0..f01c9e3ced548396a345d3045ecb9163b376a327 100644
--- a/src/plugins/projectexplorer/showineditortaskhandler.cpp
+++ b/src/plugins/projectexplorer/showineditortaskhandler.cpp
@@ -29,7 +29,6 @@
 
 #include "showineditortaskhandler.h"
 
-#include "projectexplorerconstants.h"
 #include "task.h"
 
 #include <texteditor/basetexteditor.h>
diff --git a/src/plugins/projectexplorer/showoutputtaskhandler.cpp b/src/plugins/projectexplorer/showoutputtaskhandler.cpp
index 0e98e7e200928e98642f475f74f1088707d9e0c7..4b1c127c95e792da4f334711f41061bcda8d427f 100644
--- a/src/plugins/projectexplorer/showoutputtaskhandler.cpp
+++ b/src/plugins/projectexplorer/showoutputtaskhandler.cpp
@@ -29,7 +29,6 @@
 
 #include "showoutputtaskhandler.h"
 
-#include "projectexplorerconstants.h"
 #include "task.h"
 
 #include "compileoutputwindow.h"
diff --git a/src/plugins/projectexplorer/target.cpp b/src/plugins/projectexplorer/target.cpp
index 922af6c690d2cf078dacabeb237109062fc486cf..b0cf49affbf4eae39229e6462b495acb6c917168 100644
--- a/src/plugins/projectexplorer/target.cpp
+++ b/src/plugins/projectexplorer/target.cpp
@@ -37,7 +37,6 @@
 #include "buildconfiguration.h"
 #include "deployconfiguration.h"
 #include "project.h"
-#include "projectexplorerconstants.h"
 #include "runconfiguration.h"
 
 #include <limits>
diff --git a/src/plugins/projectexplorer/targetsettingspanel.cpp b/src/plugins/projectexplorer/targetsettingspanel.cpp
index c29920af64dd9cd15bfb3f3ae0756fa9ecade112..790704af8381b054a693ed13ab0391974422ef9f 100644
--- a/src/plugins/projectexplorer/targetsettingspanel.cpp
+++ b/src/plugins/projectexplorer/targetsettingspanel.cpp
@@ -43,13 +43,11 @@
 #include <projectexplorer/kit.h>
 #include <projectexplorer/kitmanager.h>
 #include <projectexplorer/buildmanager.h>
-#include <projectexplorer/projectexplorerconstants.h>
 #include <projectexplorer/buildconfiguration.h>
 #include <projectexplorer/deployconfiguration.h>
 #include <projectexplorer/runconfiguration.h>
 #include <utils/qtcassert.h>
 
-#include <QCoreApplication>
 #include <QLabel>
 #include <QMenu>
 #include <QMessageBox>
diff --git a/src/plugins/projectexplorer/task.cpp b/src/plugins/projectexplorer/task.cpp
index 58e95fb54014afc5b90977d7c845a4c5939a30f1..7418462fcada38eaa24be2cd134635b803d4200c 100644
--- a/src/plugins/projectexplorer/task.cpp
+++ b/src/plugins/projectexplorer/task.cpp
@@ -29,8 +29,6 @@
 
 #include "task.h"
 
-#include <QDir>
-
 namespace ProjectExplorer
 {
 
diff --git a/src/plugins/projectexplorer/taskhub.cpp b/src/plugins/projectexplorer/taskhub.cpp
index f8fbcdfe4dff0f257142a935117cb4eed2a4ec3a..eb7272db096332396d59585fc25d5efdfb4249ba 100644
--- a/src/plugins/projectexplorer/taskhub.cpp
+++ b/src/plugins/projectexplorer/taskhub.cpp
@@ -28,11 +28,8 @@
 ****************************************************************************/
 
 #include "taskhub.h"
-#include "extensionsystem/pluginmanager.h"
 #include "projectexplorer.h"
 #include <coreplugin/ioutputpane.h>
-#include <texteditor/basetextmark.h>
-#include <QMetaType>
 
 using namespace ProjectExplorer;
 
diff --git a/src/plugins/projectexplorer/taskmodel.cpp b/src/plugins/projectexplorer/taskmodel.cpp
index 2470f0663278dc9474b4c7cdc467ce99e7451763..c4234ecc90acf7754b1b3f01a086efde156ce612 100644
--- a/src/plugins/projectexplorer/taskmodel.cpp
+++ b/src/plugins/projectexplorer/taskmodel.cpp
@@ -30,7 +30,6 @@
 #include "taskmodel.h"
 
 #include "task.h"
-#include "taskhub.h"
 
 #include <utils/qtcassert.h>
 
diff --git a/src/plugins/projectexplorer/taskwindow.cpp b/src/plugins/projectexplorer/taskwindow.cpp
index 67320e93c1b3b1ce91889eeae518670647f4991f..1d613021cf4dfda060b8d32987974e93fb281072 100644
--- a/src/plugins/projectexplorer/taskwindow.cpp
+++ b/src/plugins/projectexplorer/taskwindow.cpp
@@ -36,22 +36,15 @@
 #include "taskmodel.h"
 
 #include <coreplugin/actionmanager/actionmanager.h>
-#include <coreplugin/actionmanager/command.h>
 #include <coreplugin/coreconstants.h>
-#include <coreplugin/icontext.h>
 #include <coreplugin/icore.h>
 #include <extensionsystem/pluginmanager.h>
 #include <utils/qtcassert.h>
 
 #include <QDir>
-#include <QFileInfo>
-#include <QApplication>
-#include <QClipboard>
-#include <QKeyEvent>
 #include <QListView>
 #include <QPainter>
 #include <QStyledItemDelegate>
-#include <QSortFilterProxyModel>
 #include <QMenu>
 #include <QToolButton>
 
diff --git a/src/plugins/projectexplorer/toolchain.cpp b/src/plugins/projectexplorer/toolchain.cpp
index 4ee75602876fc2a340496496e3edb43b62d56921..8a5a6be3558a6b4108b42f6a70846cdfda073b91 100644
--- a/src/plugins/projectexplorer/toolchain.cpp
+++ b/src/plugins/projectexplorer/toolchain.cpp
@@ -30,11 +30,11 @@
 #include "toolchain.h"
 
 #include "abi.h"
+#include "headerpath.h"
 #include "toolchainmanager.h"
 #include "task.h"
 
-#include <extensionsystem/pluginmanager.h>
-#include <utils/environment.h>
+#include <utils/fileutils.h>
 
 #include <QCoreApplication>
 #include <QUuid>
@@ -124,6 +124,11 @@ QString ToolChain::id() const
     return d->m_id;
 }
 
+QList<Utils::FileName> ToolChain::suggestedMkspecList() const
+{
+    return QList<Utils::FileName>();
+}
+
 Utils::FileName ToolChain::suggestedDebugger() const
 {
     return ToolChainManager::instance()->defaultDebugger(targetAbi());
diff --git a/src/plugins/projectexplorer/toolchain.h b/src/plugins/projectexplorer/toolchain.h
index 9a779f364bff7a063346b0dddb39ab6d917db1dc..b45de47853c9cf452c0ea231b6dfdb6a18f5d597 100644
--- a/src/plugins/projectexplorer/toolchain.h
+++ b/src/plugins/projectexplorer/toolchain.h
@@ -31,10 +31,6 @@
 #define TOOLCHAIN_H
 
 #include "projectexplorer_export.h"
-#include "headerpath.h"
-
-#include <coreplugin/id.h>
-#include <utils/fileutils.h>
 
 #include <QObject>
 #include <QString>
@@ -42,6 +38,7 @@
 
 namespace Utils {
 class Environment;
+class FileName;
 }
 
 namespace ProjectExplorer {
@@ -51,6 +48,7 @@ class ToolChainPrivate;
 }
 
 class Abi;
+class HeaderPath;
 class IOutputParser;
 class ToolChainConfigWidget;
 class ToolChainFactory;
@@ -73,7 +71,7 @@ public:
     bool isAutoDetected() const;
     QString id() const;
 
-    virtual QList<Utils::FileName> suggestedMkspecList() const { return QList<Utils::FileName>(); }
+    virtual QList<Utils::FileName> suggestedMkspecList() const;
     virtual Utils::FileName suggestedDebugger() const;
 
     virtual QString type() const = 0;
diff --git a/src/plugins/projectexplorer/toolchainconfigwidget.cpp b/src/plugins/projectexplorer/toolchainconfigwidget.cpp
index c41f94172438b0cf70f654271531fc35015292fb..7784d10faa31146f52c72d7fa06ea41054994ce7 100644
--- a/src/plugins/projectexplorer/toolchainconfigwidget.cpp
+++ b/src/plugins/projectexplorer/toolchainconfigwidget.cpp
@@ -31,12 +31,10 @@
 #include "toolchain.h"
 
 #include <utils/qtcassert.h>
-#include <utils/pathchooser.h>
 
 #include <QString>
 
 #include <QFormLayout>
-#include <QGridLayout>
 #include <QLineEdit>
 #include <QLabel>
 
diff --git a/src/plugins/projectexplorer/toolchainconfigwidget.h b/src/plugins/projectexplorer/toolchainconfigwidget.h
index ddfaa60dc13ed659a3dee0fba04ad49a13aa7106..3c0c02fd372f4f9ecc2b7641c201fcc26648097f 100644
--- a/src/plugins/projectexplorer/toolchainconfigwidget.h
+++ b/src/plugins/projectexplorer/toolchainconfigwidget.h
@@ -32,8 +32,6 @@
 
 #include "projectexplorer_export.h"
 
-#include <utils/fileutils.h>
-
 #include <QWidget>
 
 QT_BEGIN_NAMESPACE
diff --git a/src/plugins/projectexplorer/toolchainmanager.cpp b/src/plugins/projectexplorer/toolchainmanager.cpp
index e24bef00e8d8183e531c430c2f330b4f8bf2135c..53728931de71b73bc3cf4dedea5015b1a6b5680d 100644
--- a/src/plugins/projectexplorer/toolchainmanager.cpp
+++ b/src/plugins/projectexplorer/toolchainmanager.cpp
@@ -31,18 +31,16 @@
 
 #include "abi.h"
 #include "kitinformation.h"
-#include "projectexplorer.h"
 #include "toolchain.h"
 
 #include <coreplugin/icore.h>
 
 #include <extensionsystem/pluginmanager.h>
-#include <extensionsystem/pluginspec.h>
 
+#include <utils/fileutils.h>
 #include <utils/persistentsettings.h>
 #include <utils/qtcassert.h>
 
-#include <QCoreApplication>
 #include <QDir>
 #include <QSettings>
 
diff --git a/src/plugins/projectexplorer/toolchainmanager.h b/src/plugins/projectexplorer/toolchainmanager.h
index 58a656c325cfe3e0bd996df0e2293dee0abfde30..2202643aac8c8acaedc0de3dcd23bb862c61d9f4 100644
--- a/src/plugins/projectexplorer/toolchainmanager.h
+++ b/src/plugins/projectexplorer/toolchainmanager.h
@@ -32,12 +32,12 @@
 
 #include "projectexplorer_export.h"
 
-#include <utils/fileutils.h>
 
 #include <QList>
 #include <QObject>
 #include <QString>
 
+namespace Utils { class FileName; }
 namespace ProjectExplorer {
 class ProjectExplorerPlugin;
 class ToolChain;
diff --git a/src/plugins/projectexplorer/toolchainoptionspage.cpp b/src/plugins/projectexplorer/toolchainoptionspage.cpp
index 5f12c1af7d6badc60e7fde31156e8fb137bb6ea7..61219d7865621ed81a445d18bb4dadb262c4fc87 100644
--- a/src/plugins/projectexplorer/toolchainoptionspage.cpp
+++ b/src/plugins/projectexplorer/toolchainoptionspage.cpp
@@ -34,7 +34,6 @@
 #include "toolchainconfigwidget.h"
 #include "toolchainmanager.h"
 
-#include <coreplugin/icore.h>
 #include <extensionsystem/pluginmanager.h>
 
 #include <utils/detailswidget.h>
@@ -45,7 +44,6 @@
 #include <QHBoxLayout>
 #include <QHeaderView>
 #include <QItemSelectionModel>
-#include <QLabel>
 #include <QMenu>
 #include <QMessageBox>
 #include <QPushButton>
diff --git a/src/plugins/projectexplorer/vcsannotatetaskhandler.cpp b/src/plugins/projectexplorer/vcsannotatetaskhandler.cpp
index d2ae52c2ec27df5712d0bf05ffb0b01c5a18dfa2..773b2567d1a3d03d8c010e1329968b2b96c1a0da 100644
--- a/src/plugins/projectexplorer/vcsannotatetaskhandler.cpp
+++ b/src/plugins/projectexplorer/vcsannotatetaskhandler.cpp
@@ -30,7 +30,6 @@
 #include "vcsannotatetaskhandler.h"
 
 #include "task.h"
-#include "projectexplorerconstants.h"
 
 #include <coreplugin/icore.h>
 #include <coreplugin/iversioncontrol.h>
diff --git a/src/plugins/projectexplorer/wincetoolchain.cpp b/src/plugins/projectexplorer/wincetoolchain.cpp
index 558658ded4e55ffe55db92c299511d01dea2d218..cb26749fed974211f67cf92237e97d29c6a885eb 100644
--- a/src/plugins/projectexplorer/wincetoolchain.cpp
+++ b/src/plugins/projectexplorer/wincetoolchain.cpp
@@ -31,10 +31,7 @@
 
 #include "msvcparser.h"
 #include "projectexplorerconstants.h"
-#include "headerpath.h"
 
-#include <projectexplorer/projectexplorer.h>
-#include <projectexplorer/projectexplorersettings.h>
 #include <utils/qtcassert.h>
 
 #include <QDir>
diff --git a/src/plugins/projectexplorer/wincetoolchain.h b/src/plugins/projectexplorer/wincetoolchain.h
index de94a4a8ca4cb66e915cdfa7da93f1453a0051df..152a98200d3b3c9567db645eba333d6f4c3bd570 100644
--- a/src/plugins/projectexplorer/wincetoolchain.h
+++ b/src/plugins/projectexplorer/wincetoolchain.h
@@ -34,10 +34,6 @@
 #include "abi.h"
 #include "toolchainconfigwidget.h"
 
-#include <utils/environment.h>
-
-#include <QLabel>
-
 namespace ProjectExplorer {
 namespace Internal {
 
diff --git a/src/plugins/qnx/blackberrydeployconfigurationwidget.h b/src/plugins/qnx/blackberrydeployconfigurationwidget.h
index 25c29c3f438f5b82bb976246fda9b1bbc945ed3f..dad629165b8cd7f4e4926bb0f0b1a2eb3adb7edc 100644
--- a/src/plugins/qnx/blackberrydeployconfigurationwidget.h
+++ b/src/plugins/qnx/blackberrydeployconfigurationwidget.h
@@ -33,6 +33,7 @@
 #define QNX_INTERNAL_BLACKBERRYDEPLOYCONFIGURATIONWIDGET_H
 
 #include <projectexplorer/deployconfiguration.h>
+#include <projectexplorer/namedwidget.h>
 
 namespace Qnx {
 namespace Internal {
diff --git a/src/plugins/qt4projectmanager/qmakekitconfigwidget.cpp b/src/plugins/qt4projectmanager/qmakekitconfigwidget.cpp
index b6aacd77a0fedaf35a59e33cdec030c674e0689e..26d2e358e8106235b5b8bf30fe6356a59d93eb04 100644
--- a/src/plugins/qt4projectmanager/qmakekitconfigwidget.cpp
+++ b/src/plugins/qt4projectmanager/qmakekitconfigwidget.cpp
@@ -35,6 +35,8 @@
 #include <coreplugin/icore.h>
 #include <projectexplorer/projectexplorerconstants.h>
 
+#include <utils/fileutils.h>
+
 #include <QLineEdit>
 
 namespace Qt4ProjectManager {
diff --git a/src/plugins/qt4projectmanager/qmakekitinformation.cpp b/src/plugins/qt4projectmanager/qmakekitinformation.cpp
index 49db7a942b8152b4f02a9cd2c1b157a601d924c6..e3e6918cbe69f93f640e97f694b20c580a8d5ae7 100644
--- a/src/plugins/qt4projectmanager/qmakekitinformation.cpp
+++ b/src/plugins/qt4projectmanager/qmakekitinformation.cpp
@@ -32,6 +32,7 @@
 #include "qmakekitconfigwidget.h"
 
 #include <projectexplorer/projectexplorerconstants.h>
+#include <projectexplorer/toolchain.h>
 #include <projectexplorer/toolchainmanager.h>
 
 #include <qtsupport/baseqtversion.h>
diff --git a/src/plugins/remotelinux/remotelinuxdeployconfigurationfactory.cpp b/src/plugins/remotelinux/remotelinuxdeployconfigurationfactory.cpp
index e7772aeae062e043d7f0355f5d34940e24883422..379790897358720064d467087e142e5edaa11167 100644
--- a/src/plugins/remotelinux/remotelinuxdeployconfigurationfactory.cpp
+++ b/src/plugins/remotelinux/remotelinuxdeployconfigurationfactory.cpp
@@ -34,6 +34,7 @@
 #include "remotelinuxdeployconfiguration.h"
 
 #include <projectexplorer/abi.h>
+#include <projectexplorer/toolchain.h>
 #include <projectexplorer/kitinformation.h>
 #include <projectexplorer/projectexplorerconstants.h>
 #include <projectexplorer/project.h>
diff --git a/src/plugins/remotelinux/remotelinuxdeployconfigurationwidget.h b/src/plugins/remotelinux/remotelinuxdeployconfigurationwidget.h
index f155414530399658a49bab1dbc14ecb3e808b4dd..13758181db04aa2b1dd032d0642087a1bab6c53d 100644
--- a/src/plugins/remotelinux/remotelinuxdeployconfigurationwidget.h
+++ b/src/plugins/remotelinux/remotelinuxdeployconfigurationwidget.h
@@ -32,6 +32,7 @@
 #include "remotelinux_export.h"
 
 #include <projectexplorer/deployconfiguration.h>
+#include <projectexplorer/namedwidget.h>
 
 namespace RemoteLinux {
 class RemoteLinuxDeployConfiguration;
diff --git a/src/plugins/vcsbase/baseannotationhighlighter.cpp b/src/plugins/vcsbase/baseannotationhighlighter.cpp
index 093a38db568c57cb509bd787fd63464a18dfac4b..613c2a7b902136390dce18c137ad4f0723aec48e 100644
--- a/src/plugins/vcsbase/baseannotationhighlighter.cpp
+++ b/src/plugins/vcsbase/baseannotationhighlighter.cpp
@@ -29,11 +29,9 @@
 
 #include "baseannotationhighlighter.h"
 
-#include <QSet>
 #include <QDebug>
 #include <QColor>
 #include <QTextDocument>
-#include <QTextEdit>
 #include <QTextCharFormat>
 
 typedef QMap<QString, QTextCharFormat> ChangeNumberFormatMap;
diff --git a/src/plugins/vcsbase/basecheckoutwizard.cpp b/src/plugins/vcsbase/basecheckoutwizard.cpp
index 91d9db1b0618ce1cca3ba788ee87777eb9e0d692..880b1affb9743e3be91707d5d3a0bb3502b32df0 100644
--- a/src/plugins/vcsbase/basecheckoutwizard.cpp
+++ b/src/plugins/vcsbase/basecheckoutwizard.cpp
@@ -28,15 +28,12 @@
 ****************************************************************************/
 
 #include "basecheckoutwizard.h"
-#include "vcsbaseconstants.h"
 #include "checkoutwizarddialog.h"
 #include "checkoutjobs.h"
 
 #include <projectexplorer/projectexplorer.h>
-#include <projectexplorer/projectexplorerconstants.h>
 
 #include <QCoreApplication>
-#include <QFileInfo>
 #include <QDir>
 #include <QMessageBox>
 
diff --git a/src/plugins/vcsbase/basevcseditorfactory.cpp b/src/plugins/vcsbase/basevcseditorfactory.cpp
index b46c321b48f25d458effad3b0a421f1a93c14da9..03488abe7a6fccab0bbe1624292ca13a05d615a0 100644
--- a/src/plugins/vcsbase/basevcseditorfactory.cpp
+++ b/src/plugins/vcsbase/basevcseditorfactory.cpp
@@ -30,12 +30,11 @@
 #include "basevcseditorfactory.h"
 #include "vcsbaseeditor.h"
 
-#include <coreplugin/editormanager/editormanager.h>
-#include <texteditor/fontsettings.h>
 #include <texteditor/texteditoractionhandler.h>
 #include <texteditor/texteditorsettings.h>
 
 #include <QCoreApplication>
+#include <QStringList>
 
 /*!
     \class VcsBase::BaseVCSEditorFactory
diff --git a/src/plugins/vcsbase/basevcseditorfactory.h b/src/plugins/vcsbase/basevcseditorfactory.h
index 722bcb6c268584d664cd8d2b523e0235a67ad4f7..1f0d4402009013fc043c66d7b16fd07bd41957d1 100644
--- a/src/plugins/vcsbase/basevcseditorfactory.h
+++ b/src/plugins/vcsbase/basevcseditorfactory.h
@@ -35,7 +35,7 @@
 
 #include <coreplugin/editormanager/ieditorfactory.h>
 
-#include <QStringList>
+QT_FORWARD_DECLARE_CLASS(QStringList)
 
 namespace VcsBase {
 namespace Internal {
diff --git a/src/plugins/vcsbase/basevcssubmiteditorfactory.cpp b/src/plugins/vcsbase/basevcssubmiteditorfactory.cpp
index 146fe25c5384b53ce511ea3ec30a36fc0cc68678..b17ea6b57eb3ab79e1a99f6e503c948c36a2f49f 100644
--- a/src/plugins/vcsbase/basevcssubmiteditorfactory.cpp
+++ b/src/plugins/vcsbase/basevcssubmiteditorfactory.cpp
@@ -30,8 +30,6 @@
 #include "basevcssubmiteditorfactory.h"
 #include "vcsbasesubmiteditor.h"
 
-#include <coreplugin/editormanager/editormanager.h>
-
 namespace VcsBase {
 
 namespace Internal {
diff --git a/src/plugins/vcsbase/checkoutjobs.cpp b/src/plugins/vcsbase/checkoutjobs.cpp
index d2509da6ed2e66e998cbecbc5bf5e7cb8314e1fa..7b618ec625f265cd67f64f99713b088f91157632 100644
--- a/src/plugins/vcsbase/checkoutjobs.cpp
+++ b/src/plugins/vcsbase/checkoutjobs.cpp
@@ -35,6 +35,7 @@
 #include <QDebug>
 #include <QQueue>
 #include <QDir>
+#include <QStringList>
 #include <utils/synchronousprocess.h>
 #include <utils/qtcassert.h>
 
diff --git a/src/plugins/vcsbase/checkoutjobs.h b/src/plugins/vcsbase/checkoutjobs.h
index 053837244e4ea0972618deae16812894a7b3bbc6..ce4c9a01129ff6d4a10c72921dc0dbb368af8273 100644
--- a/src/plugins/vcsbase/checkoutjobs.h
+++ b/src/plugins/vcsbase/checkoutjobs.h
@@ -33,10 +33,11 @@
 #include "vcsbase_global.h"
 
 #include <QObject>
-#include <QStringList>
 #include <QProcess>
 #include <QProcessEnvironment>
 
+QT_FORWARD_DECLARE_CLASS(QStringList)
+
 namespace VcsBase {
 
 namespace Internal { class ProcessCheckoutJobPrivate; }
diff --git a/src/plugins/vcsbase/checkoutprogresswizardpage.cpp b/src/plugins/vcsbase/checkoutprogresswizardpage.cpp
index a914c8b92d8bf43a25b0028bb5335a3c5dd95986..4b44a905da7538d8ccc3d12faa8ec1b3b56a6a31 100644
--- a/src/plugins/vcsbase/checkoutprogresswizardpage.cpp
+++ b/src/plugins/vcsbase/checkoutprogresswizardpage.cpp
@@ -34,7 +34,6 @@
 #include <utils/qtcassert.h>
 
 #include <QApplication>
-#include <QCursor>
 
 /*!
     \class VcsBase::CheckoutProgressWizardPage
diff --git a/src/plugins/vcsbase/command.cpp b/src/plugins/vcsbase/command.cpp
index 70856bf9b1f48942e7542f75ca4e4b73956e52d4..556f86515f653541ecdad2f7b6fa1d51f1dcf50e 100644
--- a/src/plugins/vcsbase/command.cpp
+++ b/src/plugins/vcsbase/command.cpp
@@ -28,19 +28,20 @@
 ****************************************************************************/
 
 #include "command.h"
-#include "vcsbaseconstants.h"
 
 #include <coreplugin/icore.h>
 #include <coreplugin/progressmanager/progressmanager.h>
-#include <extensionsystem/pluginmanager.h>
 #include <utils/synchronousprocess.h>
 
 #include <QDebug>
 #include <QProcess>
+#include <QProcessEnvironment>
 #include <QFuture>
 #include <QtConcurrentRun>
 #include <QFileInfo>
 #include <QCoreApplication>
+#include <QVariant>
+#include <QStringList>
 
 Q_DECLARE_METATYPE(QVariant)
 
diff --git a/src/plugins/vcsbase/command.h b/src/plugins/vcsbase/command.h
index 8a7a0cee71e205b812e1d495dc9b93fa0e3af07f..5619d702c4434975ef4f2fccdfc3db94a1afa761 100644
--- a/src/plugins/vcsbase/command.h
+++ b/src/plugins/vcsbase/command.h
@@ -33,9 +33,10 @@
 #include "vcsbase_global.h"
 
 #include <QObject>
-#include <QStringList>
-#include <QVariant>
-#include <QProcessEnvironment>
+
+QT_FORWARD_DECLARE_CLASS(QStringList)
+QT_FORWARD_DECLARE_CLASS(QVariant)
+QT_FORWARD_DECLARE_CLASS(QProcessEnvironment)
 
 namespace VcsBase {
 
diff --git a/src/plugins/vcsbase/commonsettingspage.cpp b/src/plugins/vcsbase/commonsettingspage.cpp
index 7bcc354d4ed2f09fc35aa3ae984fbc8ec5a7be34..16ac3600cdd5072832173653d0cf4d89540affd1 100644
--- a/src/plugins/vcsbase/commonsettingspage.cpp
+++ b/src/plugins/vcsbase/commonsettingspage.cpp
@@ -29,16 +29,13 @@
 
 #include "commonsettingspage.h"
 #include "vcsbaseconstants.h"
-#include "nicknamedialog.h"
 
 #include "ui_commonsettingspage.h"
 
 #include <coreplugin/icore.h>
-#include <extensionsystem/pluginmanager.h>
 
 #include <QDebug>
 #include <QCoreApplication>
-#include <QMessageBox>
 
 namespace VcsBase {
 namespace Internal {
diff --git a/src/plugins/vcsbase/commonsettingspage.h b/src/plugins/vcsbase/commonsettingspage.h
index cbbe05a670f24888bfcc95ca6db4f6c1134697ce..e0d0b1e45bd11e8a11df90c43e0633f3b0ddc52d 100644
--- a/src/plugins/vcsbase/commonsettingspage.h
+++ b/src/plugins/vcsbase/commonsettingspage.h
@@ -34,7 +34,6 @@
 
 #include "vcsbaseoptionspage.h"
 
-#include <QPointer>
 #include <QWidget>
 
 namespace VcsBase {
diff --git a/src/plugins/vcsbase/diffhighlighter.cpp b/src/plugins/vcsbase/diffhighlighter.cpp
index 85052ddcbcad2c8eb3ecd8d89600373de4e7ca9a..464f399c397a7450d6c0d358fd407b023883c750 100644
--- a/src/plugins/vcsbase/diffhighlighter.cpp
+++ b/src/plugins/vcsbase/diffhighlighter.cpp
@@ -36,7 +36,6 @@
 #include <QDebug>
 #include <QtAlgorithms>
 #include <QRegExp>
-#include <QBrush>
 
 /*!
     \class VcsBase::DiffHighlighter
diff --git a/src/plugins/vcsbase/nicknamedialog.cpp b/src/plugins/vcsbase/nicknamedialog.cpp
index 9d64526291278604e5f56f032c4c716dfb3c00f8..6630da56218c3771e591af05437a6926221fbd2d 100644
--- a/src/plugins/vcsbase/nicknamedialog.cpp
+++ b/src/plugins/vcsbase/nicknamedialog.cpp
@@ -33,7 +33,6 @@
 #include <utils/fileutils.h>
 
 #include <QDebug>
-#include <QFile>
 #include <QDir>
 #include <QPushButton>
 #include <QStandardItemModel>
diff --git a/src/plugins/vcsbase/submitfilemodel.cpp b/src/plugins/vcsbase/submitfilemodel.cpp
index f5d4a4212a4f6d71df2a07d2aff7b0d21a7b3987..89555876acbe203a5844d55e154430559d601778 100644
--- a/src/plugins/vcsbase/submitfilemodel.cpp
+++ b/src/plugins/vcsbase/submitfilemodel.cpp
@@ -28,7 +28,6 @@
 ****************************************************************************/
 
 #include "submitfilemodel.h"
-#include "vcsbaseconstants.h"
 
 #include <coreplugin/fileiconprovider.h>
 #include <utils/qtcassert.h>
diff --git a/src/plugins/vcsbase/vcsbaseclient.cpp b/src/plugins/vcsbase/vcsbaseclient.cpp
index b778149ae3bafc35906de3ab2ace3a8813c98328..059dff26c0f0a509887bbaea6b66d2accafa6d94 100644
--- a/src/plugins/vcsbase/vcsbaseclient.cpp
+++ b/src/plugins/vcsbase/vcsbaseclient.cpp
@@ -29,12 +29,10 @@
 
 #include "vcsbaseclient.h"
 #include "command.h"
-#include "vcsbaseconstants.h"
 #include "vcsbaseclientsettings.h"
 #include "vcsbaseeditorparameterwidget.h"
 
 #include <coreplugin/icore.h>
-#include <coreplugin/editormanager/editormanager.h>
 #include <coreplugin/vcsmanager.h>
 
 #include <utils/qtcassert.h>
@@ -44,7 +42,6 @@
 #include <vcsbase/vcsbaseplugin.h>
 
 #include <QStringList>
-#include <QSharedPointer>
 #include <QDir>
 #include <QProcess>
 #include <QSignalMapper>
@@ -52,7 +49,8 @@
 #include <QDebug>
 #include <QFileInfo>
 #include <QByteArray>
-#include <QMetaType>
+#include <QVariant>
+#include <QProcessEnvironment>
 
 /*!
     \class VcsBase::VcsBaseClient
diff --git a/src/plugins/vcsbase/vcsbaseclient.h b/src/plugins/vcsbase/vcsbaseclient.h
index 08659977abdf013305acd143e765cee2b1d140c3..114fcd8e055412d4080c24cac99b510656075e98 100644
--- a/src/plugins/vcsbase/vcsbaseclient.h
+++ b/src/plugins/vcsbase/vcsbaseclient.h
@@ -35,12 +35,11 @@
 
 #include <QObject>
 #include <QStringList>
-#include <QSharedPointer>
-#include <QVariant>
-#include <QProcessEnvironment>
 
 QT_BEGIN_NAMESPACE
 class QFileInfo;
+class QVariant;
+class QProcessEnvironment;
 QT_END_NAMESPACE
 
 namespace Utils {
diff --git a/src/plugins/vcsbase/vcsbaseclientsettings.cpp b/src/plugins/vcsbase/vcsbaseclientsettings.cpp
index 683312696b24b2eb3359e66fce49d0a02781f280..5e56da91f5818e752b0863f20da00dfb1e4b0e27 100644
--- a/src/plugins/vcsbase/vcsbaseclientsettings.cpp
+++ b/src/plugins/vcsbase/vcsbaseclientsettings.cpp
@@ -31,9 +31,9 @@
 
 #include <utils/environment.h>
 #include <utils/hostosinfo.h>
-#include <utils/synchronousprocess.h>
 
 #include <QSettings>
+#include <QVariant>
 
 namespace {
 
diff --git a/src/plugins/vcsbase/vcsbaseeditor.cpp b/src/plugins/vcsbase/vcsbaseeditor.cpp
index 05d1e56e87bb2e1cebc2f4b52a485385ac6033e1..59541e6b9ac20c4c6f525cefe0be926e5672604d 100644
--- a/src/plugins/vcsbase/vcsbaseeditor.cpp
+++ b/src/plugins/vcsbase/vcsbaseeditor.cpp
@@ -30,16 +30,9 @@
 #include "vcsbaseeditor.h"
 #include "diffhighlighter.h"
 #include "baseannotationhighlighter.h"
-#include "vcsbaseconstants.h"
-#include "vcsbaseoutputwindow.h"
 #include "vcsbaseplugin.h"
 
-#include <coreplugin/editormanager/editormanager.h>
 #include <coreplugin/icore.h>
-#include <coreplugin/idocument.h>
-#include <coreplugin/iversioncontrol.h>
-#include <coreplugin/coreconstants.h>
-#include <coreplugin/modemanager.h>
 #include <coreplugin/vcsmanager.h>
 #include <extensionsystem/pluginmanager.h>
 #include <projectexplorer/editorconfiguration.h>
@@ -49,30 +42,24 @@
 #include <texteditor/basetextdocument.h>
 #include <texteditor/basetextdocumentlayout.h>
 #include <texteditor/fontsettings.h>
-#include <texteditor/texteditorconstants.h>
 #include <texteditor/texteditorsettings.h>
 #include <utils/qtcassert.h>
-#include <extensionsystem/invoker.h>
 
 #include <QDebug>
 #include <QFileInfo>
 #include <QFile>
-#include <QProcess>
 #include <QRegExp>
 #include <QSet>
 #include <QTextCodec>
-#include <QTextStream>
 #include <QUrl>
 #include <QTextBlock>
 #include <QDesktopServices>
 #include <QAction>
 #include <QKeyEvent>
-#include <QLayout>
 #include <QMenu>
 #include <QTextCursor>
 #include <QTextEdit>
 #include <QComboBox>
-#include <QToolBar>
 #include <QClipboard>
 #include <QApplication>
 #include <QMessageBox>
diff --git a/src/plugins/vcsbase/vcsbaseeditorparameterwidget.cpp b/src/plugins/vcsbase/vcsbaseeditorparameterwidget.cpp
index 2bb2c57deb5655195e517572ab1626b4b2dd0b08..8eec2807a196dead4b49c7cb3cd55d51f6519c5e 100644
--- a/src/plugins/vcsbase/vcsbaseeditorparameterwidget.cpp
+++ b/src/plugins/vcsbase/vcsbaseeditorparameterwidget.cpp
@@ -33,6 +33,7 @@
 #include <QToolButton>
 #include <QHBoxLayout>
 
+#include <QStringList>
 #include <QDebug>
 
 namespace VcsBase {
diff --git a/src/plugins/vcsbase/vcsbaseeditorparameterwidget.h b/src/plugins/vcsbase/vcsbaseeditorparameterwidget.h
index 9d781d458eb4a428c09c858766c0d62b0bfd8bf6..79f2f862e1ce31aeeb4ca0363299be256d0f0445 100644
--- a/src/plugins/vcsbase/vcsbaseeditorparameterwidget.h
+++ b/src/plugins/vcsbase/vcsbaseeditorparameterwidget.h
@@ -32,13 +32,13 @@
 
 #include "vcsbase_global.h"
 
-#include <QStringList>
 #include <QVariant>
 #include <QWidget>
 
 QT_BEGIN_NAMESPACE
 class QComboBox;
 class QToolButton;
+class QStringList;
 QT_END_NAMESPACE
 
 namespace VcsBase {
diff --git a/src/plugins/vcsbase/vcsbaseoutputwindow.cpp b/src/plugins/vcsbase/vcsbaseoutputwindow.cpp
index d81b7e386e333ee140aaa1c1c536e34c825bf419..3728253f556ced95b93d73ec5ebb28279c29c069 100644
--- a/src/plugins/vcsbase/vcsbaseoutputwindow.cpp
+++ b/src/plugins/vcsbase/vcsbaseoutputwindow.cpp
@@ -29,7 +29,6 @@
 
 #include "vcsbaseoutputwindow.h"
 
-#include <utils/qtcassert.h>
 #include <coreplugin/editormanager/editormanager.h>
 
 #include <QPlainTextEdit>
@@ -38,7 +37,6 @@
 #include <QTextBlock>
 #include <QMenu>
 #include <QAction>
-#include <QTextDocument>
 #include <QTextBlockUserData>
 
 #include <QPointer>
diff --git a/src/plugins/vcsbase/vcsbaseplugin.cpp b/src/plugins/vcsbase/vcsbaseplugin.cpp
index 4af135df64b9eeb5abfb7ce436e5422f37998f67..11991ac5753ba88ad10138944fcc49f26e498c53 100644
--- a/src/plugins/vcsbase/vcsbaseplugin.cpp
+++ b/src/plugins/vcsbase/vcsbaseplugin.cpp
@@ -35,17 +35,14 @@
 #include "corelistener.h"
 
 #include <coreplugin/icore.h>
-#include <coreplugin/idocument.h>
+#include <coreplugin/id.h>
 #include <coreplugin/iversioncontrol.h>
-#include <coreplugin/documentmanager.h>
 #include <coreplugin/editormanager/editormanager.h>
-#include <coreplugin/editormanager/ieditor.h>
 #include <coreplugin/vcsmanager.h>
 #include <projectexplorer/projectexplorer.h>
 #include <projectexplorer/project.h>
 #include <utils/qtcassert.h>
 #include <utils/synchronousprocess.h>
-#include <utils/environment.h>
 
 #include <QDebug>
 #include <QDir>
@@ -53,7 +50,6 @@
 #include <QScopedPointer>
 #include <QSharedPointer>
 #include <QProcessEnvironment>
-#include <QTextStream>
 #include <QTextCodec>
 
 #include <QAction>
diff --git a/src/plugins/vcsbase/vcsbaseplugin.h b/src/plugins/vcsbase/vcsbaseplugin.h
index c27b68a5b6da6a442d093695ce0e37ec6d4712a9..ae018d9933afc6c17083a30528232a3b23076932 100644
--- a/src/plugins/vcsbase/vcsbaseplugin.h
+++ b/src/plugins/vcsbase/vcsbaseplugin.h
@@ -32,7 +32,6 @@
 
 #include "vcsbase_global.h"
 
-#include <coreplugin/id.h>
 #include <extensionsystem/iplugin.h>
 
 #include <QSharedDataPointer>
@@ -46,7 +45,10 @@ QT_END_NAMESPACE
 
 namespace Utils { struct SynchronousProcessResponse; }
 
-namespace Core { class IVersionControl; }
+namespace Core {
+class IVersionControl;
+class Id;
+}
 
 namespace VcsBase {
 
diff --git a/src/plugins/vcsbase/vcsbasesubmiteditor.cpp b/src/plugins/vcsbase/vcsbasesubmiteditor.cpp
index 3bb4c8ed181f764196835584cae9cec60a872f6b..8c708ac6701fc815cd7b5d366203e5267210cc93 100644
--- a/src/plugins/vcsbase/vcsbasesubmiteditor.cpp
+++ b/src/plugins/vcsbase/vcsbasesubmiteditor.cpp
@@ -39,21 +39,9 @@
 #include "vcsplugin.h"
 
 #include <aggregation/aggregate.h>
-#include <cplusplus/Control.h>
-#include <cplusplus/CoreTypes.h>
-#include <cplusplus/FullySpecifiedType.h>
-#include <cplusplus/Literals.h>
 #include <cpptools/ModelManagerInterface.h>
-#include <cplusplus/Symbol.h>
-#include <cplusplus/Symbols.h>
-#include <cplusplus/TranslationUnit.h>
 #include <coreplugin/icore.h>
-#include <coreplugin/id.h>
-#include <coreplugin/idocument.h>
-#include <coreplugin/mainwindow.h>
-#include <coreplugin/actionmanager/actionmanager.h>
 #include <coreplugin/editormanager/editormanager.h>
-#include <utils/completingtextedit.h>
 #include <utils/checkablemessagebox.h>
 #include <utils/synchronousprocess.h>
 #include <utils/fileutils.h>
@@ -63,25 +51,21 @@
 #include <texteditor/texteditorsettings.h>
 
 #include <projectexplorer/projectexplorer.h>
-#include <projectexplorer/session.h>
 #include <projectexplorer/project.h>
 
 #include <QDebug>
 #include <QDir>
 #include <QProcess>
-#include <QFile>
 #include <QFileInfo>
 #include <QPointer>
 #include <QStringListModel>
-#include <QTextStream>
 #include <QStyle>
 #include <QToolBar>
 #include <QAction>
 #include <QApplication>
 #include <QMessageBox>
 #include <QCompleter>
-#include <QLineEdit>
-#include <QTextEdit>
+
 #include <cstring>
 
 enum { debug = 0 };
diff --git a/src/plugins/vcsbase/vcsconfigurationpage.cpp b/src/plugins/vcsbase/vcsconfigurationpage.cpp
index a9f1552b4fccf8d75b3f4a59cde5083089916d61..eff1dee121f12fd2fe5d9acc3018a12b94217a30 100644
--- a/src/plugins/vcsbase/vcsconfigurationpage.cpp
+++ b/src/plugins/vcsbase/vcsconfigurationpage.cpp
@@ -31,7 +31,6 @@
 
 #include "vcsbaseconstants.h"
 
-#include <coreplugin/dialogs/iwizard.h>
 #include <coreplugin/icore.h>
 #include <coreplugin/iversioncontrol.h>
 
diff --git a/src/plugins/vcsbase/vcsplugin.cpp b/src/plugins/vcsbase/vcsplugin.cpp
index ee080fcd640db808e14782e30134f3f24806e0e7..23d87fad9095f5dc2c8ef98c9fb18c956d7108cb 100644
--- a/src/plugins/vcsbase/vcsplugin.cpp
+++ b/src/plugins/vcsbase/vcsplugin.cpp
@@ -28,15 +28,12 @@
 ****************************************************************************/
 
 #include "vcsplugin.h"
-#include "diffhighlighter.h"
 #include "commonsettingspage.h"
 #include "nicknamedialog.h"
 #include "vcsbaseoutputwindow.h"
 #include "corelistener.h"
 
 #include <coreplugin/icore.h>
-#include <coreplugin/coreconstants.h>
-#include <coreplugin/id.h>
 #include <coreplugin/mimedatabase.h>
 
 #include <QtPlugin>
diff --git a/src/plugins/vcsbase/vcsplugin.h b/src/plugins/vcsbase/vcsplugin.h
index 8eb0d7c0c253e26e7b405db4be2f09ff7ef87456..a111f27b1c2b5bee15e0f5be8bbf0ed42c2bf6f2 100644
--- a/src/plugins/vcsbase/vcsplugin.h
+++ b/src/plugins/vcsbase/vcsplugin.h
@@ -32,8 +32,6 @@
 
 #include <extensionsystem/iplugin.h>
 
-#include <QObject>
-
 QT_BEGIN_NAMESPACE
 class QStandardItemModel;
 QT_END_NAMESPACE