Qbs Manual | FileTagger Item

Qbs 1.10.0

Export Item ◦ Group Item

# FileTagger Item

This item assigns file tags to files. The FileTagger item can appear in `Product` items or `Module` items.

For every source artifact that has no file tag, Qbs will search for a FileTagger with a pattern that matches the file name of the source artifact. If a matching file tagger is found, then the file tags specified in the FileTagger item are assigned to the source artifact.

If there is more than one matching FileTagger, all file taggers with the same highest priority are taken into account and their file tags are accumulated.

The FileTagger item 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 | Since | Description
--- | --- | --- | --- | ---
patterns | stringList | none | 1.0 | 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 | 1.0 | Tags to attach to a product's files. These can then be matched by a rule.
priority | int | 0 | 1.10 | The priority of the FileTagger. A higher numerical value means higher priority.

Export Item ◦ Group Item