diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2017-10-30 09:51:36 +0100 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2017-10-30 15:24:45 +0000 |
commit | 82eda46cc2155368a3110c670bad4c9f1817cef7 (patch) | |
tree | f915239a2a43b6171c8a37c2d316567a23d4e2c0 /src/app | |
parent | a4586e52f2e027d9cd3810302569eec152bcfc54 (diff) |
CLI: Ensure non-applicable commands refuse to take property assignments
Change-Id: Ib339a2649ecf32670f2f65d0bf159dcc960214df
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Diffstat (limited to 'src/app')
-rw-r--r-- | src/app/qbs/parser/parsercommand.cpp | 16 | ||||
-rw-r--r-- | src/app/qbs/parser/parsercommand.h | 1 |
2 files changed, 5 insertions, 12 deletions
diff --git a/src/app/qbs/parser/parsercommand.cpp b/src/app/qbs/parser/parsercommand.cpp index b5aaace38..77ecb4ba8 100644 --- a/src/app/qbs/parser/parsercommand.cpp +++ b/src/app/qbs/parser/parsercommand.cpp @@ -89,6 +89,11 @@ void Command::addOneToAdditionalArguments(const QString &argument) throwError(Tr::tr("Unexpected command line parameter '%1'.")); if (sepPos == 0) throwError(Tr::tr("Empty key not allowed in assignment '%1'.")); + if (!canResolve() && argument.contains(QLatin1Char(':')) + && !argument.startsWith(QLatin1String("config:"))) { + throw ErrorInfo(Tr::tr("The '%1' command does not support property assignments.") + .arg(representation())); + } m_additionalArguments << argument; } @@ -331,17 +336,6 @@ QList<CommandLineOption::Type> CleanCommand::supportedOptions() const }; } -void CleanCommand::parseMore(QStringList &input) -{ - addAllToAdditionalArguments(input); - for (const QString ¶m : additionalArguments()) { - if (param.contains(QLatin1Char(':')) && !param.startsWith(QLatin1String("config:"))) { - throw ErrorInfo(Tr::tr("The '%1' command does not support property assignments.") - .arg(representation())); - } - } -} - QString InstallCommand::shortDescription() const { return Tr::tr("Install (parts of) a project."); diff --git a/src/app/qbs/parser/parsercommand.h b/src/app/qbs/parser/parsercommand.h index 4a9b12133..f5f1d00e9 100644 --- a/src/app/qbs/parser/parsercommand.h +++ b/src/app/qbs/parser/parsercommand.h @@ -129,7 +129,6 @@ private: QString longDescription() const; QString representation() const; QList<CommandLineOption::Type> supportedOptions() const; - void parseMore(QStringList &input); }; class InstallCommand : public Command |