diff options
author | Joerg Bornemann <joerg.bornemann@digia.com> | 2013-11-14 11:50:35 +0100 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@digia.com> | 2013-11-14 13:11:08 +0100 |
commit | 8bb54bf216b4a2c32dceadd65ed5c7310156ecfb (patch) | |
tree | a830768032ede7a3a37ce2400f54f24a4bbf0e36 | |
parent | 42c835bd8716a8f0a986eed47088998e0c297b18 (diff) |
fix FileTagger application for other patterns than *.foo
fileTagsForFileName must be called with a file *name*, not the full
file path.
Task-number: QBS-459
Change-Id: I68c2910c78c4a7cc1ac53100e1fec57faaa46272
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
-rw-r--r-- | src/lib/language/projectresolver.cpp | 5 | ||||
-rw-r--r-- | src/lib/language/testdata/Banana | 1 | ||||
-rw-r--r-- | src/lib/language/testdata/filetags.qbs | 9 | ||||
-rw-r--r-- | src/lib/language/tst_language.cpp | 1 |
4 files changed, 14 insertions, 2 deletions
diff --git a/src/lib/language/projectresolver.cpp b/src/lib/language/projectresolver.cpp index 9e89016f9..b5ac63c5d 100644 --- a/src/lib/language/projectresolver.cpp +++ b/src/lib/language/projectresolver.cpp @@ -826,13 +826,14 @@ void ProjectResolver::applyFileTaggers(const SourceArtifactPtr &artifact, const ResolvedProductConstPtr &product) const { if (!artifact->overrideFileTags || artifact->fileTags.isEmpty()) { - const FileTags fileTags = product->fileTagsForFileName(artifact->absoluteFilePath); + const QString fileName = FileInfo::fileName(artifact->absoluteFilePath); + const FileTags fileTags = product->fileTagsForFileName(fileName); artifact->fileTags.unite(fileTags); if (artifact->fileTags.isEmpty()) artifact->fileTags.insert(unknownFileTag()); if (m_logger.traceEnabled()) m_logger.qbsTrace() << "[PR] adding file tags " << artifact->fileTags - << " to " << FileInfo::fileName(artifact->absoluteFilePath); + << " to " << fileName; } } diff --git a/src/lib/language/testdata/Banana b/src/lib/language/testdata/Banana new file mode 100644 index 000000000..53164be8a --- /dev/null +++ b/src/lib/language/testdata/Banana @@ -0,0 +1 @@ +Peanut butter jelly time! diff --git a/src/lib/language/testdata/filetags.qbs b/src/lib/language/testdata/filetags.qbs index 894fe9298..ddddd68c1 100644 --- a/src/lib/language/testdata/filetags.qbs +++ b/src/lib/language/testdata/filetags.qbs @@ -21,6 +21,15 @@ Project { } Product { + name: "filetagger_static_pattern" + files: "Banana" + FileTagger { + patterns: ["Banana"] + fileTags: ["yellow"] + } + } + + Product { name: "unknown_file_tag" files: "narf.zort" } diff --git a/src/lib/language/tst_language.cpp b/src/lib/language/tst_language.cpp index 75089f2a7..2eb5b1ead 100644 --- a/src/lib/language/tst_language.cpp +++ b/src/lib/language/tst_language.cpp @@ -1110,6 +1110,7 @@ void TestLanguage::fileTags_data() QTest::newRow("init") << 0 << QStringList(); QTest::newRow("filetagger_project_scope") << 1 << (QStringList() << "cpp"); QTest::newRow("filetagger_product_scope") << 1 << (QStringList() << "asm"); + QTest::newRow("filetagger_static_pattern") << 1 << (QStringList() << "yellow"); QTest::newRow("unknown_file_tag") << 1 << (QStringList() << "unknown-file-tag"); QTest::newRow("set_file_tag_via_group") << 2 << (QStringList() << "c++"); QTest::newRow("override_file_tag_via_group") << 2 << (QStringList() << "c++"); |