forked from qt-creator/qt-creator
ProjectExplorer: Introduce per-buildsystem setRootProjectNode
Currently diverting to the original Project::setRootProjectNode. Idea is to focus on the BuildSystem <-> generated tree relation. Change-Id: I8b20173e364713f0919cf4f8b76a2f79ef8770bb Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -146,7 +146,7 @@ void AutotoolsBuildSystem::makefileParsingFinished()
|
|||||||
newRoot->addNestedNode(std::make_unique<FileNode>(path,
|
newRoot->addNestedNode(std::make_unique<FileNode>(path,
|
||||||
FileNode::fileTypeForFileName(path)));
|
FileNode::fileTypeForFileName(path)));
|
||||||
}
|
}
|
||||||
project()->setRootProjectNode(std::move(newRoot));
|
setRootProjectNode(std::move(newRoot));
|
||||||
project()->setExtraProjectFiles(filesToWatch);
|
project()->setExtraProjectFiles(filesToWatch);
|
||||||
|
|
||||||
updateCppCodeModel();
|
updateCppCodeModel();
|
||||||
|
@@ -420,7 +420,7 @@ void CMakeBuildSystem::updateProjectData()
|
|||||||
{
|
{
|
||||||
auto newRoot = generateProjectTree(m_allFiles);
|
auto newRoot = generateProjectTree(m_allFiles);
|
||||||
if (newRoot) {
|
if (newRoot) {
|
||||||
p->setRootProjectNode(std::move(newRoot));
|
setRootProjectNode(std::move(newRoot));
|
||||||
if (p->rootProjectNode())
|
if (p->rootProjectNode())
|
||||||
p->setDisplayName(p->rootProjectNode()->displayName());
|
p->setDisplayName(p->rootProjectNode()->displayName());
|
||||||
|
|
||||||
|
@@ -427,7 +427,7 @@ void CompilationDatabaseBuildSystem::buildTreeAndProjectParts()
|
|||||||
root->addNode(std::make_unique<FileNode>(Utils::FilePath::fromString(dbContents.extraFileName),
|
root->addNode(std::make_unique<FileNode>(Utils::FilePath::fromString(dbContents.extraFileName),
|
||||||
FileType::Project));
|
FileType::Project));
|
||||||
|
|
||||||
project()->setRootProjectNode(std::move(root));
|
setRootProjectNode(std::move(root));
|
||||||
|
|
||||||
m_cppCodeModelUpdater->update({project(), kitInfo, activeParseEnvironment(), rpps});
|
m_cppCodeModelUpdater->update({project(), kitInfo, activeParseEnvironment(), rpps});
|
||||||
updateDeploymentData();
|
updateDeploymentData();
|
||||||
|
@@ -492,7 +492,7 @@ void GenericBuildSystem::refresh(RefreshOptions options)
|
|||||||
FileType::Project));
|
FileType::Project));
|
||||||
|
|
||||||
newRoot->compress();
|
newRoot->compress();
|
||||||
project()->setRootProjectNode(std::move(newRoot));
|
setRootProjectNode(std::move(newRoot));
|
||||||
}
|
}
|
||||||
|
|
||||||
refreshCppCodeModel();
|
refreshCppCodeModel();
|
||||||
|
@@ -154,7 +154,7 @@ void NimBuildSystem::updateProject()
|
|||||||
auto projectNode = std::make_unique<ProjectNode>(project()->projectDirectory());
|
auto projectNode = std::make_unique<ProjectNode>(project()->projectDirectory());
|
||||||
projectNode->setDisplayName(project()->displayName());
|
projectNode->setDisplayName(project()->displayName());
|
||||||
projectNode->addNestedNodes(std::move(nodes));
|
projectNode->addNestedNodes(std::move(nodes));
|
||||||
project()->setRootProjectNode(std::move(projectNode));
|
setRootProjectNode(std::move(projectNode));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Complete scan
|
// Complete scan
|
||||||
|
@@ -304,6 +304,11 @@ BuildTargetInfo BuildSystem::buildTarget(const QString &buildKey) const
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void BuildSystem::setRootProjectNode(std::unique_ptr<ProjectNode> &&root)
|
||||||
|
{
|
||||||
|
d->m_target->project()->setRootProjectNode(std::move(root));
|
||||||
|
}
|
||||||
|
|
||||||
QString BuildSystem::disabledReason(const QString &buildKey) const
|
QString BuildSystem::disabledReason(const QString &buildKey) const
|
||||||
{
|
{
|
||||||
if (hasParsingData()) {
|
if (hasParsingData()) {
|
||||||
|
@@ -87,6 +87,8 @@ public:
|
|||||||
const QList<BuildTargetInfo> applicationTargets() const;
|
const QList<BuildTargetInfo> applicationTargets() const;
|
||||||
BuildTargetInfo buildTarget(const QString &buildKey) const;
|
BuildTargetInfo buildTarget(const QString &buildKey) const;
|
||||||
|
|
||||||
|
void setRootProjectNode(std::unique_ptr<ProjectNode> &&root);
|
||||||
|
|
||||||
class PROJECTEXPLORER_EXPORT ParseGuard
|
class PROJECTEXPLORER_EXPORT ParseGuard
|
||||||
{
|
{
|
||||||
friend class BuildSystem;
|
friend class BuildSystem;
|
||||||
|
@@ -222,7 +222,7 @@ void PythonBuildSystem::triggerParsing()
|
|||||||
appTargets.append(bti);
|
appTargets.append(bti);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
project()->setRootProjectNode(std::move(newRoot));
|
setRootProjectNode(std::move(newRoot));
|
||||||
|
|
||||||
setApplicationTargets(appTargets);
|
setApplicationTargets(appTargets);
|
||||||
|
|
||||||
|
@@ -694,7 +694,7 @@ void QbsBuildSystem::rebuildProjectTree()
|
|||||||
{
|
{
|
||||||
std::unique_ptr<QbsRootProjectNode> newRoot = Internal::QbsNodeTreeBuilder::buildTree(this);
|
std::unique_ptr<QbsRootProjectNode> newRoot = Internal::QbsNodeTreeBuilder::buildTree(this);
|
||||||
project()->setDisplayName(newRoot ? newRoot->displayName() : projectFilePath().toFileInfo().completeBaseName());
|
project()->setDisplayName(newRoot ? newRoot->displayName() : projectFilePath().toFileInfo().completeBaseName());
|
||||||
project()->setRootProjectNode(std::move(newRoot));
|
setRootProjectNode(std::move(newRoot));
|
||||||
}
|
}
|
||||||
|
|
||||||
void QbsBuildSystem::handleRuleExecutionDone()
|
void QbsBuildSystem::handleRuleExecutionDone()
|
||||||
|
@@ -490,7 +490,7 @@ void QmakeBuildSystem::decrementPendingEvaluateFutures()
|
|||||||
m_asyncUpdateFutureInterface.setProgressValue(m_asyncUpdateFutureInterface.progressValue() + 1);
|
m_asyncUpdateFutureInterface.setProgressValue(m_asyncUpdateFutureInterface.progressValue() + 1);
|
||||||
if (m_pendingEvaluateFuturesCount == 0) {
|
if (m_pendingEvaluateFuturesCount == 0) {
|
||||||
// We are done!
|
// We are done!
|
||||||
project()->setRootProjectNode(QmakeNodeTreeBuilder::buildTree(this));
|
setRootProjectNode(QmakeNodeTreeBuilder::buildTree(this));
|
||||||
|
|
||||||
if (!m_rootProFile->validParse())
|
if (!m_rootProFile->validParse())
|
||||||
m_asyncUpdateFutureInterface.reportCanceled();
|
m_asyncUpdateFutureInterface.reportCanceled();
|
||||||
|
@@ -363,7 +363,7 @@ void QmlBuildSystem::generateProjectTree()
|
|||||||
}
|
}
|
||||||
newRoot->addNestedNode(std::make_unique<FileNode>(projectFilePath(), FileType::Project));
|
newRoot->addNestedNode(std::make_unique<FileNode>(projectFilePath(), FileType::Project));
|
||||||
|
|
||||||
project()->setRootProjectNode(std::move(newRoot));
|
setRootProjectNode(std::move(newRoot));
|
||||||
refreshTargetDirectory();
|
refreshTargetDirectory();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user