diff options
| author | Joerg Bornemann <joerg.bornemann@digia.com> | 2013-07-30 10:18:40 +0200 |
|---|---|---|
| committer | Christian Kandeler <christian.kandeler@digia.com> | 2013-08-01 11:10:12 +0200 |
| commit | 1ce74f4c5e7d9e9ccb854c22fa8540ebcaded154 (patch) | |
| tree | 9fd3169fbe0406501a6e80923a2661d1f7718471 /src/lib/buildgraph/projectbuilddata.h | |
| parent | 7e547f8458c0305c33e4ee35b40fe6f480a2eff3 (diff) | |
| download | qbs-1ce74f4c5e7d9e9ccb854c22fa8540ebcaded154.tar.gz | |
move file dependencies to dedicated class
File dependencies are a very simple variant of artifact.
We save space and structure the code more clearly by introducing the
FileDependency class.
Change-Id: I36b95794f9d6d3d739ea4836ebc831848a89de98
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Diffstat (limited to 'src/lib/buildgraph/projectbuilddata.h')
| -rw-r--r-- | src/lib/buildgraph/projectbuilddata.h | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/src/lib/buildgraph/projectbuilddata.h b/src/lib/buildgraph/projectbuilddata.h index 637889805..c123d2ca6 100644 --- a/src/lib/buildgraph/projectbuilddata.h +++ b/src/lib/buildgraph/projectbuilddata.h @@ -43,6 +43,8 @@ namespace qbs { namespace Internal { +class FileDependency; +class FileResourceBase; class ScriptEngine; class ProjectBuildData : public PersistentObject @@ -53,18 +55,19 @@ public: static QString deriveBuildGraphFilePath(const QString &buildDir, const QString &projectId); - void insertIntoArtifactLookupTable(Artifact *artifact); - void removeFromArtifactLookupTable(Artifact *artifact); - QList<Artifact *> lookupArtifacts(const QString &filePath) const; - QList<Artifact *> lookupArtifacts(const QString &dirPath, const QString &fileName) const; - QList<Artifact *> lookupArtifacts(const Artifact *artifact) const; - void insertFileDependency(Artifact *artifact); + void insertIntoLookupTable(FileResourceBase *fileres); + void removeFromLookupTable(FileResourceBase *fileres); + + QList<FileResourceBase *> lookupFiles(const QString &filePath) const; + QList<FileResourceBase *> lookupFiles(const QString &dirPath, const QString &fileName) const; + QList<FileResourceBase *> lookupFiles(const Artifact *artifact) const; + void insertFileDependency(FileDependency *dependency); void updateNodesThatMustGetNewTransformer(const Logger &logger); void removeArtifact(Artifact *artifact, const Logger &logger); void removeArtifact(Artifact *artifact, ProjectBuildData *projectBuildData, const Logger &logger); - ArtifactList dependencyArtifacts; + QSet<FileDependency *> fileDependencies; RulesEvaluationContextPtr evaluationContext; QSet<Artifact *> artifactsThatMustGetNewTransformers; bool isDirty; @@ -74,7 +77,9 @@ private: void store(PersistentPool &pool) const; void updateNodeThatMustGetNewTransformer(Artifact *artifact, const Logger &logger); - QHash<QString, QHash<QString, QList<Artifact *> > > m_artifactLookupTable; + typedef QHash<QString, QList<FileResourceBase *> > ResultsPerDirectory; + typedef QHash<QString, ResultsPerDirectory> ArtifactLookupTable; + ArtifactLookupTable m_artifactLookupTable; }; |
