diff options
Diffstat (limited to 'src/lib/corelib/buildgraph/inputartifactscanner.cpp')
-rw-r--r-- | src/lib/corelib/buildgraph/inputartifactscanner.cpp | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/src/lib/corelib/buildgraph/inputartifactscanner.cpp b/src/lib/corelib/buildgraph/inputartifactscanner.cpp index 560ac0a9f..882b9627c 100644 --- a/src/lib/corelib/buildgraph/inputartifactscanner.cpp +++ b/src/lib/corelib/buildgraph/inputartifactscanner.cpp @@ -115,16 +115,6 @@ static void resolveDepencency(const ScanResultCache::Dependency &dependency, result->filePath = absFilePath; } -static void scanWithScannerPlugin(DependencyScanner *scanner, - FileResourceBase *fileToBeScanned, - ScanResultCache::Result *scanResult) -{ - QStringList dependencies = scanner->collectDependencies(fileToBeScanned); - foreach (const QString &s, dependencies) - scanResult->deps += ScanResultCache::Dependency(s); - scanResult->valid = true; -} - InputArtifactScanner::InputArtifactScanner(Artifact *artifact, InputArtifactScannerContext *ctx, const Logger &logger) : m_artifact(artifact), m_context(ctx), m_newDependencyAdded(false), m_logger(logger) @@ -176,6 +166,10 @@ void InputArtifactScanner::scanForFileDependencies(Artifact *inputArtifact) QList<FileResourceBase *> filesToScan; filesToScan.append(inputArtifact); const QSet<DependencyScanner *> scanners = scannersForArtifact(inputArtifact); + if (scanners.isEmpty()) + return; + m_fileTagsForScanner = inputArtifact->fileTags().toStringList().join(QLatin1Char(',')) + .toLatin1().constData(); while (!filesToScan.isEmpty()) { FileResourceBase *fileToBeScanned = filesToScan.takeFirst(); const QString &filePathToBeScanned = fileToBeScanned->filePath(); @@ -364,6 +358,17 @@ void InputArtifactScanner::handleDependency(ResolvedDependency &dependency) } } +void InputArtifactScanner::scanWithScannerPlugin(DependencyScanner *scanner, + FileResourceBase *fileToBeScanned, + ScanResultCache::Result *scanResult) +{ + const QStringList &dependencies + = scanner->collectDependencies(fileToBeScanned, m_fileTagsForScanner); + for (const QString &s : dependencies) + scanResult->deps += ScanResultCache::Dependency(s); + scanResult->valid = true; +} + InputArtifactScannerContext::DependencyScannerCacheItem::DependencyScannerCacheItem() : valid(false) { } |