diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2019-01-17 15:17:57 +0100 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2019-01-18 08:48:47 +0000 |
commit | 9e55ddfa97619f7983ea66213ce6764ee0aed2d9 (patch) | |
tree | d0d2f31f5905d979b99de17d504de132a76e5ec9 /src/lib/corelib/buildgraph/depscanner.cpp | |
parent | 8c1a6dd96234c0a4bb0b4905341f6faeaa232108 (diff) |
Do not ignore file dependencies in the Scanner item
We used to look only at artifacts when scanning recursively.
Change-Id: I39f968c05dd3e6af362bf3bb98380814b01de172
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'src/lib/corelib/buildgraph/depscanner.cpp')
-rw-r--r-- | src/lib/corelib/buildgraph/depscanner.cpp | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/src/lib/corelib/buildgraph/depscanner.cpp b/src/lib/corelib/buildgraph/depscanner.cpp index c9fc04bb8..90c00c70d 100644 --- a/src/lib/corelib/buildgraph/depscanner.cpp +++ b/src/lib/corelib/buildgraph/depscanner.cpp @@ -100,9 +100,10 @@ QStringList PluginDependencyScanner::collectSearchPaths(Artifact *artifact) return QStringList(); } -QStringList PluginDependencyScanner::collectDependencies(FileResourceBase *file, +QStringList PluginDependencyScanner::collectDependencies(Artifact *artifact, FileResourceBase *file, const char *fileTags) { + Q_UNUSED(artifact); Set<QString> result; QString baseDirOfInFilePath = file->dirPath(); const QString &filepath = file->filePath(); @@ -167,16 +168,14 @@ UserDependencyScanner::UserDependencyScanner(const ResolvedScannerConstPtr &scan QStringList UserDependencyScanner::collectSearchPaths(Artifact *artifact) { - return evaluate(artifact, m_scanner->searchPathsScript); + return evaluate(artifact, nullptr, m_scanner->searchPathsScript); } -QStringList UserDependencyScanner::collectDependencies(FileResourceBase *file, const char *fileTags) +QStringList UserDependencyScanner::collectDependencies(Artifact *artifact, FileResourceBase *file, + const char *fileTags) { Q_UNUSED(fileTags); - // ### support user dependency scanners for file deps - if (file->fileType() != FileResourceBase::FileTypeArtifact) - return QStringList(); - return evaluate(static_cast<Artifact *>(file), m_scanner->scanScript); + return evaluate(artifact, file, m_scanner->scanScript); } bool UserDependencyScanner::recursive() const @@ -219,7 +218,8 @@ public: } }; -QStringList UserDependencyScanner::evaluate(Artifact *artifact, const PrivateScriptFunction &script) +QStringList UserDependencyScanner::evaluate(const Artifact *artifact, + const FileResourceBase *fileToScan, const PrivateScriptFunction &script) { ScriptEngineActiveFlagGuard guard(m_engine); @@ -230,10 +230,12 @@ QStringList UserDependencyScanner::evaluate(Artifact *artifact, const PrivateScr } QScriptValueList args; - args.reserve(3); + args.reserve(fileToScan ? 4 : 3); args.push_back(m_global.property(StringConstants::projectVar())); args.push_back(m_global.property(StringConstants::productVar())); args.push_back(Transformer::translateFileConfig(m_engine, artifact, m_scanner->module->name)); + if (fileToScan) + args.push_back(fileToScan->filePath()); m_engine->setGlobalObject(m_global); QScriptValue &function = script.scriptFunction; |