diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2016-12-08 12:47:57 +0100 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@qt.io> | 2017-01-10 10:00:09 +0000 |
commit | 4004e5688b49e0c7e97e9f4773c3d3c76c0059ee (patch) | |
tree | 125b596236fa93feddc37599e28b4db0268b26d6 /src/lib/corelib/buildgraph/depscanner.h | |
parent | 4265033a34e1ecd06f9d51b72ab8d595d5eb28be (diff) |
Make scanning information persistent
This way, a change in some artifact or dependency will not cause re-
scanning of tons of other header files anymore.
Task-number: QBS-1052
Change-Id: I1713da416b47b19275641cbbacd0a5c9da866578
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'src/lib/corelib/buildgraph/depscanner.h')
-rw-r--r-- | src/lib/corelib/buildgraph/depscanner.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/lib/corelib/buildgraph/depscanner.h b/src/lib/corelib/buildgraph/depscanner.h index cf614c1a6..9ecd6f252 100644 --- a/src/lib/corelib/buildgraph/depscanner.h +++ b/src/lib/corelib/buildgraph/depscanner.h @@ -63,10 +63,19 @@ class DependencyScanner public: virtual ~DependencyScanner() {} + QString id() const; + virtual QStringList collectSearchPaths(Artifact *artifact) = 0; virtual QStringList collectDependencies(FileResourceBase *file, const char *fileTags) = 0; virtual bool recursive() const = 0; virtual const void *key() const = 0; + virtual bool areModulePropertiesCompatible(const PropertyMapConstPtr &m1, + const PropertyMapConstPtr &m2) const = 0; + +private: + virtual QString createId() const = 0; + + mutable QString m_id; }; class PluginDependencyScanner : public DependencyScanner @@ -79,6 +88,9 @@ private: QStringList collectDependencies(FileResourceBase *file, const char *fileTags); bool recursive() const; const void *key() const; + QString createId() const; + bool areModulePropertiesCompatible(const PropertyMapConstPtr &m1, + const PropertyMapConstPtr &m2) const; ScannerPlugin* m_plugin; }; @@ -94,6 +106,9 @@ private: QStringList collectDependencies(FileResourceBase *file, const char *fileTags); bool recursive() const; const void *key() const; + QString createId() const; + bool areModulePropertiesCompatible(const PropertyMapConstPtr &m1, + const PropertyMapConstPtr &m2) const; QStringList evaluate(Artifact *artifact, const ScriptFunctionPtr &script); |