aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/corelib/language
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@digia.com>2014-05-23 12:26:46 +0200
committerChristian Kandeler <christian.kandeler@digia.com>2014-05-26 16:16:59 +0200
commit875f9ba4e7631a3c66e1edfc54f6b4ed6a42b841 (patch)
tree8ca26ea03d6b85b99f2ba4464850a4f319f81b43 /src/lib/corelib/language
parent8917e0cecd80a5d673ac4a6d6586b472aa019d1b (diff)
run rules on dependency-only products
This enables compound products that do not provide their own source files but only consist of dependencies. Task-number: QBS-277 Change-Id: I8e3fc5b5e3a85ca2c6fe4890dcd52d3a55cebfe2 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Diffstat (limited to 'src/lib/corelib/language')
-rw-r--r--src/lib/corelib/language/language.cpp9
-rw-r--r--src/lib/corelib/language/language.h1
2 files changed, 10 insertions, 0 deletions
diff --git a/src/lib/corelib/language/language.cpp b/src/lib/corelib/language/language.cpp
index fce173f5f..379f2ea8e 100644
--- a/src/lib/corelib/language/language.cpp
+++ b/src/lib/corelib/language/language.cpp
@@ -746,6 +746,15 @@ const ArtifactSet ResolvedProduct::addedArtifactsByFileTag(const FileTag &tag) c
return buildData->addedArtifactsByFileTag.value(tag);
}
+bool ResolvedProduct::isAdded(Artifact *a) const
+{
+ foreach (const ArtifactSet &artifacts, buildData->addedArtifactsByFileTag) {
+ if (artifacts.contains(a))
+ return true;
+ }
+ return false;
+}
+
const ArtifactSet ResolvedProduct::removedArtifactsByFileTag(const FileTag &tag) const
{
return buildData->removedArtifactsByFileTag.value(tag);
diff --git a/src/lib/corelib/language/language.h b/src/lib/corelib/language/language.h
index 70d7fb9ea..fdfb7e44e 100644
--- a/src/lib/corelib/language/language.h
+++ b/src/lib/corelib/language/language.h
@@ -389,6 +389,7 @@ public:
void unregisterArtifactWithChangedInputs(Artifact *artifact);
void unmarkForReapplication(const RuleConstPtr &rule);
const ArtifactSet addedArtifactsByFileTag(const FileTag &tag) const;
+ bool isAdded(Artifact *a) const;
const ArtifactSet removedArtifactsByFileTag(const FileTag &tag) const;
bool isMarkedForReapplication(const RuleConstPtr &rule) const;
ArtifactSet lookupArtifactsByFileTag(const FileTag &tag) const;