aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2019-05-23 19:17:07 +0200
committerChristian Kandeler <christian.kandeler@qt.io>2019-05-23 19:17:07 +0200
commit4a12d020600643d6fcbf65a3da7bc1c21fda6970 (patch)
treefe5f3c8061530d9ac49a6cc54377ed1ef87915b0 /src
parenteb78330fcf98e56968ae5d436d17bc114b8a4890 (diff)
parent8cd4b8cec7ffda0b19b01129e96eda8d2fb75ec0 (diff)
Merge 1.13 into master
Diffstat (limited to 'src')
-rw-r--r--src/lib/corelib/api/internaljobs.cpp5
-rw-r--r--src/lib/corelib/buildgraph/transformer.cpp4
-rw-r--r--src/lib/corelib/language/language.cpp11
-rw-r--r--src/lib/corelib/language/language.h2
4 files changed, 17 insertions, 5 deletions
diff --git a/src/lib/corelib/api/internaljobs.cpp b/src/lib/corelib/api/internaljobs.cpp
index c3313cc13..5cd4bd439 100644
--- a/src/lib/corelib/api/internaljobs.cpp
+++ b/src/lib/corelib/api/internaljobs.cpp
@@ -269,8 +269,11 @@ void InternalSetupProjectJob::start()
deleteLocker = true;
}
execute();
- if (m_existingProject)
+ if (m_existingProject) {
+ if (m_existingProject != m_newProject)
+ m_existingProject->makeModuleProvidersNonTransient();
m_existingProject->bgLocker = nullptr;
+ }
m_newProject->bgLocker = bgLocker;
deleteLocker = false;
} catch (const ErrorInfo &error) {
diff --git a/src/lib/corelib/buildgraph/transformer.cpp b/src/lib/corelib/buildgraph/transformer.cpp
index 0a4fa17f9..cc0b4c923 100644
--- a/src/lib/corelib/buildgraph/transformer.cpp
+++ b/src/lib/corelib/buildgraph/transformer.cpp
@@ -103,9 +103,9 @@ static QScriptValue js_children(QScriptContext *ctx, QScriptEngine *engine, cons
Q_UNUSED(ctx);
QScriptValue sv = engine->newArray();
uint idx = 0;
- for (const Artifact *parent : artifact->childArtifacts()) {
+ for (const Artifact *child : artifact->childArtifacts()) {
sv.setProperty(idx++, Transformer::translateFileConfig(static_cast<ScriptEngine *>(engine),
- parent, QString()));
+ child, QString()));
}
return sv;
}
diff --git a/src/lib/corelib/language/language.cpp b/src/lib/corelib/language/language.cpp
index 9c9313e17..d888700c5 100644
--- a/src/lib/corelib/language/language.cpp
+++ b/src/lib/corelib/language/language.cpp
@@ -622,6 +622,12 @@ QString TopLevelProject::profile() const
return projectProperties().value(StringConstants::profileProperty()).toString();
}
+void TopLevelProject::makeModuleProvidersNonTransient()
+{
+ for (ModuleProviderInfo &m : moduleProviderInfo)
+ m.transientOutput = false;
+}
+
QString TopLevelProject::buildGraphFilePath() const
{
return ProjectBuildData::deriveBuildGraphFilePath(buildDirectory, id());
@@ -637,8 +643,9 @@ void TopLevelProject::store(Logger logger)
qCDebug(lcBuildGraph) << "build graph is unchanged in project" << id();
return;
}
- for (ModuleProviderInfo &m : moduleProviderInfo)
- m.transientOutput = false;
+
+ makeModuleProvidersNonTransient();
+
const QString fileName = buildGraphFilePath();
qCDebug(lcBuildGraph) << "storing:" << fileName;
PersistentPool pool(logger);
diff --git a/src/lib/corelib/language/language.h b/src/lib/corelib/language/language.h
index 3dbe90747..65879dd56 100644
--- a/src/lib/corelib/language/language.h
+++ b/src/lib/corelib/language/language.h
@@ -707,6 +707,8 @@ public:
const QVariantMap &buildConfiguration() const { return m_buildConfiguration; }
QString id() const { return m_id; }
QString profile() const;
+ void makeModuleProvidersNonTransient();
+
QVariantMap profileConfigs;
QVariantMap overriddenValues;