aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/corelib/buildgraph/transformer.cpp
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2018-01-12 17:53:09 +0100
committerChristian Kandeler <christian.kandeler@qt.io>2018-02-16 10:17:28 +0000
commit21c5ea0f79ad0e89eaa29ab5b91387b8454c4e3e (patch)
tree6b5ce9f69177a739842fc893f1e1a722a115bfaf /src/lib/corelib/buildgraph/transformer.cpp
parent33006868d9d1bf1bee214f6d55c2cafde3cd2e3a (diff)
Track accesses to product.artifacts
... and take the data into account when deciding whether to re-run rules and commands. Change-Id: Ib0f733028617eaa91cbf902c5537f30375900646 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'src/lib/corelib/buildgraph/transformer.cpp')
-rw-r--r--src/lib/corelib/buildgraph/transformer.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/lib/corelib/buildgraph/transformer.cpp b/src/lib/corelib/buildgraph/transformer.cpp
index e09e779d8..d722bf52c 100644
--- a/src/lib/corelib/buildgraph/transformer.cpp
+++ b/src/lib/corelib/buildgraph/transformer.cpp
@@ -249,6 +249,7 @@ void Transformer::createCommands(ScriptEngine *engine, const PrivateScriptFuncti
propertiesRequestedFromArtifactInPrepareScript = engine->propertiesRequestedFromArtifact();
importedFilesUsedInPrepareScript = engine->importedFilesUsedInScript();
depsRequestedInPrepareScript = engine->requestedDependencies();
+ artifactsMapRequestedInPrepareScript = engine->requestedArtifacts();
lastPrepareScriptExecutionTime = FileTime::currentTime();
engine->clearRequestedProperties();
if (Q_UNLIKELY(engine->hasErrorOrException(scriptValue)))
@@ -286,6 +287,8 @@ void Transformer::rescueChangeTrackingData(const TransformerConstPtr &other)
importedFilesUsedInCommands = other->importedFilesUsedInCommands;
depsRequestedInPrepareScript = other->depsRequestedInPrepareScript;
depsRequestedInCommands = other->depsRequestedInCommands;
+ artifactsMapRequestedInPrepareScript = other->artifactsMapRequestedInPrepareScript;
+ artifactsMapRequestedInCommands = other->artifactsMapRequestedInCommands;
lastCommandExecutionTime = other->lastCommandExecutionTime;
lastPrepareScriptExecutionTime = other->lastPrepareScriptExecutionTime;
prepareScriptNeedsChangeTracking = other->prepareScriptNeedsChangeTracking;
@@ -307,6 +310,8 @@ void Transformer::load(PersistentPool &pool)
pool.load(depsRequestedInPrepareScript);
pool.load(depsRequestedInCommands);
pool.load(commands);
+ pool.load(artifactsMapRequestedInPrepareScript);
+ pool.load(artifactsMapRequestedInCommands);
pool.load(lastPrepareScriptExecutionTime);
pool.load(lastCommandExecutionTime);
pool.load(alwaysRun);
@@ -329,6 +334,8 @@ void Transformer::store(PersistentPool &pool) const
pool.store(depsRequestedInPrepareScript);
pool.store(depsRequestedInCommands);
pool.store(commands);
+ pool.store(artifactsMapRequestedInPrepareScript);
+ pool.store(artifactsMapRequestedInCommands);
pool.store(lastPrepareScriptExecutionTime);
pool.store(lastCommandExecutionTime);
pool.store(alwaysRun);