aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/corelib/generators
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2018-04-19 15:15:40 +0200
committerChristian Kandeler <christian.kandeler@qt.io>2018-04-23 07:21:15 +0000
commitfc28c8de88a66f47fd110b362f849ed3e87a175c (patch)
tree00a0f3d6d54dd41988eef7a0df499257c06bd81b /src/lib/corelib/generators
parent034be2038d9316fdc6565f8caaa95bfdad544595 (diff)
ProjectGenerator: Return an error status
As per our policy not to let exceptions cross the API boundary. Change-Id: I52e1fb9448466181b73fcd0e4c74ef33f71de98e Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'src/lib/corelib/generators')
-rw-r--r--src/lib/corelib/generators/generator.cpp9
-rw-r--r--src/lib/corelib/generators/generator.h10
2 files changed, 12 insertions, 7 deletions
diff --git a/src/lib/corelib/generators/generator.cpp b/src/lib/corelib/generators/generator.cpp
index 508afc0d2..e4a0ee51e 100644
--- a/src/lib/corelib/generators/generator.cpp
+++ b/src/lib/corelib/generators/generator.cpp
@@ -79,7 +79,7 @@ static QString _configurationName(const QVariantMap &buildConfiguration)
return buildConfiguration.value(QStringLiteral("qbs.configurationName")).toString();
}
-void ProjectGenerator::generate(const QList<Project> &projects,
+ErrorInfo ProjectGenerator::generate(const QList<Project> &projects,
const QList<QVariantMap> &buildConfigurations,
const InstallOptions &installOptions,
const QString &qbsSettingsDir,
@@ -96,7 +96,12 @@ void ProjectGenerator::generate(const QList<Project> &projects,
d->installOptions = installOptions;
d->qbsSettingsDir = qbsSettingsDir;
d->logger = logger;
- generate();
+ try {
+ generate();
+ } catch (const ErrorInfo &e) {
+ return e;
+ }
+ return ErrorInfo();
}
QList<Project> ProjectGenerator::projects() const
diff --git a/src/lib/corelib/generators/generator.h b/src/lib/corelib/generators/generator.h
index abb804d62..f5e70f36f 100644
--- a/src/lib/corelib/generators/generator.h
+++ b/src/lib/corelib/generators/generator.h
@@ -66,11 +66,11 @@ public:
*/
virtual QString generatorName() const = 0;
- void generate(const QList<Project> &projects,
- const QList<QVariantMap> &buildConfigurations,
- const InstallOptions &installOptions,
- const QString &qbsSettingsDir,
- const Internal::Logger &logger);
+ ErrorInfo generate(const QList<Project> &projects,
+ const QList<QVariantMap> &buildConfigurations,
+ const InstallOptions &installOptions,
+ const QString &qbsSettingsDir,
+ const Internal::Logger &logger);
const GeneratableProject project() const;
QFileInfo qbsExecutableFilePath() const;