diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2018-07-31 17:41:04 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2018-08-01 11:38:28 +0000 |
commit | b9db9d860edee00280c46c5db51954c9db28a4ee (patch) | |
tree | d67fa066b5f589f3cf307231420da80a299c5491 /src/lib/corelib/buildgraph/rulenode.h | |
parent | 872a4d75dca98c1692fb1f03fa69bd31bc018bd8 (diff) |
RuleNode: Keep track of "helper inputs"
Namely, explicitlyDependsOn and auxiliaryInputs. A change in the set of
explicitlyDependsOn must cause rule re-application (see c241048e30).
In addition, for "I/O rules" (see 2d1de8cc84), we re-apply on filestamp
changes to explicitlyDependsOn and any changes to auxiliaryInputs.
Change-Id: Ic1770ab37b0609b0d58e7bbc6c1c755dec262a19
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'src/lib/corelib/buildgraph/rulenode.h')
-rw-r--r-- | src/lib/corelib/buildgraph/rulenode.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/lib/corelib/buildgraph/rulenode.h b/src/lib/corelib/buildgraph/rulenode.h index 9476909c0..361aa1d38 100644 --- a/src/lib/corelib/buildgraph/rulenode.h +++ b/src/lib/corelib/buildgraph/rulenode.h @@ -86,15 +86,19 @@ public: private: template<PersistentPool::OpType opType> void serializationOp(PersistentPool &pool) { - pool.serializationOp<opType>(m_rule, m_oldInputArtifacts, m_lastApplicationTime, + pool.serializationOp<opType>(m_rule, m_oldInputArtifacts, m_oldExplicitlyDependsOn, + m_oldAuxiliaryInputs, m_lastApplicationTime, m_needsToConsiderChangedInputs); } ArtifactSet currentInputArtifacts() const; - ArtifactSet changedInputArtifacts(const ArtifactSet &allCompatibleInputs) const; + ArtifactSet changedInputArtifacts(const ArtifactSet &allCompatibleInputs, + const ArtifactSet &explicitlyDependsOn, const ArtifactSet &auxiliaryInputs) const; RuleConstPtr m_rule; ArtifactSet m_oldInputArtifacts; + ArtifactSet m_oldExplicitlyDependsOn; + ArtifactSet m_oldAuxiliaryInputs; FileTime m_lastApplicationTime; bool m_needsToConsiderChangedInputs = false; }; |