1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
|
/****************************************************************************
**
** Copyright (C) 2017 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qbs.
**
** $QT_BEGIN_LICENSE:FDL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU Free Documentation License Usage
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of
** this file. Please review the following information to ensure
** the GNU Free Documentation License version 1.3 requirements
** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
** $QT_END_LICENSE$
**
****************************************************************************/
/*!
\previouspage Export
\nextpage Group
\qmltype FileTagger
\inqmlmodule QbsLanguageItems
\ingroup list-of-items
\keyword QML.FileTagger
\brief Assigns file tags to files.
This item assigns file tags to files.
The FileTagger item can appear in \l{Product} items or \l{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
\l{cpp} module of \QBS has, among others, the following file tagger:
\code
FileTagger {
patterns: "*.cpp"
fileTags: ["cpp"]
}
\endcode
As a result, the \c "cpp" tag is automatically attached to all files ending
with \c ".cpp" in products depending on the \c cpp module. This causes them
to be compiled, because a C++ compiler rule has \c "cpp" in its list of
matching input tags.
File taggers are disabled if file tags are set explicitly in a \l{Product}
{product} or \l{Group}{group}. For example, the \c "cpp" tag is not attached
to the \c .cpp files in the following product:
\code
Product {
Depends { name: "cpp" }
Group {
files: "*.cpp"
fileTags: "other"
}
}
\endcode
*/
/*!
\qmlproperty stringList FileTagger::patterns
\since Qbs 1.0
A list of patterns to match against. Supports the usual wildcards '*', '?'
and '[]'.
Neither the list itself nor any of its elements may be empty.
*/
/*!
\qmlproperty list FileTagger::fileTags
\since Qbs 1.0
Tags to attach to a product's files. These can then be matched by a rule.
\defaultvalue An empty list
*/
/*!
\qmlproperty int FileTagger::priority
\since Qbs 1.10
The priority of the FileTagger. A higher numerical value means a higher
priority.
\defaultvalue 0
*/
|