summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTobias Hunger <tobias.hunger@digia.com>2014-06-20 14:32:40 +0200
committerTobias Hunger <tobias.hunger@digia.com>2014-06-23 15:04:04 +0200
commit4eb2908c44033f884b82560360440ebb3269af63 (patch)
tree673f05b88cd32da803724d95bb8f7aec0af3badf /src
parent43735f28dd5e72e461f854faa6bb9ad1ae033698 (diff)
downloadqt-creator-4eb2908c44033f884b82560360440ebb3269af63.tar.gz
Unify "missing compiler" and "missing build configuration" tasks
Everybody used to do their own thing... Also unify the "Configuration is faulty" message we write into the Application output window. Change-Id: I0e5c4ec68155d66aa1d0ea53134b98917869e5c6 Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/autotoolsprojectmanager/makestep.cpp12
-rw-r--r--src/plugins/cmakeprojectmanager/makestep.cpp16
-rw-r--r--src/plugins/genericprojectmanager/genericmakestep.cpp12
-rw-r--r--src/plugins/ios/iosbuildstep.cpp15
-rw-r--r--src/plugins/projectexplorer/abstractprocessstep.cpp6
-rw-r--r--src/plugins/projectexplorer/abstractprocessstep.h3
-rw-r--r--src/plugins/projectexplorer/task.cpp22
-rw-r--r--src/plugins/projectexplorer/task.h4
-rw-r--r--src/plugins/qmakeprojectmanager/makestep.cpp12
-rw-r--r--src/plugins/qmakeprojectmanager/qmakestep.cpp2
10 files changed, 70 insertions, 34 deletions
diff --git a/src/plugins/autotoolsprojectmanager/makestep.cpp b/src/plugins/autotoolsprojectmanager/makestep.cpp
index f9384bda2b..04a5888664 100644
--- a/src/plugins/autotoolsprojectmanager/makestep.cpp
+++ b/src/plugins/autotoolsprojectmanager/makestep.cpp
@@ -164,13 +164,15 @@ bool MakeStep::init()
BuildConfiguration *bc = buildConfiguration();
if (!bc)
bc = target()->activeBuildConfiguration();
+ if (!bc)
+ emit addTask(Task::buildConfigurationMissingTask());
ToolChain *tc = ToolChainKitInformation::toolChain(target()->kit());
- if (!tc) {
- emit addTask(Task(Task::Error, tr("Qt Creator needs a compiler set up to build. Configure a compiler in the kit options."),
- Utils::FileName(), -1,
- Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM)));
- emit addOutput(tr("Configuration is faulty. Check the Issues view for details."), BuildStep::MessageOutput);
+ if (!tc)
+ emit addTask(Task::compilerMissingTask());
+
+ if (!tc || !bc) {
+ emitFaultyConfigurationMessage();
return false;
}
diff --git a/src/plugins/cmakeprojectmanager/makestep.cpp b/src/plugins/cmakeprojectmanager/makestep.cpp
index 60d3570c47..afd387cace 100644
--- a/src/plugins/cmakeprojectmanager/makestep.cpp
+++ b/src/plugins/cmakeprojectmanager/makestep.cpp
@@ -177,21 +177,15 @@ bool MakeStep::init()
if (!bc)
bc = targetsActiveBuildConfiguration();
- if (!bc) {
- emit addTask(Task(Task::Error, tr("Qt Creator needs a build configuration set up to build. Configure a build configuration in the project settings."),
- Utils::FileName(), -1,
- ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM));
- }
+ if (!bc)
+ emit addTask(Task::buildConfigurationMissingTask());
ToolChain *tc = ToolChainKitInformation::toolChain(target()->kit());
- if (!tc) {
- emit addTask(Task(Task::Error, tr("Qt Creator needs a compiler set up to build. Configure a compiler in the kit options."),
- Utils::FileName(), -1,
- ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM));
- }
+ if (!tc)
+ emit addTask(Task::compilerMissingTask());
if (!bc || !tc) {
- emit addOutput(tr("Configuration is faulty. Check the Issues view for details."), BuildStep::MessageOutput);
+ emitFaultyConfigurationMessage();
return false;
}
diff --git a/src/plugins/genericprojectmanager/genericmakestep.cpp b/src/plugins/genericprojectmanager/genericmakestep.cpp
index 77171b2676..0f5c5f9982 100644
--- a/src/plugins/genericprojectmanager/genericmakestep.cpp
+++ b/src/plugins/genericprojectmanager/genericmakestep.cpp
@@ -103,13 +103,15 @@ bool GenericMakeStep::init()
BuildConfiguration *bc = buildConfiguration();
if (!bc)
bc = target()->activeBuildConfiguration();
+ if (!bc)
+ emit addTask(Task::buildConfigurationMissingTask());
ToolChain *tc = ToolChainKitInformation::toolChain(target()->kit());
- if (!tc) {
- emit addTask(Task(Task::Error, tr("Qt Creator needs a compiler set up to build. Configure a compiler in the kit options."),
- Utils::FileName(), -1,
- Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM)));
- emit addOutput(tr("Configuration is faulty. Check the Issues view for details."), BuildStep::MessageOutput);
+ if (!tc)
+ emit addTask(Task::compilerMissingTask());
+
+ if (!bc || !tc) {
+ emitFaultyConfigurationMessage();
return false;
}
diff --git a/src/plugins/ios/iosbuildstep.cpp b/src/plugins/ios/iosbuildstep.cpp
index f2eb1e1032..529c097798 100644
--- a/src/plugins/ios/iosbuildstep.cpp
+++ b/src/plugins/ios/iosbuildstep.cpp
@@ -110,17 +110,18 @@ bool IosBuildStep::init()
BuildConfiguration *bc = buildConfiguration();
if (!bc)
bc = target()->activeBuildConfiguration();
+ if (!bc)
+ emit addTask(Task::buildConfigurationMissingTask());
ToolChain *tc = ToolChainKitInformation::toolChain(target()->kit());
- if (!tc) {
- Task t = Task(Task::Error, tr("Qt Creator needs a compiler set up to build. Configure a compiler in the kit preferences."),
- Utils::FileName(), -1,
- Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM));
- emit addTask(t);
- emit addOutput(tr("Configuration is faulty. Check the Issues output pane for details."),
- BuildStep::MessageOutput);
+ if (!tc)
+ emit addTask(Task::compilerMissingTask());
+
+ if (!bc || !tc) {
+ emitFaultyConfigurationMessage();
return false;
}
+
ProcessParameters *pp = processParameters();
pp->setMacroExpander(bc->macroExpander());
pp->setWorkingDirectory(bc->buildDirectory().toString());
diff --git a/src/plugins/projectexplorer/abstractprocessstep.cpp b/src/plugins/projectexplorer/abstractprocessstep.cpp
index 67ed641ab6..d97e598f9c 100644
--- a/src/plugins/projectexplorer/abstractprocessstep.cpp
+++ b/src/plugins/projectexplorer/abstractprocessstep.cpp
@@ -149,6 +149,12 @@ ProjectExplorer::IOutputParser *AbstractProcessStep::outputParser() const
return m_outputParserChain;
}
+void AbstractProcessStep::emitFaultyConfigurationMessage()
+{
+ emit addOutput(tr("Configuration is faulty. Check the Issues view for details."),
+ BuildStep::MessageOutput);
+}
+
bool AbstractProcessStep::ignoreReturnValue()
{
return m_ignoreReturnValue;
diff --git a/src/plugins/projectexplorer/abstractprocessstep.h b/src/plugins/projectexplorer/abstractprocessstep.h
index 25db1d6982..26ad21cbe3 100644
--- a/src/plugins/projectexplorer/abstractprocessstep.h
+++ b/src/plugins/projectexplorer/abstractprocessstep.h
@@ -65,6 +65,9 @@ public:
void setOutputParser(ProjectExplorer::IOutputParser *parser);
void appendOutputParser(ProjectExplorer::IOutputParser *parser);
ProjectExplorer::IOutputParser *outputParser() const;
+
+ void emitFaultyConfigurationMessage();
+
protected:
AbstractProcessStep(BuildStepList *bsl, const Core::Id id);
AbstractProcessStep(BuildStepList *bsl, AbstractProcessStep *bs);
diff --git a/src/plugins/projectexplorer/task.cpp b/src/plugins/projectexplorer/task.cpp
index ac7a8d4838..49fac5e537 100644
--- a/src/plugins/projectexplorer/task.cpp
+++ b/src/plugins/projectexplorer/task.cpp
@@ -32,6 +32,8 @@
#include <coreplugin/coreconstants.h>
#include <utils/qtcassert.h>
+#include "projectexplorerconstants.h"
+
namespace ProjectExplorer
{
@@ -69,6 +71,26 @@ Task::Task(TaskType type_, const QString &description_,
++s_nextId;
}
+Task Task::compilerMissingTask()
+{
+ return Task(Task::Error,
+ QCoreApplication::translate("ProjectExplorer::Task",
+ "Qt Creator needs a compiler set up to build. "
+ "Configure a compiler in the kit options."),
+ Utils::FileName(), -1,
+ ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM);
+}
+
+Task Task::buildConfigurationMissingTask()
+{
+ return Task(Task::Error,
+ QCoreApplication::translate("ProjectExplorer::Task",
+ "Qt Creator needs a build configuration set up to build. "
+ "Configure a build configuration in the project settings."),
+ Utils::FileName(), -1,
+ ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM);
+}
+
void Task::addMark(TextEditor::BaseTextMark *mark)
{
QTC_ASSERT(m_mark.isNull(), return);
diff --git a/src/plugins/projectexplorer/task.h b/src/plugins/projectexplorer/task.h
index c6e0d6bc56..c51a48df88 100644
--- a/src/plugins/projectexplorer/task.h
+++ b/src/plugins/projectexplorer/task.h
@@ -57,6 +57,9 @@ public:
const Utils::FileName &file, int line, Core::Id category,
const Utils::FileName &iconName = Utils::FileName());
+ static Task compilerMissingTask();
+ static Task buildConfigurationMissingTask();
+
bool isNull() const;
void clear();
@@ -79,6 +82,7 @@ public:
// doesn't work if you split it up, nor are our parsers
// anywhere near being that good
QList<QTextLayout::FormatRange> formats;
+
private:
QSharedPointer<TextEditor::BaseTextMark> m_mark;
static unsigned int s_nextId;
diff --git a/src/plugins/qmakeprojectmanager/makestep.cpp b/src/plugins/qmakeprojectmanager/makestep.cpp
index 4af4ecd79f..14923acf33 100644
--- a/src/plugins/qmakeprojectmanager/makestep.cpp
+++ b/src/plugins/qmakeprojectmanager/makestep.cpp
@@ -157,13 +157,15 @@ bool MakeStep::init()
QmakeBuildConfiguration *bc = qmakeBuildConfiguration();
if (!bc)
bc = qobject_cast<QmakeBuildConfiguration *>(target()->activeBuildConfiguration());
+ if (!bc)
+ emit addTask(Task::buildConfigurationMissingTask());
ToolChain *tc = ToolChainKitInformation::toolChain(target()->kit());
- if (!tc) {
- emit addTask(Task(Task::Error, tr("Qt Creator needs a compiler set up to build. Configure a compiler in the kit options."),
- Utils::FileName(), -1,
- Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM)));
- emit addOutput(tr("Configuration is faulty. Check the Issues view for details."), BuildStep::MessageOutput);
+ if (!tc)
+ emit addTask(Task::compilerMissingTask());
+
+ if (!bc || !tc) {
+ emitFaultyConfigurationMessage();
return false;
}
diff --git a/src/plugins/qmakeprojectmanager/qmakestep.cpp b/src/plugins/qmakeprojectmanager/qmakestep.cpp
index aaefe22e8a..bb1e173bd5 100644
--- a/src/plugins/qmakeprojectmanager/qmakestep.cpp
+++ b/src/plugins/qmakeprojectmanager/qmakestep.cpp
@@ -286,7 +286,7 @@ bool QMakeStep::init()
canContinue = false;
}
if (!canContinue) {
- emit addOutput(tr("Configuration is faulty, please check the Issues view for details."), BuildStep::MessageOutput);
+ emitFaultyConfigurationMessage();
return false;
}
}