diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2018-01-12 17:53:09 +0100 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2018-02-16 10:17:28 +0000 |
commit | 21c5ea0f79ad0e89eaa29ab5b91387b8454c4e3e (patch) | |
tree | 6b5ce9f69177a739842fc893f1e1a722a115bfaf /src/lib/corelib/buildgraph/transformer.cpp | |
parent | 33006868d9d1bf1bee214f6d55c2cafde3cd2e3a (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.cpp | 7 |
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); |