aboutsummaryrefslogtreecommitdiffstats
path: root/src/app
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2017-11-17 16:19:57 +0100
committerChristian Kandeler <christian.kandeler@qt.io>2017-11-22 15:41:43 +0000
commit3b55e4b03499730085924edfdf04b140ef62274e (patch)
treefee3b33cdc91d2e68531c4b6757e9443df0f7741 /src/app
parentdf04c86b873ae6167230e66c5a33b2a460e86da0 (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.cpp4
-rw-r--r--src/app/qbs/parser/commandlineoption.cpp12
-rw-r--r--src/app/qbs/parser/commandlineoption.h10
-rw-r--r--src/app/qbs/parser/commandlineoptionpool.cpp8
-rw-r--r--src/app/qbs/parser/commandlineoptionpool.h1
-rw-r--r--src/app/qbs/parser/commandlineparser.cpp5
-rw-r--r--src/app/qbs/parser/commandlineparser.h1
-rw-r--r--src/app/qbs/parser/parsercommand.cpp3
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)