summaryrefslogtreecommitdiff
path: root/src/lib/buildgraph/projectbuilddata.h
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@digia.com>2013-07-30 10:18:40 +0200
committerChristian Kandeler <christian.kandeler@digia.com>2013-08-01 11:10:12 +0200
commit1ce74f4c5e7d9e9ccb854c22fa8540ebcaded154 (patch)
tree9fd3169fbe0406501a6e80923a2661d1f7718471 /src/lib/buildgraph/projectbuilddata.h
parent7e547f8458c0305c33e4ee35b40fe6f480a2eff3 (diff)
downloadqbs-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.h21
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;
};