Merge remote-tracking branch 'origin/12.0'

Change-Id: I62eb6d73b3ed59d0dd9760fc1921e353c993c166
This commit is contained in:
Eike Ziller
2024-01-15 09:36:58 +01:00
6 changed files with 44 additions and 449 deletions

View File

@@ -623,10 +623,8 @@ void ExternalToolRunner::run()
}
m_process = new Process(this);
connect(m_process, &Process::done, this, &ExternalToolRunner::done);
connect(m_process, &Process::readyReadStandardOutput,
this, &ExternalToolRunner::readStandardOutput);
connect(m_process, &Process::readyReadStandardError,
this, &ExternalToolRunner::readStandardError);
m_process->setStdOutLineCallback([this](const QString &s) { readStandardOutput(s); });
m_process->setStdErrLineCallback([this](const QString &s) { readStandardError(s); });
if (!m_resolvedWorkingDirectory.isEmpty())
m_process->setWorkingDirectory(m_resolvedWorkingDirectory);
const CommandLine cmd{m_resolvedExecutable, m_resolvedArguments, CommandLine::Raw};
@@ -665,30 +663,29 @@ void ExternalToolRunner::done()
deleteLater();
}
void ExternalToolRunner::readStandardOutput()
static QString stripNewline(const QString &output)
{
if (output.endsWith('\n'))
return output.chopped(1);
return output;
}
void ExternalToolRunner::readStandardOutput(const QString &output)
{
if (m_tool->outputHandling() == ExternalTool::Ignore)
return;
const QByteArray data = m_process->readAllRawStandardOutput();
const QString output = m_outputCodec->toUnicode(data.constData(),
data.length(),
&m_outputCodecState);
if (m_tool->outputHandling() == ExternalTool::ShowInPane)
MessageManager::writeSilently(output);
MessageManager::writeSilently(stripNewline(output));
else if (m_tool->outputHandling() == ExternalTool::ReplaceSelection)
m_processOutput.append(output);
}
void ExternalToolRunner::readStandardError()
void ExternalToolRunner::readStandardError(const QString &output)
{
if (m_tool->errorHandling() == ExternalTool::Ignore)
return;
const QByteArray data = m_process->readAllRawStandardError();
const QString output = m_outputCodec->toUnicode(data.constData(),
data.length(),
&m_errorCodecState);
if (m_tool->errorHandling() == ExternalTool::ShowInPane)
MessageManager::writeSilently(output);
MessageManager::writeSilently(stripNewline(output));
else if (m_tool->errorHandling() == ExternalTool::ReplaceSelection)
m_processOutput.append(output);
}

View File

@@ -115,8 +115,8 @@ public:
private:
void done();
void readStandardOutput();
void readStandardError();
void readStandardOutput(const QString &output);
void readStandardError(const QString &output);
void run();
bool resolve();
@@ -128,6 +128,7 @@ private:
Utils::FilePath m_resolvedWorkingDirectory;
Utils::Environment m_resolvedEnvironment;
Utils::Process *m_process;
// TODO remove codec handling, that is done by Process now
QTextCodec *m_outputCodec;
QTextCodec::ConverterState m_outputCodecState;
QTextCodec::ConverterState m_errorCodecState;

View File

@@ -336,7 +336,7 @@ bool IosDeployStep::checkProvisioningProfile()
return true;
const QStringList deviceIds = provisionPlist.value("ProvisionedDevices").toStringList();
const QString targetId = device->uniqueDeviceID();
const QString targetId = device->uniqueInternalDeviceId();
for (const QString &deviceId : deviceIds) {
if (deviceId == targetId)
return true;

View File

@@ -305,6 +305,7 @@ bool CustomToolChain::operator ==(const Toolchain &other) const
auto customTc = static_cast<const CustomToolChain *>(&other);
return m_makeCommand == customTc->m_makeCommand
&& compilerCommand() == customTc->compilerCommand()
&& targetAbi() == customTc->targetAbi()
&& m_predefinedMacros == customTc->m_predefinedMacros
&& m_builtInHeaderPaths == customTc->m_builtInHeaderPaths;