diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2017-11-06 10:04:59 +0100 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2017-11-06 09:29:25 +0000 |
commit | 1fbdea32bf9b1251e006434680f0e9da8117ca93 (patch) | |
tree | 1c9d57275de2ef53d87d67210f22fd2b2c28eebe /src/lib/corelib/buildgraph | |
parent | 38715491eef958be049b15b37276fcb708738a4b (diff) | |
download | qbs-1fbdea32bf9b1251e006434680f0e9da8117ca93.tar.gz |
Fix change tracking for rules with more than one command
We have to accumulate the accessed properties, otherwise the ones from
the previous command will be overwritten.
Change-Id: I094327f1bc31ec19770747a70e62461fa46d8e98
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'src/lib/corelib/buildgraph')
-rw-r--r-- | src/lib/corelib/buildgraph/executorjob.cpp | 1 | ||||
-rw-r--r-- | src/lib/corelib/buildgraph/jscommandexecutor.cpp | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/src/lib/corelib/buildgraph/executorjob.cpp b/src/lib/corelib/buildgraph/executorjob.cpp index 628426adf..0fc056857 100644 --- a/src/lib/corelib/buildgraph/executorjob.cpp +++ b/src/lib/corelib/buildgraph/executorjob.cpp @@ -103,6 +103,7 @@ void ExecutorJob::run(Transformer *t) } t->propertiesRequestedInCommands.clear(); + t->propertiesRequestedFromArtifactInCommands.clear(); QBS_CHECK(!t->outputs.isEmpty()); m_processCommandExecutor->setProcessEnvironment( (*t->outputs.cbegin())->product->buildEnvironment); diff --git a/src/lib/corelib/buildgraph/jscommandexecutor.cpp b/src/lib/corelib/buildgraph/jscommandexecutor.cpp index 3e9d35cfc..d74ae12bc 100644 --- a/src/lib/corelib/buildgraph/jscommandexecutor.cpp +++ b/src/lib/corelib/buildgraph/jscommandexecutor.cpp @@ -142,7 +142,7 @@ private: transformer->propertiesRequestedInCommands += scriptEngine->propertiesRequestedInScript(); transformer->propertiesRequestedFromArtifactInCommands - = scriptEngine->propertiesRequestedFromArtifact(); + .unite(scriptEngine->propertiesRequestedFromArtifact()); scriptEngine->clearRequestedProperties(); if (scriptEngine->hasUncaughtException()) { // ### We don't know the line number of the command's sourceCode property assignment. |