summaryrefslogtreecommitdiff
path: root/src/lib/buildgraph/buildgraphloader.cpp
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@digia.com>2013-08-01 17:43:40 +0200
committerChristian Kandeler <christian.kandeler@digia.com>2013-08-02 10:43:22 +0200
commit7893c2b986c8f767e2cc747e98efcc6b48aec05f (patch)
treebcebc06bdbf45d441d7e21c9171e643d2e04013f /src/lib/buildgraph/buildgraphloader.cpp
parentc0e44c33033366b33fa9429972ed76262ec0dcbd (diff)
downloadqbs-7893c2b986c8f767e2cc747e98efcc6b48aec05f.tar.gz
remove Artifact::topLevelProject
Every artifact has a product now. That product points to its top level project. Artifact::topLevelProject can go. Change-Id: I7a7ec921043b64eec6c704128ae465fd9ef05031 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Diffstat (limited to 'src/lib/buildgraph/buildgraphloader.cpp')
-rw-r--r--src/lib/buildgraph/buildgraphloader.cpp13
1 files changed, 5 insertions, 8 deletions
diff --git a/src/lib/buildgraph/buildgraphloader.cpp b/src/lib/buildgraph/buildgraphloader.cpp
index 340e70cba..fbaeae2b4 100644
--- a/src/lib/buildgraph/buildgraphloader.cpp
+++ b/src/lib/buildgraph/buildgraphloader.cpp
@@ -77,10 +77,8 @@ static void restoreBackPointers(const ResolvedProjectPtr &project)
product->project = project;
if (!product->buildData)
continue;
- foreach (Artifact * const a, product->buildData->artifacts) {
- a->topLevelProject = project->topLevelProject();
+ foreach (Artifact * const a, product->buildData->artifacts)
project->topLevelProject()->buildData->insertIntoLookupTable(a);
- }
}
foreach (const ResolvedProjectPtr &subProject, project->subProjects) {
@@ -238,10 +236,8 @@ void BuildGraphLoader::trackProjectChanges(const SetupProjectParameters &paramet
if (newlyResolvedProduct->name == restoredProduct->name) {
newlyResolvedProduct->buildData.swap(restoredProduct->buildData);
if (newlyResolvedProduct->buildData) {
- foreach (Artifact * const a, newlyResolvedProduct->buildData->artifacts) {
+ foreach (Artifact * const a, newlyResolvedProduct->buildData->artifacts)
a->product = newlyResolvedProduct;
- a->topLevelProject = newlyResolvedProduct->topLevelProject();
- }
}
// Keep in list if build data still needs to be resolved.
@@ -496,20 +492,21 @@ void BuildGraphLoader::removeArtifactAndExclusiveDependents(Artifact *artifact,
{
if (removedArtifacts)
removedArtifacts->insert(artifact);
+ TopLevelProject * const project = artifact->product->topLevelProject();
foreach (Artifact *parent, artifact->parents) {
bool removeParent = false;
disconnect(parent, artifact, m_logger);
if (parent->children.isEmpty()) {
removeParent = true;
} else if (parent->transformer) {
- artifact->topLevelProject->buildData->artifactsThatMustGetNewTransformers += parent;
+ project->buildData->artifactsThatMustGetNewTransformers += parent;
parent->transformer->inputs.remove(artifact);
removeParent = parent->transformer->inputs.isEmpty();
}
if (removeParent)
removeArtifactAndExclusiveDependents(parent, removedArtifacts);
}
- artifact->topLevelProject->buildData->removeArtifact(artifact, m_logger);
+ project->buildData->removeArtifact(artifact, m_logger);
}
bool BuildGraphLoader::checkForPropertyChanges(const TransformerPtr &restoredTrafo,