Export Item Group Item

# FileTagger Item

This item maps file patterns to tags. It can be attached to a product or a module. In the latter case, its effect is the same as if it had been attached to all products having a dependency on the respective module. For instance, the cpp module of Qbs has, among others, the following file tagger:

    FileTagger {
        patterns: "*.cpp"
        fileTags: ["cpp"]
    }

As a result, the "cpp" tag is automatically attached to all files ending with ".cpp" in products depending on the cpp module. This causes them to be compiled, because a C++ compiler rule has "cpp" in its list of matching input tags.

File taggers are disabled if file tags are set explicitly in a product or group. For example, the "cpp" tag is not attached to the cpp files in the following product:

    Product {
        Depends { name: "cpp" }
        Group {
            files: "*.cpp"
            fileTags: "other"
        }
    }

## FileTagger Properties

Property | Type | Default | Description
--- | --- | --- | ---
patterns | stringList | none | The patterns to match against. Supports the usual wildcards '*', '?' and '[]'. Neither the list itself nor any of its elements may be empty.
fileTags | list | empty list | Tags to attach to a product's files. These can then be matched by a rule.

Export Item Group Item