CppTools: Move RawProjectPart to ProjectExplorer

Doesn't have any dependencies into CppTools anymore, therefore moving it
reduces the dependencies of the project managers to CppTools as well.

Change-Id: Ibe728abe59eb88a8877943dca1f48a85163e27ac
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Eike Ziller
2019-08-28 18:22:45 +02:00
parent f52c4f450d
commit 9cc45fe1fb
36 changed files with 126 additions and 123 deletions

View File

@@ -377,7 +377,7 @@ std::unique_ptr<CMakeProjectNode> BuildDirManager::generateProjectTree(
return m_reader->generateProjectTree(allFiles, errorMessage);
}
CppTools::RawProjectParts BuildDirManager::createRawProjectParts(QString &errorMessage) const
RawProjectParts BuildDirManager::createRawProjectParts(QString &errorMessage) const
{
QTC_ASSERT(!m_isHandlingError, return {});
QTC_ASSERT(m_reader, return {});

View File

@@ -31,7 +31,7 @@
#include "cmakebuildtarget.h"
#include "cmakeconfigitem.h"
#include <cpptools/cpprawprojectpart.h>
#include <projectexplorer/rawprojectpart.h>
#include <utils/fileutils.h>
#include <utils/temporarydirectory.h>
@@ -97,7 +97,7 @@ public:
QVector<Utils::FilePath> takeProjectFilesToWatch();
std::unique_ptr<CMakeProjectNode> generateProjectTree(const QList<const ProjectExplorer::FileNode *> &allFiles,
QString &errorMessage) const;
CppTools::RawProjectParts createRawProjectParts(QString &errorMessage) const;
ProjectExplorer::RawProjectParts createRawProjectParts(QString &errorMessage) const;
QList<CMakeBuildTarget> takeBuildTargets(QString &errorMessage) const;
CMakeConfig takeCMakeConfiguration(QString &errorMessage) const;

View File

@@ -30,7 +30,7 @@
#include "cmakeconfigitem.h"
#include "cmaketool.h"
#include <cpptools/cpprawprojectpart.h>
#include <projectexplorer/rawprojectpart.h>
#include <utils/environment.h>
#include <utils/fileutils.h>
@@ -69,7 +69,7 @@ public:
virtual std::unique_ptr<CMakeProjectNode> generateProjectTree(
const QList<const ProjectExplorer::FileNode *> &allFiles, QString &errorMessage)
= 0;
virtual CppTools::RawProjectParts createRawProjectParts(QString &errorMessage) = 0;
virtual ProjectExplorer::RawProjectParts createRawProjectParts(QString &errorMessage) = 0;
signals:
void isReadyNow() const;

View File

@@ -29,8 +29,6 @@
#include "cmakeproject.h"
#include "configmodel.h"
#include <cpptools/cpprawprojectpart.h>
#include <projectexplorer/buildconfiguration.h>
#include <projectexplorer/buildtargetinfo.h>
#include <projectexplorer/deploymentdata.h>

View File

@@ -271,12 +271,12 @@ void CMakeBuildSystem::updateProjectData(CMakeProject *p, CMakeBuildConfiguratio
{
QString errorMessage;
CppTools::RawProjectParts rpps = bc->m_buildDirManager.createRawProjectParts(errorMessage);
RawProjectParts rpps = bc->m_buildDirManager.createRawProjectParts(errorMessage);
if (!errorMessage.isEmpty())
bc->setError(errorMessage);
qCDebug(cmakeBuildSystemLog) << "Raw project parts created." << errorMessage;
for (CppTools::RawProjectPart &rpp : rpps) {
for (RawProjectPart &rpp : rpps) {
rpp.setQtVersion(
kitInfo.projectPartQtVersion); // TODO: Check if project actually uses Qt.
if (kitInfo.cxxToolChain)

View File

@@ -33,11 +33,10 @@
#include "cmakeprojectmanager.h"
#include <coreplugin/progressmanager/progressmanager.h>
#include <cpptools/cpprawprojectpart.h>
#include <cpptools/cppprojectupdater.h>
#include <cpptools/cpptoolsconstants.h>
#include <cpptools/generatedcodemodelsupport.h>
#include <cpptools/projectinfo.h>
#include <cpptools/cpptoolsconstants.h>
#include <projectexplorer/buildsteplist.h>
#include <projectexplorer/buildtargetinfo.h>
#include <projectexplorer/deploymentdata.h>
@@ -47,10 +46,10 @@
#include <projectexplorer/projectexplorerconstants.h>
#include <projectexplorer/target.h>
#include <projectexplorer/toolchain.h>
#include <qmljs/qmljsmodelmanagerinterface.h>
#include <qtsupport/baseqtversion.h>
#include <qtsupport/qtcppkitinfo.h>
#include <qtsupport/qtkitinformation.h>
#include <qmljs/qmljsmodelmanagerinterface.h>
#include <utils/algorithm.h>
#include <utils/qtcassert.h>

View File

@@ -270,10 +270,10 @@ static QStringList splitFragments(const QStringList &fragments)
return result;
}
CppTools::RawProjectParts generateRawProjectParts(const PreprocessedData &input,
const FilePath &sourceDirectory)
RawProjectParts generateRawProjectParts(const PreprocessedData &input,
const FilePath &sourceDirectory)
{
CppTools::RawProjectParts rpps;
RawProjectParts rpps;
int counter = 0;
for (const TargetDetails &t : input.targetDetails) {
@@ -297,18 +297,18 @@ CppTools::RawProjectParts generateRawProjectParts(const PreprocessedData &input,
}
++counter;
CppTools::RawProjectPart rpp;
RawProjectPart rpp;
rpp.setProjectFileLocation(t.sourceDir.pathAppended("CMakeLists.txt").toString());
rpp.setBuildSystemTarget(t.name);
rpp.setDisplayName(t.id);
rpp.setMacros(transform<QVector>(ci.defines, &DefineInfo::define));
rpp.setHeaderPaths(transform<QVector>(ci.includes, &IncludeInfo::path));
CppTools::RawProjectPartFlags cProjectFlags;
RawProjectPartFlags cProjectFlags;
cProjectFlags.commandLineFlags = splitFragments(ci.fragments);
rpp.setFlagsForC(cProjectFlags);
CppTools::RawProjectPartFlags cxxProjectFlags;
RawProjectPartFlags cxxProjectFlags;
cxxProjectFlags.commandLineFlags = cProjectFlags.commandLineFlags;
rpp.setFlagsForCxx(cxxProjectFlags);

View File

@@ -31,7 +31,7 @@
#include "cmakeprocess.h"
#include "cmakeprojectnodes.h"
#include <cpptools/cpprawprojectpart.h>
#include <projectexplorer/rawprojectpart.h>
#include <memory>
@@ -45,7 +45,7 @@ public:
CMakeConfig cache;
QSet<Utils::FilePath> cmakeFiles;
QList<CMakeBuildTarget> buildTargets;
CppTools::RawProjectParts projectParts;
ProjectExplorer::RawProjectParts projectParts;
std::unique_ptr<CMakeProjectNode> rootProjectNode;
QSet<Utils::FilePath> knownHeaders;
};

View File

@@ -26,8 +26,8 @@
#include "fileapiparser.h"
#include <coreplugin/messagemanager.h>
#include <cpptools/cpprawprojectpart.h>
#include <projectexplorer/headerpath.h>
#include <projectexplorer/rawprojectpart.h>
#include <utils/algorithm.h>
#include <utils/qtcassert.h>
@@ -624,8 +624,9 @@ TargetDetails extractTargetDetails(const QJsonObject &root, QString &errorMessag
isSystem ? ProjectExplorer::HeaderPathType::System
: ProjectExplorer::HeaderPathType::User);
return IncludeInfo{CppTools::RawProjectPart::frameworkDetectionHeuristic(hp),
i.value("backtrace").toInt(-1)};
return IncludeInfo{
ProjectExplorer::RawProjectPart::frameworkDetectionHeuristic(hp),
i.value("backtrace").toInt(-1)};
}),
transform<std::vector>(o.value("defines").toArray(),
[](const QJsonValue &v) {

View File

@@ -206,11 +206,11 @@ std::unique_ptr<CMakeProjectNode> FileApiReader::generateProjectTree(
return std::move(m_rootProjectNode);
}
CppTools::RawProjectParts FileApiReader::createRawProjectParts(QString &errorMessage)
RawProjectParts FileApiReader::createRawProjectParts(QString &errorMessage)
{
Q_UNUSED(errorMessage)
CppTools::RawProjectParts result = std::move(m_projectParts);
RawProjectParts result = std::move(m_projectParts);
m_projectParts.clear();
return result;
}

View File

@@ -67,7 +67,7 @@ public:
CMakeConfig takeParsedConfiguration(QString &errorMessage) final;
std::unique_ptr<CMakeProjectNode> generateProjectTree(
const QList<const ProjectExplorer::FileNode *> &allFiles, QString &errorMessage) final;
CppTools::RawProjectParts createRawProjectParts(QString &errorMessage) final;
ProjectExplorer::RawProjectParts createRawProjectParts(QString &errorMessage) final;
private:
void startState();
@@ -81,7 +81,7 @@ private:
CMakeConfig m_cache;
QSet<Utils::FilePath> m_cmakeFiles;
QList<CMakeBuildTarget> m_buildTargets;
CppTools::RawProjectParts m_projectParts;
ProjectExplorer::RawProjectParts m_projectParts;
std::unique_ptr<CMakeProjectNode> m_rootProjectNode;
QSet<Utils::FilePath> m_knownHeaders;

View File

@@ -293,10 +293,10 @@ std::unique_ptr<CMakeProjectNode> ServerModeReader::generateProjectTree(const QL
return root;
}
CppTools::RawProjectParts ServerModeReader::createRawProjectParts(QString &errorMessage)
RawProjectParts ServerModeReader::createRawProjectParts(QString &errorMessage)
{
Q_UNUSED(errorMessage)
CppTools::RawProjectParts rpps;
RawProjectParts rpps;
int counter = 0;
for (const FileGroup *fg : qAsConst(m_fileGroups)) {
@@ -317,18 +317,18 @@ CppTools::RawProjectParts ServerModeReader::createRawProjectParts(QString &error
const QStringList flags = QtcProcess::splitArgs(fg->compileFlags);
const QStringList includes = transform(fg->includePaths, [](const IncludePath *ip) { return ip->path.toString(); });
CppTools::RawProjectPart rpp;
RawProjectPart rpp;
rpp.setProjectFileLocation(fg->target->sourceDirectory.toString() + "/CMakeLists.txt");
rpp.setBuildSystemTarget(fg->target->name);
rpp.setDisplayName(fg->target->name + QString::number(counter));
rpp.setMacros(fg->macros);
rpp.setIncludePaths(includes);
CppTools::RawProjectPartFlags cProjectFlags;
RawProjectPartFlags cProjectFlags;
cProjectFlags.commandLineFlags = flags;
rpp.setFlagsForC(cProjectFlags);
CppTools::RawProjectPartFlags cxxProjectFlags;
RawProjectPartFlags cxxProjectFlags;
cxxProjectFlags.commandLineFlags = flags;
rpp.setFlagsForCxx(cxxProjectFlags);

View File

@@ -60,7 +60,7 @@ public:
CMakeConfig takeParsedConfiguration(QString &errorMessage) final;
std::unique_ptr<CMakeProjectNode> generateProjectTree(
const QList<const ProjectExplorer::FileNode *> &allFiles, QString &errorMessage) final;
CppTools::RawProjectParts createRawProjectParts(QString &errorMessage) final;
ProjectExplorer::RawProjectParts createRawProjectParts(QString &errorMessage) final;
private:
void createNewServer();

View File

@@ -260,14 +260,14 @@ static void processCMakeIncludes(const CMakeBuildTarget &cbt, const ToolChain *t
}
}
CppTools::RawProjectParts TeaLeafReader::createRawProjectParts(QString &errorMessage)
RawProjectParts TeaLeafReader::createRawProjectParts(QString &errorMessage)
{
Q_UNUSED(errorMessage)
const ToolChain *tcCxx = ToolChainManager::findToolChain(m_parameters.cxxToolChainId);
const ToolChain *tcC = ToolChainManager::findToolChain(m_parameters.cToolChainId);
const FilePath sysroot = m_parameters.sysRoot;
CppTools::RawProjectParts rpps;
RawProjectParts rpps;
QHash<QString, QStringList> targetDataCacheCxx;
QHash<QString, QStringList> targetDataCacheC;
foreach (const CMakeBuildTarget &cbt, m_buildTargets) {
@@ -288,16 +288,16 @@ CppTools::RawProjectParts TeaLeafReader::createRawProjectParts(QString &errorMes
includePaths = transform(cbt.includeFiles, &FilePath::toString);
}
includePaths += m_parameters.workDirectory.toString();
CppTools::RawProjectPart rpp;
RawProjectPart rpp;
rpp.setProjectFileLocation(cbt.sourceDirectory.toString() + "/CMakeLists.txt");
rpp.setBuildSystemTarget(cbt.title);
rpp.setIncludePaths(includePaths);
CppTools::RawProjectPartFlags cProjectFlags;
RawProjectPartFlags cProjectFlags;
cProjectFlags.commandLineFlags = cflags;
rpp.setFlagsForC(cProjectFlags);
CppTools::RawProjectPartFlags cxxProjectFlags;
RawProjectPartFlags cxxProjectFlags;
cxxProjectFlags.commandLineFlags = cxxflags;
rpp.setFlagsForCxx(cxxProjectFlags);

View File

@@ -59,7 +59,7 @@ public:
CMakeConfig takeParsedConfiguration(QString &errorMessage) final;
std::unique_ptr<CMakeProjectNode> generateProjectTree(
const QList<const ProjectExplorer::FileNode *> &allFiles, QString &errorMessage) final;
CppTools::RawProjectParts createRawProjectParts(QString &errorMessage) final;
ProjectExplorer::RawProjectParts createRawProjectParts(QString &errorMessage) final;
private:
void extractData();