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

PropertyTypeDefaultDescription
patternsstringListnoneThe patterns to match against. Supports the usual wildcards '*', '?' and '[]'. Neither the list itself nor any of its elements may be empty.
fileTagslistempty listTags to attach to a product's files. These can then be matched by a rule.