diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2017-11-17 16:19:57 +0100 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2017-11-22 15:41:43 +0000 |
commit | 3b55e4b03499730085924edfdf04b140ef62274e (patch) | |
tree | fee3b33cdc91d2e68531c4b6757e9443df0f7741 /src/app | |
parent | df04c86b873ae6167230e66c5a33b2a460e86da0 (diff) |
Give the setupRunEnvironment script an additional parameter
Required by follow-up commit.
[ChangeLog] The Module.setupRunEnvironment script now has a new parameter
"config". Users can set it via the --setup-run-env-config option of the
run command.
Change-Id: I1be57fcff5321874cf3dcf4fb3a7ef7d6f69a8a5
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Diffstat (limited to 'src/app')
-rw-r--r-- | src/app/qbs/commandlinefrontend.cpp | 4 | ||||
-rw-r--r-- | src/app/qbs/parser/commandlineoption.cpp | 12 | ||||
-rw-r--r-- | src/app/qbs/parser/commandlineoption.h | 10 | ||||
-rw-r--r-- | src/app/qbs/parser/commandlineoptionpool.cpp | 8 | ||||
-rw-r--r-- | src/app/qbs/parser/commandlineoptionpool.h | 1 | ||||
-rw-r--r-- | src/app/qbs/parser/commandlineparser.cpp | 5 | ||||
-rw-r--r-- | src/app/qbs/parser/commandlineparser.h | 1 | ||||
-rw-r--r-- | src/app/qbs/parser/parsercommand.cpp | 3 |
8 files changed, 40 insertions, 4 deletions
diff --git a/src/app/qbs/commandlinefrontend.cpp b/src/app/qbs/commandlinefrontend.cpp index 8ed409c87..ac73c9e21 100644 --- a/src/app/qbs/commandlinefrontend.cpp +++ b/src/app/qbs/commandlinefrontend.cpp @@ -439,7 +439,7 @@ int CommandLineFrontend::runShell() } RunEnvironment runEnvironment = m_projects.front().getRunEnvironment(productToRun, m_parser.installOptions(m_projects.front().profile()), - QProcessEnvironment::systemEnvironment(), m_settings); + QProcessEnvironment::systemEnvironment(), QStringList(), m_settings); return runEnvironment.doRunShell(); } @@ -545,7 +545,7 @@ int CommandLineFrontend::runTarget() } RunEnvironment runEnvironment = m_projects.front().getRunEnvironment(productToRun, m_parser.installOptions(m_projects.front().profile()), - QProcessEnvironment::systemEnvironment(), m_settings); + QProcessEnvironment::systemEnvironment(), m_parser.runEnvConfig(), m_settings); return runEnvironment.doRunTarget(executableFilePath, m_parser.runArgs()); } diff --git a/src/app/qbs/parser/commandlineoption.cpp b/src/app/qbs/parser/commandlineoption.cpp index ffb2d606d..875256516 100644 --- a/src/app/qbs/parser/commandlineoption.cpp +++ b/src/app/qbs/parser/commandlineoption.cpp @@ -627,4 +627,16 @@ QString WaitLockOption::longRepresentation() const return QLatin1String("--wait-lock"); } +QString RunEnvConfigOption::description(CommandType command) const +{ + Q_UNUSED(command); + return Tr::tr("%1\n\tComma-separated list of strings to pass to all modules' " + "setupRunEnvironment scripts.\n").arg(longRepresentation()); +} + +QString RunEnvConfigOption::longRepresentation() const +{ + return QLatin1String("--setup-run-env-config"); +} + } // namespace qbs diff --git a/src/app/qbs/parser/commandlineoption.h b/src/app/qbs/parser/commandlineoption.h index db0bc9397..c645c533b 100644 --- a/src/app/qbs/parser/commandlineoption.h +++ b/src/app/qbs/parser/commandlineoption.h @@ -70,7 +70,8 @@ public: CommandEchoModeOptionType, SettingsDirOptionType, GeneratorOptionType, - WaitLockOptionType + WaitLockOptionType, + RunEnvConfigOptionType, }; virtual ~CommandLineOption(); @@ -281,6 +282,13 @@ public: QString longRepresentation() const override; }; +class RunEnvConfigOption : public StringListOption +{ + QString description(CommandType command) const override; + QString shortRepresentation() const override { return QString(); } + QString longRepresentation() const override; +}; + class LogLevelOption : public CommandLineOption { public: diff --git a/src/app/qbs/parser/commandlineoptionpool.cpp b/src/app/qbs/parser/commandlineoptionpool.cpp index 22bc3f08b..8850fad87 100644 --- a/src/app/qbs/parser/commandlineoptionpool.cpp +++ b/src/app/qbs/parser/commandlineoptionpool.cpp @@ -122,6 +122,9 @@ CommandLineOption *CommandLineOptionPool::getOption(CommandLineOption::Type type case CommandLineOption::WaitLockOptionType: option = new WaitLockOption; break; + case CommandLineOption::RunEnvConfigOptionType: + option = new RunEnvConfigOption; + break; default: qFatal("Unknown option type %d", type); } @@ -253,4 +256,9 @@ WaitLockOption *CommandLineOptionPool::waitLockOption() const return static_cast<WaitLockOption *>(getOption(CommandLineOption::WaitLockOptionType)); } +RunEnvConfigOption *CommandLineOptionPool::runEnvConfigOption() const +{ + return static_cast<RunEnvConfigOption *>(getOption(CommandLineOption::RunEnvConfigOptionType)); +} + } // namespace qbs diff --git a/src/app/qbs/parser/commandlineoptionpool.h b/src/app/qbs/parser/commandlineoptionpool.h index e27aeb373..a4e6c30c1 100644 --- a/src/app/qbs/parser/commandlineoptionpool.h +++ b/src/app/qbs/parser/commandlineoptionpool.h @@ -75,6 +75,7 @@ public: SettingsDirOption *settingsDirOption() const; GeneratorOption *generatorOption() const; WaitLockOption *waitLockOption() const; + RunEnvConfigOption *runEnvConfigOption() const; private: mutable QHash<CommandLineOption::Type, CommandLineOption *> m_options; diff --git a/src/app/qbs/parser/commandlineparser.cpp b/src/app/qbs/parser/commandlineparser.cpp index 4569bc277..5e9910c15 100644 --- a/src/app/qbs/parser/commandlineparser.cpp +++ b/src/app/qbs/parser/commandlineparser.cpp @@ -256,6 +256,11 @@ QStringList CommandLineParser::products() const return d->optionPool.productsOption()->arguments(); } +QStringList CommandLineParser::runEnvConfig() const +{ + return d->optionPool.runEnvConfigOption()->arguments(); +} + bool CommandLineParser::showProgress() const { return d->showProgress; diff --git a/src/app/qbs/parser/commandlineparser.h b/src/app/qbs/parser/commandlineparser.h index 27090fd03..e2ef8ad77 100644 --- a/src/app/qbs/parser/commandlineparser.h +++ b/src/app/qbs/parser/commandlineparser.h @@ -81,6 +81,7 @@ public: bool buildBeforeInstalling() const; QStringList runArgs() const; QStringList products() const; + QStringList runEnvConfig() const; QList<QVariantMap> buildConfigurations() const; bool showProgress() const; bool showVersion() const; diff --git a/src/app/qbs/parser/parsercommand.cpp b/src/app/qbs/parser/parsercommand.cpp index 3fbb1d885..74bc36829 100644 --- a/src/app/qbs/parser/parsercommand.cpp +++ b/src/app/qbs/parser/parsercommand.cpp @@ -386,7 +386,8 @@ QString RunCommand::representation() const QList<CommandLineOption::Type> RunCommand::supportedOptions() const { - return installOptions(); + return QList<CommandLineOption::Type>() << installOptions() + << CommandLineOption::RunEnvConfigOptionType; } void RunCommand::parseNext(QStringList &input) |