summaryrefslogtreecommitdiff
path: root/src/lib/corelib/buildgraph
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2017-11-06 10:04:59 +0100
committerChristian Kandeler <christian.kandeler@qt.io>2017-11-06 09:29:25 +0000
commit1fbdea32bf9b1251e006434680f0e9da8117ca93 (patch)
tree1c9d57275de2ef53d87d67210f22fd2b2c28eebe /src/lib/corelib/buildgraph
parent38715491eef958be049b15b37276fcb708738a4b (diff)
downloadqbs-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.cpp1
-rw-r--r--src/lib/corelib/buildgraph/jscommandexecutor.cpp2
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.