aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@theqtcompany.com>2016-08-02 10:23:29 +0200
committerChristian Kandeler <christian.kandeler@qt.io>2016-08-02 15:44:16 +0000
commit556d6dbc81705547a3cb438f6ab7f2c0c3f8cd11 (patch)
treefb31fac4ce004b63016f595a809dfeacef1b0426 /src
parent863b5f6ed8fe5ec17197e6103a18f02b07a7208e (diff)
Remove support for deprecated Transformer item
[ChangeLog] Support for the deprecated Transformer item was removed. Change-Id: I47b88fcf4e58a5c347838d598d44bad404381ee0 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/app/qbs/parser/commandlineoption.cpp2
-rw-r--r--src/lib/corelib/api/project.cpp2
-rw-r--r--src/lib/corelib/buildgraph/buildgraphloader.cpp62
-rw-r--r--src/lib/corelib/buildgraph/buildgraphloader.h1
-rw-r--r--src/lib/corelib/buildgraph/projectbuilddata.cpp68
-rw-r--r--src/lib/corelib/language/builtindeclarations.cpp2
-rw-r--r--src/lib/corelib/language/forward_decls.h4
-rw-r--r--src/lib/corelib/language/language.cpp43
-rw-r--r--src/lib/corelib/language/language.h31
-rw-r--r--src/lib/corelib/language/projectresolver.cpp42
-rw-r--r--src/lib/corelib/language/projectresolver.h1
-rw-r--r--src/lib/corelib/tools/buildoptions.cpp4
-rw-r--r--src/lib/corelib/tools/persistence.cpp2
13 files changed, 8 insertions, 256 deletions
diff --git a/src/app/qbs/parser/commandlineoption.cpp b/src/app/qbs/parser/commandlineoption.cpp
index d434613c8..6a34989e5 100644
--- a/src/app/qbs/parser/commandlineoption.cpp
+++ b/src/app/qbs/parser/commandlineoption.cpp
@@ -444,7 +444,7 @@ QString ForceOutputCheckOption::description(CommandType command) const
{
Q_UNUSED(command);
return Tr::tr("%1\n\tForce transformer output artifact checks.\n"
- "\tVerify that the output artifacts declared by rules and transformers in the\n"
+ "\tVerify that the output artifacts declared by rules in the\n"
"\tproject are actually created.\n").arg(longRepresentation());
}
diff --git a/src/lib/corelib/api/project.cpp b/src/lib/corelib/api/project.cpp
index 4a9404553..e39e31331 100644
--- a/src/lib/corelib/api/project.cpp
+++ b/src/lib/corelib/api/project.cpp
@@ -600,8 +600,6 @@ void ProjectPrivate::updateInternalCodeLocations(const ResolvedProjectPtr &proje
}
}
}
- foreach (const ResolvedTransformerConstPtr &transformer, product->transformers)
- updateLocationIfNecessary(transformer->transform->location, changeLocation, lineOffset);
foreach (const ResolvedScannerConstPtr &scanner, product->scanners) {
updateLocationIfNecessary(scanner->searchPathsScript->location, changeLocation, lineOffset);
updateLocationIfNecessary(scanner->scanScript->location, changeLocation, lineOffset);
diff --git a/src/lib/corelib/buildgraph/buildgraphloader.cpp b/src/lib/corelib/buildgraph/buildgraphloader.cpp
index f04bfcbcd..a0fcbc5ea 100644
--- a/src/lib/corelib/buildgraph/buildgraphloader.cpp
+++ b/src/lib/corelib/buildgraph/buildgraphloader.cpp
@@ -323,8 +323,7 @@ void BuildGraphLoader::trackProjectChanges()
foreach (const ResolvedProductConstPtr &changedProduct, changedProducts) {
rescueOldBuildData(changedProduct, freshProductsByName.value(changedProduct->uniqueName()),
- oldBuildData.data(), childLists,
- rescuableArtifactData.value(changedProduct->uniqueName()));
+ childLists, rescuableArtifactData.value(changedProduct->uniqueName()));
}
EmptyDirectoriesRemover(m_result.newlyResolvedProject.data(), m_logger)
@@ -535,19 +534,11 @@ bool BuildGraphLoader::checkProductForChanges(const ResolvedProductPtr &restored
// within commands).
if (checkForPropertyChanges(restoredProduct, newlyResolvedProduct))
return true;
- if (!transformerListsAreEqual(restoredProduct->transformers,
- newlyResolvedProduct->transformers)) {
- return true;
- }
if (!ruleListsAreEqual(restoredProduct->rules.toList(), newlyResolvedProduct->rules.toList()))
return true;
if (!dependenciesAreEqual(restoredProduct, newlyResolvedProduct))
return true;
const FileTime referenceTime = restoredProduct->topLevelProject()->lastResolveTime;
- foreach (const ResolvedTransformerConstPtr &transformer, newlyResolvedProduct->transformers) {
- if (!isPrepareScriptUpToDate(transformer->transform, referenceTime))
- return true;
- }
foreach (const RuleConstPtr &rule, newlyResolvedProduct->rules) {
if (!isPrepareScriptUpToDate(rule->prepareScript, referenceTime))
return true;
@@ -798,8 +789,8 @@ bool BuildGraphLoader::isPrepareScriptUpToDate(const ScriptFunctionConstPtr &scr
}
void BuildGraphLoader::rescueOldBuildData(const ResolvedProductConstPtr &restoredProduct,
- const ResolvedProductPtr &newlyResolvedProduct, ProjectBuildData *oldBuildData,
- const ChildListHash &childLists, const AllRescuableArtifactData &existingRad)
+ const ResolvedProductPtr &newlyResolvedProduct, const ChildListHash &childLists,
+ const AllRescuableArtifactData &existingRad)
{
QBS_CHECK(newlyResolvedProduct);
if (!restoredProduct->enabled || !newlyResolvedProduct->enabled)
@@ -813,57 +804,10 @@ void BuildGraphLoader::rescueOldBuildData(const ResolvedProductConstPtr &restore
QBS_CHECK(newlyResolvedProduct->buildData->rescuableArtifactData.isEmpty());
newlyResolvedProduct->buildData->rescuableArtifactData = existingRad;
- // This is needed for artifacts created by manually added transformers, which are
- // already present in the build graph.
- // FIXME: This complete block could go away if Transformers were also to create their
- // output artifacts at build time.
- QList<Artifact *> oldArtifactsCreatedByTransformers;
- for (Artifact *artifact : filterByType<Artifact>(newlyResolvedProduct->buildData->nodes)) {
- if (!artifact->transformer)
- continue;
- if (m_logger.traceEnabled()) {
- m_logger.qbsTrace() << QString::fromLocal8Bit("[BG] artifact '%1'")
- .arg(artifact->fileName());
- }
-
- Artifact * const oldArtifact = lookupArtifact(restoredProduct, oldBuildData,
- artifact->dirPath(), artifact->fileName(),
- true);
- if (!oldArtifact || !oldArtifact->transformer) {
- if (m_logger.traceEnabled())
- m_logger.qbsTrace() << QString::fromLocal8Bit("[BG] no transformer data");
- continue;
- }
- oldArtifactsCreatedByTransformers << oldArtifact;
- if (!commandListsAreEqual(artifact->transformer->commands,
- oldArtifact->transformer->commands)) {
- if (m_logger.traceEnabled())
- m_logger.qbsTrace() << QString::fromLocal8Bit("[BG] artifact invalidated");
- removeGeneratedArtifactFromDisk(oldArtifact, m_logger);
- m_artifactsRemovedFromDisk << oldArtifact->filePath();
- continue;
- }
- artifact->setTimestamp(oldArtifact->timestamp());
-
- const ChildrenInfo &childrenInfo = childLists.value(oldArtifact);
- foreach (Artifact * const oldChild, childrenInfo.children) {
- Artifact * const newChild = lookupArtifact(oldChild->product,
- newlyResolvedProduct->topLevelProject()->buildData.data(),
- oldChild->filePath(), true);
- if (!newChild || artifact->children.contains(newChild))
- continue;
- safeConnect(artifact, newChild, m_logger);
- if (childrenInfo.childrenAddedByScanner.contains(oldChild))
- artifact->childrenAddedByScanner << newChild;
- }
- }
-
// This is needed for artifacts created by rules, which happens later in the executor.
for (Artifact * const oldArtifact : filterByType<Artifact>(restoredProduct->buildData->nodes)) {
if (!oldArtifact->transformer)
continue;
- if (oldArtifactsCreatedByTransformers.contains(oldArtifact))
- continue;
Artifact * const newArtifact = lookupArtifact(newlyResolvedProduct, oldArtifact, false);
if (!newArtifact) {
RescuableArtifactData rad;
diff --git a/src/lib/corelib/buildgraph/buildgraphloader.h b/src/lib/corelib/buildgraph/buildgraphloader.h
index 68fc25667..6975bdfcf 100644
--- a/src/lib/corelib/buildgraph/buildgraphloader.h
+++ b/src/lib/corelib/buildgraph/buildgraphloader.h
@@ -118,7 +118,6 @@ private:
typedef QHash<const Artifact *, ChildrenInfo> ChildListHash;
void rescueOldBuildData(const ResolvedProductConstPtr &restoredProduct,
const ResolvedProductPtr &newlyResolvedProduct,
- ProjectBuildData *oldBuildData,
const ChildListHash &childLists,
const AllRescuableArtifactData &existingRad);
diff --git a/src/lib/corelib/buildgraph/projectbuilddata.cpp b/src/lib/corelib/buildgraph/projectbuilddata.cpp
index 4482ae9a7..927e470c6 100644
--- a/src/lib/corelib/buildgraph/projectbuilddata.cpp
+++ b/src/lib/corelib/buildgraph/projectbuilddata.cpp
@@ -503,74 +503,6 @@ void BuildDataResolver::resolveProductBuildData(const ResolvedProductPtr &produc
artifactsPerFileTag[fileTag].insert(artifact);
}
- // read manually added transformers
- typedef QPair<ResolvedTransformerConstPtr, TransformerConstPtr> TrafoPair;
- QList<TrafoPair> trafos;
- foreach (const ResolvedTransformerConstPtr &rtrafo, product->transformers) {
- ArtifactSet inputArtifacts;
- foreach (const QString &inputFileName, rtrafo->inputs) {
- Artifact *artifact = lookupArtifact(product, inputFileName);
- if (Q_UNLIKELY(!artifact))
- throw ErrorInfo(Tr::tr("Cannot find artifact '%0' in the list of source files.")
- .arg(inputFileName));
- inputArtifacts += artifact;
- }
- TransformerPtr transformer = Transformer::create();
- trafos += TrafoPair(rtrafo, transformer);
- transformer->alwaysRun = rtrafo->alwaysRun;
- transformer->inputs = inputArtifacts;
- const RulePtr rule = Rule::create();
- ResolvedModulePtr module = ResolvedModule::create();
- module->name = rtrafo->module->name;
- rule->module = module;
- rule->prepareScript = rtrafo->transform;
- foreach (const SourceArtifactConstPtr &sourceArtifact, rtrafo->outputs) {
- Artifact *outputArtifact = createArtifact(product, sourceArtifact, m_logger);
- outputArtifact->artifactType = Artifact::Generated;
- outputArtifact->transformer = transformer;
- transformer->outputs += outputArtifact;
- product->buildData->roots += outputArtifact;
- foreach (Artifact *inputArtifact, inputArtifacts)
- safeConnect(outputArtifact, inputArtifact, m_logger);
- foreach (const FileTag &fileTag, outputArtifact->fileTags())
- artifactsPerFileTag[fileTag].insert(outputArtifact);
-
- RuleArtifactPtr ruleArtifact = RuleArtifact::create();
- ruleArtifact->filePath = outputArtifact->filePath();
- ruleArtifact->fileTags = outputArtifact->fileTags();
- rule->artifacts += ruleArtifact;
- }
- transformer->rule = rule;
-
- RulesEvaluationContext::Scope s(evalContext().data());
- setupScriptEngineForFile(engine(), transformer->rule->prepareScript->fileContext, scope());
- QScriptValue prepareScriptContext = engine()->newObject();
- PrepareScriptObserver observer(engine());
- setupScriptEngineForProduct(engine(), product, transformer->rule->module, prepareScriptContext,
- &observer);
- transformer->setupInputs(prepareScriptContext);
- transformer->setupOutputs(engine(), prepareScriptContext);
- transformer->createCommands(rtrafo->transform, evalContext(),
- ScriptEngine::argumentList(transformer->rule->prepareScript->argumentNames,
- prepareScriptContext));
- if (Q_UNLIKELY(transformer->commands.isEmpty()))
- throw ErrorInfo(Tr::tr("There is a transformer without commands."),
- rtrafo->transform->location);
- }
-
- // Handle Transformer.explicitlyDependsOn after all transformer outputs have been created.
- foreach (const TrafoPair &p, trafos) {
- const ResolvedTransformerConstPtr &rtrafo = p.first;
- const TransformerConstPtr &trafo = p.second;
- foreach (const FileTag &tag, rtrafo->explicitlyDependsOn) {
- foreach (Artifact *output, trafo->outputs) {
- foreach (Artifact *dependency, artifactsPerFileTag.value(tag)) {
- loggedConnect(output, dependency, m_logger);
- }
- }
- }
- }
-
RuleGraph ruleGraph;
ruleGraph.build(product->rules, product->fileTags);
CreateRuleNodes crn(product, m_logger);
diff --git a/src/lib/corelib/language/builtindeclarations.cpp b/src/lib/corelib/language/builtindeclarations.cpp
index 27170b133..e84017273 100644
--- a/src/lib/corelib/language/builtindeclarations.cpp
+++ b/src/lib/corelib/language/builtindeclarations.cpp
@@ -263,7 +263,6 @@ void BuiltinDeclarations::addModuleLikeItem(ItemType type)
<< ItemType::Rule
<< ItemType::Probe
<< ItemType::PropertyOptions
- << ItemType::Transformer
<< ItemType::Scanner);
item << nameProperty();
item << conditionProperty();
@@ -302,7 +301,6 @@ void BuiltinDeclarations::addProductItem()
ItemDeclaration item(ItemType::Product);
item.setAllowedChildTypes(ItemDeclaration::TypeNames()
<< ItemType::Depends
- << ItemType::Transformer
<< ItemType::Group
<< ItemType::FileTagger
<< ItemType::Export
diff --git a/src/lib/corelib/language/forward_decls.h b/src/lib/corelib/language/forward_decls.h
index c35a636a3..971775338 100644
--- a/src/lib/corelib/language/forward_decls.h
+++ b/src/lib/corelib/language/forward_decls.h
@@ -115,10 +115,6 @@ class ResolvedGroup;
typedef QSharedPointer<ResolvedGroup> GroupPtr;
typedef QSharedPointer<const ResolvedGroup> GroupConstPtr;
-class ResolvedTransformer;
-typedef QSharedPointer<ResolvedTransformer> ResolvedTransformerPtr;
-typedef QSharedPointer<const ResolvedTransformer> ResolvedTransformerConstPtr;
-
class ArtifactProperties;
typedef QSharedPointer<ArtifactProperties> ArtifactPropertiesPtr;
typedef QSharedPointer<const ArtifactProperties> ArtifactPropertiesConstPtr;
diff --git a/src/lib/corelib/language/language.cpp b/src/lib/corelib/language/language.cpp
index cd6a41f36..b65850f08 100644
--- a/src/lib/corelib/language/language.cpp
+++ b/src/lib/corelib/language/language.cpp
@@ -277,9 +277,8 @@ void RuleArtifact::store(PersistentPool &pool) const
/*!
* \class ScriptFunction
* \brief The \c ScriptFunction class represents the JavaScript code found in the "prepare" binding
- * of a \c Rule or \c Transformer item in a qbs file.
+ * of a \c Rule item in a qbs file.
* \sa Rule
- * \sa ResolvedTransformer
*/
ScriptFunction::ScriptFunction()
@@ -509,7 +508,6 @@ void ResolvedProduct::load(PersistentPool &pool)
pool.loadContainerS(dependencies);
pool.loadContainerS(fileTaggers);
pool.loadContainerS(modules);
- pool.loadContainerS(transformers);
pool.loadContainerS(scanners);
pool.loadContainerS(groups);
pool.loadContainerS(artifactProperties);
@@ -534,7 +532,6 @@ void ResolvedProduct::store(PersistentPool &pool) const
pool.storeContainer(dependencies);
pool.storeContainer(fileTaggers);
pool.storeContainer(modules);
- pool.storeContainer(transformers);
pool.storeContainer(scanners);
pool.storeContainer(groups);
pool.storeContainer(artifactProperties);
@@ -1157,27 +1154,6 @@ void SourceWildCards::expandPatterns(QSet<QString> &result, const GroupConstPtr
}
}
-void ResolvedTransformer::load(PersistentPool &pool)
-{
- module = pool.idLoadS<ResolvedModule>();
- pool.stream() >> inputs;
- pool.loadContainerS(outputs);
- transform = pool.idLoadS<ScriptFunction>();
- pool.stream() >> explicitlyDependsOn;
- pool.stream() >> alwaysRun;
-}
-
-void ResolvedTransformer::store(PersistentPool &pool) const
-{
- pool.store(module);
- pool.stream() << inputs;
- pool.storeContainer(outputs);
- pool.store(transform);
- pool.stream() << explicitlyDependsOn;
- pool.stream() << alwaysRun;
-}
-
-
template<typename T> QMap<QString, T> listToMap(const QList<T> &list)
{
QMap<QString, T> map;
@@ -1203,7 +1179,6 @@ template<typename T> bool listsAreEqual(const QList<T> &l1, const QList<T> &l2)
}
QString keyFromElem(const SourceArtifactPtr &sa) { return sa->absoluteFilePath; }
-QString keyFromElem(const ResolvedTransformerPtr &t) { return t->transform->sourceCode; }
QString keyFromElem(const RulePtr &r) {
QString key = r->toString() + r->prepareScript->sourceCode;
if (r->outputArtifactsScript)
@@ -1235,22 +1210,6 @@ bool sourceArtifactSetsAreEqual(const QList<SourceArtifactPtr> &l1,
return listsAreEqual(l1, l2);
}
-bool operator==(const ResolvedTransformer &t1, const ResolvedTransformer &t2)
-{
- return equals(t1.module.data(), t2.module.data())
- && t1.inputs.toSet() == t2.inputs.toSet()
- && sourceArtifactSetsAreEqual(t1.outputs, t2.outputs)
- && equals(t1.transform.data(), t2.transform.data())
- && t1.explicitlyDependsOn == t2.explicitlyDependsOn
- && t1.alwaysRun == t2.alwaysRun;
-}
-
-bool transformerListsAreEqual(const QList<ResolvedTransformerPtr> &l1,
- const QList<ResolvedTransformerPtr> &l2)
-{
- return listsAreEqual(l1, l2);
-}
-
bool operator==(const Rule &r1, const Rule &r2)
{
if (r1.artifacts.count() != r2.artifacts.count())
diff --git a/src/lib/corelib/language/language.h b/src/lib/corelib/language/language.h
index 8efe61327..1b3400efb 100644
--- a/src/lib/corelib/language/language.h
+++ b/src/lib/corelib/language/language.h
@@ -334,36 +334,6 @@ bool operator==(const Rule &r1, const Rule &r2);
inline bool operator!=(const Rule &r1, const Rule &r2) { return !(r1 == r2); }
bool ruleListsAreEqual(const QList<RulePtr> &l1, const QList<RulePtr> &l2);
-// TODO: Remove this and all related code in 1.7.
-class ResolvedTransformer : public PersistentObject
-{
-public:
- static ResolvedTransformerPtr create()
- {
- return ResolvedTransformerPtr(new ResolvedTransformer);
- }
-
- ResolvedModuleConstPtr module;
- QStringList inputs;
- QList<SourceArtifactPtr> outputs;
- ScriptFunctionPtr transform;
- FileTags explicitlyDependsOn;
- bool alwaysRun;
-
-private:
- ResolvedTransformer() :alwaysRun(false) {}
-
- void load(PersistentPool &pool);
- void store(PersistentPool &pool) const;
-};
-
-bool operator==(const ResolvedTransformer &t1, const ResolvedTransformer &t2);
-inline bool operator!=(const ResolvedTransformer &t1, const ResolvedTransformer &t2) {
- return !(t1 == t2);
-}
-bool transformerListsAreEqual(const QList<ResolvedTransformerPtr> &l1,
- const QList<ResolvedTransformerPtr> &l2);
-
class ResolvedScanner : public PersistentObject
{
public:
@@ -409,7 +379,6 @@ public:
QSet<ResolvedProductPtr> dependencies;
QList<FileTaggerConstPtr> fileTaggers;
QList<ResolvedModuleConstPtr> modules;
- QList<ResolvedTransformerPtr> transformers;
QList<ResolvedScannerConstPtr> scanners;
QList<GroupPtr> groups;
QList<ProbeConstPtr> probes;
diff --git a/src/lib/corelib/language/projectresolver.cpp b/src/lib/corelib/language/projectresolver.cpp
index 2d9082cc8..b8b4025bc 100644
--- a/src/lib/corelib/language/projectresolver.cpp
+++ b/src/lib/corelib/language/projectresolver.cpp
@@ -382,7 +382,6 @@ void ProjectResolver::resolveProduct(Item *item, ProjectContext *projectContext)
{ ItemType::Depends, &ProjectResolver::ignoreItem },
{ ItemType::Rule, &ProjectResolver::resolveRule },
{ ItemType::FileTagger, &ProjectResolver::resolveFileTagger },
- { ItemType::Transformer, &ProjectResolver::resolveTransformer },
{ ItemType::Group, &ProjectResolver::resolveGroup },
{ ItemType::Export, &ProjectResolver::ignoreItem },
{ ItemType::Probe, &ProjectResolver::ignoreItem },
@@ -395,9 +394,6 @@ void ProjectResolver::resolveProduct(Item *item, ProjectContext *projectContext)
resolveModules(item, projectContext);
product->fileTags += productContext.additionalFileTags;
- foreach (const ResolvedTransformerPtr &transformer, product->transformers)
- matchArtifactProperties(product, transformer->outputs);
-
foreach (const FileTag &t, product->fileTags)
m_productsByType[t] << product;
@@ -466,7 +462,6 @@ void ProjectResolver::resolveModule(const QualifiedId &moduleName, Item *item, b
{ ItemType::Group, &ProjectResolver::ignoreItem },
{ ItemType::Rule, &ProjectResolver::resolveRule },
{ ItemType::FileTagger, &ProjectResolver::resolveFileTagger },
- { ItemType::Transformer, &ProjectResolver::resolveTransformer },
{ ItemType::Scanner, &ProjectResolver::resolveScanner },
{ ItemType::PropertyOptions, &ProjectResolver::ignoreItem },
{ ItemType::Depends, &ProjectResolver::ignoreItem },
@@ -821,43 +816,6 @@ void ProjectResolver::resolveFileTagger(Item *item, ProjectContext *projectConte
fileTaggers += FileTagger::create(patterns, fileTags);
}
-void ProjectResolver::resolveTransformer(Item *item, ProjectContext *projectContext)
-{
- checkCancelation();
- if (!m_evaluator->boolValue(item, QLatin1String("condition"))) {
- m_logger.qbsTrace() << "[PR] transformer condition is false";
- return;
- }
-
- ResolvedTransformerPtr rtrafo = ResolvedTransformer::create();
- rtrafo->module = m_moduleContext ? m_moduleContext->module : projectContext->dummyModule;
- rtrafo->inputs = m_evaluator->stringListValue(item, QLatin1String("inputs"));
- for (int i = 0; i < rtrafo->inputs.count(); ++i)
- rtrafo->inputs[i] = FileInfo::resolvePath(m_productContext->product->sourceDirectory, rtrafo->inputs.at(i));
- rtrafo->transform = scriptFunctionValue(item, QLatin1String("prepare"));
- rtrafo->explicitlyDependsOn = m_evaluator->fileTagsValue(item,
- QLatin1String("explicitlyDependsOn"));
- rtrafo->alwaysRun = m_evaluator->boolValue(item, QLatin1String("alwaysRun"));
-
- foreach (const Item *child, item->children()) {
- if (Q_UNLIKELY(child->type() != ItemType::Artifact))
- throw ErrorInfo(Tr::tr("Transformer: wrong child type '%0'.").arg(child->typeName()));
- SourceArtifactPtr artifact = SourceArtifactInternal::create();
- artifact->properties = m_productContext->product->moduleProperties;
- QString filePath = m_evaluator->stringValue(child, QLatin1String("filePath"));
- if (Q_UNLIKELY(filePath.isEmpty()))
- throw ErrorInfo(Tr::tr("Artifact.filePath must not be empty."));
- artifact->absoluteFilePath
- = FileInfo::resolvePath(m_productContext->buildDirectory, filePath);
- artifact->fileTags = m_evaluator->fileTagsValue(child, QLatin1String("fileTags"));
- if (artifact->fileTags.isEmpty())
- artifact->fileTags.insert(unknownFileTag());
- rtrafo->outputs += artifact;
- }
-
- m_productContext->product->transformers += rtrafo;
-}
-
void ProjectResolver::resolveScanner(Item *item, ProjectResolver::ProjectContext *projectContext)
{
checkCancelation();
diff --git a/src/lib/corelib/language/projectresolver.h b/src/lib/corelib/language/projectresolver.h
index 99f809c2b..13cd4ef26 100644
--- a/src/lib/corelib/language/projectresolver.h
+++ b/src/lib/corelib/language/projectresolver.h
@@ -90,7 +90,6 @@ private:
const QStringList &namePrefix,
QualifiedIdSet *seenBindings);
void resolveFileTagger(Item *item, ProjectContext *projectContext);
- void resolveTransformer(Item *item, ProjectContext *projectContext);
void resolveScanner(Item *item, ProjectContext *projectContext);
void resolveProductDependencies(const ProjectContext &projectContext);
void postProcess(const ResolvedProductPtr &product, ProjectContext *projectContext) const;
diff --git a/src/lib/corelib/tools/buildoptions.cpp b/src/lib/corelib/tools/buildoptions.cpp
index ba49cbc56..64f5bb309 100644
--- a/src/lib/corelib/tools/buildoptions.cpp
+++ b/src/lib/corelib/tools/buildoptions.cpp
@@ -242,7 +242,7 @@ void BuildOptions::setForceTimestampCheck(bool enabled)
}
/*!
- * \brief Returns true if qbs will test whether rules and transformers actually create their
+ * \brief Returns true if qbs will test whether rules actually create their
* declared output artifacts.
* The default is \c false.
*/
@@ -252,7 +252,7 @@ bool BuildOptions::forceOutputCheck() const
}
/*!
- * \brief Controls whether qbs should test whether rules and transformers actually create their
+ * \brief Controls whether qbs should test whether rules actually create their
* declared output artifacts. Enabling this may introduce some small I/O overhead during the build.
*/
void BuildOptions::setForceOutputCheck(bool enabled)
diff --git a/src/lib/corelib/tools/persistence.cpp b/src/lib/corelib/tools/persistence.cpp
index 85f5272ad..62b4608f1 100644
--- a/src/lib/corelib/tools/persistence.cpp
+++ b/src/lib/corelib/tools/persistence.cpp
@@ -41,7 +41,7 @@
namespace qbs {
namespace Internal {
-static const char QBS_PERSISTENCE_MAGIC[] = "QBSPERSISTENCE-88";
+static const char QBS_PERSISTENCE_MAGIC[] = "QBSPERSISTENCE-89";
PersistentPool::PersistentPool(const Logger &logger) : m_logger(logger)
{