Incredibuild: Fix handling of build commands

The default command is supposed to be a placeholder not
an entry done by the user.
Allow entering an empty string again to rely on the default.
As on it fix place holders inside strings.
Amends e04b9a5348.

Change-Id: I111c843d9620ecc8cf5a7a3c63ca7ac92e588e0c
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
This commit is contained in:
Christian Stenger
2020-08-28 10:38:20 +02:00
parent f1062f1366
commit 5ddd83247c
6 changed files with 9 additions and 11 deletions

View File

@@ -280,7 +280,7 @@ BuildConsoleBuildStep::BuildConsoleBuildStep(BuildStepList *buildStepList, Id id
setCommandLineProvider([=] { setCommandLineProvider([=] {
QStringList args; QStringList args;
QString cmd("/Command= %0"); QString cmd("/Command= %1");
cmd = cmd.arg(commandBuilder->fullCommandFlag(keepJobNum->value())); cmd = cmd.arg(commandBuilder->fullCommandFlag(keepJobNum->value()));
args.append(cmd); args.append(cmd);

View File

@@ -48,10 +48,7 @@ void CommandBuilder::toMap(QVariantMap *map) const
void CommandBuilder::setCommand(const QString &command) void CommandBuilder::setCommand(const QString &command)
{ {
if (command == defaultCommand()) m_command = command;
m_command.clear();
else
m_command = command;
} }
void CommandBuilder::setArguments(const QString &arguments) void CommandBuilder::setArguments(const QString &arguments)

View File

@@ -54,8 +54,9 @@ public:
virtual QString defaultArguments() const { return QString(); } virtual QString defaultArguments() const { return QString(); }
virtual QString setMultiProcessArg(QString args) { return args; } virtual QString setMultiProcessArg(QString args) { return args; }
QString command() { return m_command.isEmpty() ? defaultCommand() : m_command; } QString command() const { return m_command; }
void setCommand(const QString &command); void setCommand(const QString &command);
QString effectiveCommand() const { return m_command.isEmpty() ? defaultCommand() : m_command; }
QString arguments() { return m_args.isEmpty() ? defaultArguments() : m_args; } QString arguments() { return m_args.isEmpty() ? defaultArguments() : m_args; }
void setArguments(const QString &arguments); void setArguments(const QString &arguments);

View File

@@ -99,8 +99,8 @@ QString CommandBuilderAspect::fullCommandFlag(bool keepJobNum) const
if (!keepJobNum) if (!keepJobNum)
argsLine = d->m_activeCommandBuilder->setMultiProcessArg(argsLine); argsLine = d->m_activeCommandBuilder->setMultiProcessArg(argsLine);
QString fullCommand("\"%0\" %1"); QString fullCommand("\"%1\" %2");
fullCommand = fullCommand.arg(d->m_activeCommandBuilder->command(), argsLine); fullCommand = fullCommand.arg(d->m_activeCommandBuilder->effectiveCommand(), argsLine);
return fullCommand; return fullCommand;
} }
@@ -212,8 +212,8 @@ void CommandBuilderAspect::updateGui()
d->commandBuilder->setCurrentText(d->m_activeCommandBuilder->displayName()); d->commandBuilder->setCurrentText(d->m_activeCommandBuilder->displayName());
const QString defaultCommand = d->m_activeCommandBuilder->defaultCommand(); const QString defaultCommand = d->m_activeCommandBuilder->defaultCommand();
d->makePathChooser->lineEdit()->setPlaceholderText(defaultCommand);
d->makePathChooser->setPath(d->m_activeCommandBuilder->command()); d->makePathChooser->setPath(d->m_activeCommandBuilder->command());
d->makePathChooser->setDefaultValue(defaultCommand);
const QString defaultArgs = d->m_activeCommandBuilder->defaultArguments(); const QString defaultArgs = d->m_activeCommandBuilder->defaultArguments();
d->makeArgumentsLineEdit->setPlaceholderText(defaultArgs); d->makeArgumentsLineEdit->setPlaceholderText(defaultArgs);

View File

@@ -106,7 +106,7 @@ IBConsoleBuildStep::IBConsoleBuildStep(BuildStepList *buildStepList, Id id)
QStringList args; QStringList args;
if (nice->value() != 0) if (nice->value() != 0)
args.append(QString("--nice %0 ").arg(nice->value())); args.append(QString("--nice %1 ").arg(nice->value()));
if (alternate->value()) if (alternate->value())
args.append("--alternate"); args.append("--alternate");

View File

@@ -58,7 +58,7 @@ QString MakeCommandBuilder::defaultCommand() const
if (target) { if (target) {
ToolChain *toolChain = ToolChainKitAspect::toolChain(target->kit(), ProjectExplorer::Constants::CXX_LANGUAGE_ID); ToolChain *toolChain = ToolChainKitAspect::toolChain(target->kit(), ProjectExplorer::Constants::CXX_LANGUAGE_ID);
if (toolChain) if (toolChain)
return toolChain->makeCommand(buildConfig->environment()).toString(); return toolChain->makeCommand(buildConfig->environment()).toUserOutput();
} }
} }