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); m_process = new Process(this);
connect(m_process, &Process::done, this, &ExternalToolRunner::done); connect(m_process, &Process::done, this, &ExternalToolRunner::done);
connect(m_process, &Process::readyReadStandardOutput, m_process->setStdOutLineCallback([this](const QString &s) { readStandardOutput(s); });
this, &ExternalToolRunner::readStandardOutput); m_process->setStdErrLineCallback([this](const QString &s) { readStandardError(s); });
connect(m_process, &Process::readyReadStandardError,
this, &ExternalToolRunner::readStandardError);
if (!m_resolvedWorkingDirectory.isEmpty()) if (!m_resolvedWorkingDirectory.isEmpty())
m_process->setWorkingDirectory(m_resolvedWorkingDirectory); m_process->setWorkingDirectory(m_resolvedWorkingDirectory);
const CommandLine cmd{m_resolvedExecutable, m_resolvedArguments, CommandLine::Raw}; const CommandLine cmd{m_resolvedExecutable, m_resolvedArguments, CommandLine::Raw};
@@ -665,30 +663,29 @@ void ExternalToolRunner::done()
deleteLater(); 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) if (m_tool->outputHandling() == ExternalTool::Ignore)
return; 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) if (m_tool->outputHandling() == ExternalTool::ShowInPane)
MessageManager::writeSilently(output); MessageManager::writeSilently(stripNewline(output));
else if (m_tool->outputHandling() == ExternalTool::ReplaceSelection) else if (m_tool->outputHandling() == ExternalTool::ReplaceSelection)
m_processOutput.append(output); m_processOutput.append(output);
} }
void ExternalToolRunner::readStandardError() void ExternalToolRunner::readStandardError(const QString &output)
{ {
if (m_tool->errorHandling() == ExternalTool::Ignore) if (m_tool->errorHandling() == ExternalTool::Ignore)
return; 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) if (m_tool->errorHandling() == ExternalTool::ShowInPane)
MessageManager::writeSilently(output); MessageManager::writeSilently(stripNewline(output));
else if (m_tool->errorHandling() == ExternalTool::ReplaceSelection) else if (m_tool->errorHandling() == ExternalTool::ReplaceSelection)
m_processOutput.append(output); m_processOutput.append(output);
} }

View File

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

View File

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

View File

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