QbsProjectManager: Allow to import builds

Task-number: QBS-1059
Change-Id: Ibf45fbd870eb22f79883331f6559e1487df25ad0
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
This commit is contained in:
Christian Kandeler
2017-06-07 18:35:51 +02:00
parent a25f394f68
commit 70e6bb2827
8 changed files with 324 additions and 16 deletions

View File

@@ -28,6 +28,7 @@
#include "qbsbuildconfiguration.h"
#include "qbslogsink.h"
#include "qbspmlogging.h"
#include "qbsprojectimporter.h"
#include "qbsprojectparser.h"
#include "qbsprojectmanagerconstants.h"
#include "qbsnodes.h"
@@ -152,6 +153,7 @@ QbsProject::~QbsProject()
{
delete m_cppCodeModelUpdater;
delete m_qbsProjectParser;
delete m_importer;
if (m_qbsUpdateFutureInterface) {
m_qbsUpdateFutureInterface->reportCanceled();
m_qbsUpdateFutureInterface->reportFinished();
@@ -171,6 +173,13 @@ void QbsProject::projectLoaded()
m_parsingDelay.start(0);
}
ProjectImporter *QbsProject::projectImporter() const
{
if (!m_importer)
m_importer = new QbsProjectImporter(projectFilePath());
return m_importer;
}
QStringList QbsProject::filesGeneratedFrom(const QString &sourceFile) const
{
QStringList generated;
@@ -654,19 +663,6 @@ void QbsProject::registerQbsProjectParser(QbsProjectParser *p)
}
}
Project::RestoreResult QbsProject::fromMap(const QVariantMap &map, QString *errorMessage)
{
RestoreResult result = Project::fromMap(map, errorMessage);
if (result != RestoreResult::Ok)
return result;
Kit *defaultKit = KitManager::defaultKit();
if (!activeTarget() && defaultKit)
addTarget(createTarget(defaultKit));
return RestoreResult::Ok;
}
void QbsProject::generateErrors(const qbs::ErrorInfo &e)
{
foreach (const qbs::ErrorItem &item, e.items())