aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIvan Komissarov <ABBAPOH@gmail.com>2018-11-28 19:49:20 +0100
committerIvan Komissarov <ABBAPOH@gmail.com>2019-02-11 18:51:36 +0000
commit4fbf66673c7210df5ea5475245c42868b38fa97b (patch)
tree070723212afa2691d797e824d54a19bef208c88b
parent6cc92f061c86f06436a0546c6c41c123a51f3738 (diff)
Doc: Add information about BinaryProbe
Task-number: QBS-1187 Change-Id: I6a97d9f7f70462996a352f7acef8e69f690a37bf Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
-rw-r--r--doc/reference/items/probe/binary-probe.qdoc85
1 files changed, 85 insertions, 0 deletions
diff --git a/doc/reference/items/probe/binary-probe.qdoc b/doc/reference/items/probe/binary-probe.qdoc
new file mode 100644
index 000000000..930043829
--- /dev/null
+++ b/doc/reference/items/probe/binary-probe.qdoc
@@ -0,0 +1,85 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 Ivan Komissarov
+** 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$
+**
+****************************************************************************/
+
+/*!
+ \contentspage list-of-probes.html
+ \qmltype BinaryProbe
+ \ingroup list-of-probes
+ \ingroup list-of-items
+ \keyword QML.BinaryProbe
+ \inherits PathProbe
+
+ \brief Locates executable files outside the project.
+
+ Finds executable files that have the specified file names.
+
+ BinaryProbe searches for executable files within directories specified by the PATH environment
+ variable.
+
+ \note On Unix, also searches in the \c /usr/bin and \c /usr/local/bin directories by default.
+ Override \l {PathProbe::platformSearchPaths}{PathProbe.platformSearchPaths} to change this
+ behavior.
+
+ \note On Windows, only files that have \e .com, \e .exe, \e .bat, \e .cmd extensions are
+ considered \e executables. Override \l {PathProbe::nameSuffixes}{PathProbe.nameSuffixes} to
+ change this behavior.
+
+ For example, BinaryProbe can be used to search for a protobuf compiler executable as follows:
+
+ \code
+ import qbs.File
+ import qbs.Probes
+
+ Module {
+ // search for a protoc executable
+ Probes.BinaryProbe {
+ id: protocProbe
+ names: "protoc"
+ }
+ property string executableFilePath: protocProbe.filePath
+
+ validate: {
+ if (!File.exists(executableFilePath))
+ throw "The executable '" + executableFilePath + "' does not exist.";
+ }
+
+ // use the found executable
+ Rule {
+ // rule input/outputs here...
+
+ // run executable
+ prepare: {
+ var args = // initialize arguments...
+ var cmd = new Command(executableFilePath, args);
+ cmd.highlight = "codegen";
+ cmd.description = "generating protobuf files for " + input.fileName;
+ return [cmd];
+ }
+ }
+ }
+ \endcode
+*/