diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2018-04-19 15:15:40 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2018-04-23 07:21:15 +0000 |
commit | fc28c8de88a66f47fd110b362f849ed3e87a175c (patch) | |
tree | 00a0f3d6d54dd41988eef7a0df499257c06bd81b /src/lib/corelib/generators | |
parent | 034be2038d9316fdc6565f8caaa95bfdad544595 (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.cpp | 9 | ||||
-rw-r--r-- | src/lib/corelib/generators/generator.h | 10 |
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; |