diff options
Diffstat (limited to 'src/lib/buildgraph/rulesapplicator.h')
-rw-r--r-- | src/lib/buildgraph/rulesapplicator.h | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/lib/buildgraph/rulesapplicator.h b/src/lib/buildgraph/rulesapplicator.h index 622391c5b..6a2e4436a 100644 --- a/src/lib/buildgraph/rulesapplicator.h +++ b/src/lib/buildgraph/rulesapplicator.h @@ -29,22 +29,24 @@ #ifndef QBS_RULESAPPLICATOR_H #define QBS_RULESAPPLICATOR_H -#include "artifactlist.h" +#include "artifactset.h" #include "forward_decls.h" #include <language/filetags.h> #include <language/forward_decls.h> #include <language/scriptpropertyobserver.h> #include <logging/logger.h> -#include <QMap> +#include <QHash> #include <QScriptValue> #include <QString> +#include <QVector> namespace qbs { namespace Internal { +class BuildGraphNode; class ScriptEngine; -typedef QMap<FileTag, ArtifactList> ArtifactsPerFileTagMap; +typedef QHash<FileTag, ArtifactSet> ArtifactsPerFileTagMap; class RulesApplicator : private ScriptPropertyObserver { @@ -52,13 +54,14 @@ public: RulesApplicator(const ResolvedProductPtr &product, ArtifactsPerFileTagMap &artifactsPerFileTag, const Logger &logger); void applyAllRules(); + QVector<BuildGraphNode *> applyRuleInEvaluationContext(const RuleConstPtr &rule); void applyRule(const RuleConstPtr &rule); private: - void doApply(const ArtifactList &inputArtifacts, QScriptValue &prepareScriptContext); + void doApply(const ArtifactSet &inputArtifacts, QScriptValue &prepareScriptContext); void setupScriptEngineForArtifact(Artifact *artifact); Artifact *createOutputArtifact(const RuleArtifactConstPtr &ruleArtifact, - const ArtifactList &inputArtifacts); + const ArtifactSet &inputArtifacts); QString resolveOutPath(const QString &path) const; RulesEvaluationContextPtr evalContext() const; ScriptEngine *engine() const; @@ -67,6 +70,7 @@ private: const ResolvedProductPtr m_product; ArtifactsPerFileTagMap &m_artifactsPerFileTag; + QVector<BuildGraphNode *> m_createdArtifacts; RuleConstPtr m_rule; TransformerPtr m_transformer; |