QbsBuildSystem: Do some cleanup

Get rid of CancelStatus enum and checkCancelStatus() method.

Change-Id: If703c78c8c3d82a5e6a5976c7c42c1da238744db
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
Jarek Kobus
2023-07-31 08:47:33 +02:00
parent 870cdb12f7
commit aa89d7fd03
3 changed files with 4 additions and 49 deletions

View File

@@ -62,8 +62,7 @@ BuildSystem::BuildSystem(Target *target)
// Timer:
d->m_delayedParsingTimer.setSingleShot(true);
connect(&d->m_delayedParsingTimer, &QTimer::timeout, this,
[this] {
connect(&d->m_delayedParsingTimer, &QTimer::timeout, this, [this] {
if (ProjectManager::hasProject(project()))
triggerParsing();
else

View File

@@ -425,21 +425,6 @@ QString QbsBuildSystem::profile() const
return QbsProfileManager::ensureProfileForKit(target()->kit());
}
bool QbsBuildSystem::checkCancelStatus()
{
const CancelStatus cancelStatus = m_cancelStatus;
m_cancelStatus = CancelStatusNone;
if (cancelStatus != CancelStatusCancelingForReparse)
return false;
qCDebug(qbsPmLog) << "Cancel request while parsing, starting re-parse";
m_qbsProjectParser->deleteLater();
m_qbsProjectParser = nullptr;
m_treeCreationWatcher = nullptr;
m_guard = {};
startParsing();
return true;
}
void QbsBuildSystem::updateAfterParse()
{
qCDebug(qbsPmLog) << "Updating data after parse";
@@ -508,9 +493,6 @@ void QbsBuildSystem::handleQbsParsingDone(bool success)
qCDebug(qbsPmLog) << "Parsing done, success:" << success;
if (checkCancelStatus())
return;
generateErrors(m_qbsProjectParser->error());
bool dataChanged = false;
@@ -545,9 +527,9 @@ void QbsBuildSystem::handleQbsParsingDone(bool success)
if (dataChanged) {
updateAfterParse();
return;
}
else if (envChanged)
} else if (envChanged) {
updateCppCodeModel();
}
if (success)
m_guard.markAsSuccess();
m_guard = {};
@@ -592,25 +574,7 @@ void QbsBuildSystem::scheduleParsing()
void QbsBuildSystem::startParsing()
{
if (m_cancelStatus == CancelStatusCancelingForReparse)
return;
// The CancelStatusCancelingAltoghether type can only be set by a build job, during
// which no other parse requests come through to this point (except by the build job itself,
// but of course not while canceling is in progress).
QTC_ASSERT(m_cancelStatus == CancelStatusNone, return);
// New parse requests override old ones.
// NOTE: We need to wait for the current operation to finish, since otherwise there could
// be a conflict. Consider the case where the old qbs::ProjectSetupJob is writing
// to the build graph file when the cancel request comes in. If we don't wait for
// acknowledgment, it might still be doing that when the new one already reads from the
// same file.
if (m_qbsProjectParser) {
m_cancelStatus = CancelStatusCancelingForReparse;
m_qbsProjectParser->cancel();
return;
}
QTC_ASSERT(!m_qbsProjectParser, return);
QVariantMap config = m_buildConfiguration->qbsConfiguration();
if (!config.contains(Constants::QBS_INSTALL_ROOT_KEY)) {
@@ -639,7 +603,6 @@ void QbsBuildSystem::startParsing()
void QbsBuildSystem::cancelParsing()
{
QTC_ASSERT(m_qbsProjectParser, return);
m_cancelStatus = CancelStatusCancelingAltogether;
m_qbsProjectParser->cancel();
}

View File

@@ -119,7 +119,6 @@ private:
void updateApplicationTargets();
void updateDeploymentInfo();
void updateBuildTargetData();
bool checkCancelStatus();
void updateAfterParse();
void updateProjectNodes(const std::function<void()> &continuation);
Utils::FilePath installRoot();
@@ -137,12 +136,6 @@ private:
Utils::Environment m_lastParseEnv;
std::unique_ptr<QbsRequest> m_parseRequest;
enum CancelStatus {
CancelStatusNone,
CancelStatusCancelingForReparse,
CancelStatusCancelingAltogether
} m_cancelStatus = CancelStatusNone;
CppEditor::CppProjectUpdater *m_cppCodeModelUpdater = nullptr;
QHash<ProjectExplorer::ExtraCompilerFactory *, QStringList> m_sourcesForGeneratedFiles;