aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorLeena Miettinen <riitta-leena.miettinen@qt.io>2017-11-21 14:36:33 +0100
committerLeena Miettinen <riitta-leena.miettinen@qt.io>2017-11-30 10:41:50 +0000
commit6fd43ee022e600731baa6f03388ce086891e608f (patch)
tree4d715fcf58d06fc2e17afcae23d6b25495af9a8b /doc
parent423c8c4986c2aa62a8b49ba9289ea75be4b1bc27 (diff)
Doc: Use QML commands to document Qbs convenience items
Task-number: QBS-1245 Change-Id: I158e4c91b9306e74919901935f7d8eb546623d41 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'doc')
-rw-r--r--doc/appendix/qbs-porting.qdoc20
-rw-r--r--doc/qbs.qdoc2
-rw-r--r--doc/reference/items/convenience/androidapk.qdoc121
-rw-r--r--doc/reference/items/convenience/appleapplicationdiskimage.qdoc87
-rw-r--r--doc/reference/items/convenience/applediskimage.qdoc20
-rw-r--r--doc/reference/items/convenience/application.qdoc23
-rw-r--r--doc/reference/items/convenience/applicationextension.qdoc19
-rw-r--r--doc/reference/items/convenience/autotestrunner.qdoc111
-rw-r--r--doc/reference/items/convenience/cppapplication.qdoc18
-rw-r--r--doc/reference/items/convenience/dynamiclibrary.qdoc46
-rw-r--r--doc/reference/items/convenience/innosetup.qdoc19
-rw-r--r--doc/reference/items/convenience/installpackage.qdoc27
-rw-r--r--doc/reference/items/convenience/javaclasscollection.qdoc22
-rw-r--r--doc/reference/items/convenience/javajarfile.qdoc37
-rw-r--r--doc/reference/items/convenience/loadablemodule.qdoc18
-rw-r--r--doc/reference/items/convenience/qtapplication.qdoc19
-rw-r--r--doc/reference/items/convenience/qtguiapplication.qdoc37
-rw-r--r--doc/reference/items/convenience/staticlibrary.qdoc22
-rw-r--r--doc/reference/items/convenience/xpcservice.qdoc14
-rw-r--r--doc/reference/modules/android-ndk-module.qdoc7
-rw-r--r--doc/reference/modules/android-sdk-module.qdoc8
-rw-r--r--doc/reference/reference.qdoc2
-rw-r--r--doc/targets/qbs-target-android.qdoc6
-rw-r--r--doc/targets/qbs-target-macos.qdoc3
24 files changed, 348 insertions, 360 deletions
diff --git a/doc/appendix/qbs-porting.qdoc b/doc/appendix/qbs-porting.qdoc
index 91596c89c..ee6159606 100644
--- a/doc/appendix/qbs-porting.qdoc
+++ b/doc/appendix/qbs-porting.qdoc
@@ -57,9 +57,8 @@
\section3 console
Set the \l{Product::consoleApplication}{product.consoleApplication} property
- to \c true for the
- \l{Application Item}{Application}, \l{CppApplication Item}{CppApplication},
- or \l{QtApplication Item}{QtApplication} item. For example:
+ to \c true for the \l{Application}, \l{CppApplication},or \l{QtApplication}
+ item. For example:
\code
Application {
@@ -381,9 +380,8 @@
\section2 QML_IMPORT_PATH
- Used only for Qt Creator QML syntax highlighting. Inside a \l{Product}
- {Product}, \l{Application Item}{Application}, \l{CppApplication Item}
- {CppApplication}, or \l{QtApplication Item}{QtApplication}, create a
+ Used only for Qt Creator QML syntax highlighting. Inside a \l{Product},
+ \l{Application}, \l{CppApplication}, or \l{QtApplication}, create a
\c qmlImportPaths property:
\code
@@ -441,8 +439,7 @@
\section3 app
- Use \l{Application Item}{Application} or \l{CppApplication Item}
- {CppApplication} as the \l{Product}{product}:
+ Use \l{Application} or \l{CppApplication} as the \l{Product}{product}:
\code
CppApplication {
@@ -464,10 +461,9 @@
\section3 lib
- Use either \l{DynamicLibrary Item}{DynamicLibrary} or \l{StaticLibrary Item}
- {StaticLibrary} as the \l{Product}{product}, depending on whether the
- value of \c CONFIG in the .pro file is \c shared or \c static. For example,
- if the value is \c shared:
+ Use either \l{DynamicLibrary} or \l{StaticLibrary} as the \l{Product}
+ {product}, depending on whether the value of \c CONFIG in the .pro file is
+ \c shared or \c static. For example, if the value is \c shared:
\code
DynamicLibrary {
diff --git a/doc/qbs.qdoc b/doc/qbs.qdoc
index 1bb4ee3af..0e8e3ef6a 100644
--- a/doc/qbs.qdoc
+++ b/doc/qbs.qdoc
@@ -211,7 +211,7 @@
example above, the dependency on the \l{Module cpp}{cpp module} determines
that the C++ sources are compiled and linked into a binary.
- Alternatively, you could use the \l{CppApplication Item}{CppApplication}
+ Alternatively, you could use the \l{CppApplication}
convenience item that implies a dependency on the \c cpp module:
\code
diff --git a/doc/reference/items/convenience/androidapk.qdoc b/doc/reference/items/convenience/androidapk.qdoc
index f718df554..8a94b1da1 100644
--- a/doc/reference/items/convenience/androidapk.qdoc
+++ b/doc/reference/items/convenience/androidapk.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2017 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qbs.
@@ -26,20 +26,23 @@
****************************************************************************/
/*!
\contentspage list-of-convenience-items.html
- \page androidapk-item.html
- \nextpage applediskimage-item.html
- \ingroup list-of-convenience-items
+ \nextpage AppleApplicationDiskImage
+ \qmltype AndroidApk
+ \inherits Product
+ \inqmlmodule QbsConvenienceItems
\ingroup list-of-items
\keyword QML.AndroidApk
- \title AndroidApk Item
- \brief Represents an Android application package.
+ \brief Android application package.
- An \c AndroidApk item is a \c Product of type \e android.apk. It has a dependency on
+ An AndroidApk item is a \l{Product}{product} of the \l{Product::}{type}
+ \c android.apk that has a \l{Depends}{dependency} on
the \l{Module Android.sdk}{Android.sdk module}. The final build result is an Android
application package (APK) file.
+
Here is what the project file could look like for the BasicMediaDecoder
example that comes with the Android SDK:
+
\code
import qbs
@@ -54,51 +57,63 @@
manifestFile: sourcesPrefix + "/AndroidManifest.xml"
}
\endcode
+*/
+
+/*!
+ \qmlproperty path AndroidApk::assetsDir
+
+ The base directory for Android assets.
+
+ \note Android requires that the file name of this directory is always
+ \c "assets".
+
+ \defaultvalue \c "assets"
+*/
+
+/*!
+ \qmlproperty bool AndroidApk::automaticSources
+
+ If \c true, Java sources as well as Android resources, assets, and the
+ manifest file will be automatically included in the product via wildcards.
+ Set this property to \c false if you want to specify these files manually.
+
+ \defaultvalue \c true
+*/
+
+/*!
+ \qmlproperty path AndroidApk::manifestFile
+
+ The file path to the Android manifest file.
+
+ \note Android requires that the file name is always "AndroidManifest.xml".
+
+ \defaultvalue \c "AndroidManifest.xml"
+*/
+
+/*!
+ \qmlproperty string AndroidApk::packageName
+
+ The package name as given in the manifest file.
+
+ \defaultvalue \c name
+*/
+
+/*!
+ \qmlproperty path AndroidApk::resourcesDir
+
+ The base directory for Android resources.
+
+ \note Android requires that the file name of this directory is always
+ \c "res".
+
+ \defaultvalue \c "res"
+*/
+
+/*!
+ \qmlproperty path AndroidApk::sourcesDir
+
+ The base directory for Java sources. This property is only relevant if
+ \l automaticSources is enabled.
- \section1 AndroidApk Properties
- The following properties are available in addition to the ones inherited from \c Product.
-
- \table
- \header
- \li Property
- \li Type
- \li Default
- \li Description
- \row
- \li assetsDir
- \li path
- \li \c "assets"
- \li The base directory for Android assets.
- \note Android requires that the file name of this directory is always "assets".
- \row
- \li automaticSources
- \li bool
- \li \c true
- \li If this is enabled, Java sources as well as Android resources, assets and the manifest
- file will be automatically included in the product via wildcards. Set this property
- to \c false if you want to specify these files manually.
- \row
- \li manifestFile
- \li path
- \li \c "AndroidManifest.xml"
- \li The file path to the Android manifest file.
- \note Android requires that the file name is always "AndroidManifest.xml".
- \row
- \li packageName
- \li string
- \li \c name
- \li The package name as given in the manifest file.
- \row
- \li resourcesDir
- \li path
- \li \c "res"
- \li The base directory for Android resources.
- \note Android requires that the file name of this directory is always "res".
- \row
- \li sourcesDir
- \li path
- \li \c "src"
- \li The base directory for Java sources. This property is only relevant if
- \c automaticSources is enabled.
- \endtable
+ \defaultvalue \c "src"
*/
diff --git a/doc/reference/items/convenience/appleapplicationdiskimage.qdoc b/doc/reference/items/convenience/appleapplicationdiskimage.qdoc
index 9c6746e48..f5775f344 100644
--- a/doc/reference/items/convenience/appleapplicationdiskimage.qdoc
+++ b/doc/reference/items/convenience/appleapplicationdiskimage.qdoc
@@ -26,25 +26,28 @@
****************************************************************************/
/*!
\contentspage list-of-convenience-items.html
- \page appleapplicationdiskimage-item.html
- \previouspage applediskimage-item.html
- \nextpage application-item.html
- \ingroup list-of-convenience-items
+ \previouspage AndroidApk
+ \nextpage AppleDiskImage
+ \qmltype AppleApplicationDiskImage
+ \since Qbs 1.9
+ \inherits AppleDiskImage
+ \inqmlmodule QbsConvenienceItems
\ingroup list-of-items
\keyword QML.AppleApplicationDiskImage
- \title AppleApplicationDiskImage Item
- \brief Represents a product that is an Apple application drag 'n' drop disk image installer.
+ \brief Apple application drag 'n' drop disk image installer.
- An \c AppleApplicationDiskImage item is a convenience item that has a dependency on the
- \l{Module dmg}{DMG module} and whose type is \c{["dmg.dmg"]}, and also has rules and properties
- specific to building drag 'n' drop disk image installers with an application bundle and symbolic
- link to the /Applications directory.
+ An AppleApplicationDiskImage item is a \l{Product}{product} of the
+ \l{Product::}{type} \c{"dmg.dmg"} that has a dependency on the
+ \l{Module dmg}{dmg module}. In addition, it has rules and properties
+ specific to building drag 'n' drop disk image installers with an application
+ bundle and symbolic link to the \c /Applications directory.
- Any artifacts of product dependencies which are tagged \c{"installable"} will be copied into the
- disk image, provided their file paths are relative to the path specified by the \c{sourceBase}
- property (i.e. are located in that directory). Any artifacts tagged \c{"installable"} and which
- are not relative to \c{sourceBase} will be ignored.
+ Any artifacts of product dependencies that are tagged \c{"installable"} will
+ be copied into the disk image, provided their file paths are relative to the
+ path specified by the \l{sourceBase} property (that is, are located in that
+ directory). Any artifacts tagged \c{"installable"} that are not relative to
+ \c{sourceBase} will be ignored.
Here is what the project file could look like for a simple DMG installer:
\code
@@ -70,38 +73,30 @@
\endcode
For plain disk images whose contents are not a single application bundle, consider the base
- \l{AppleDiskImage Item}{AppleDiskImage} item instead.
+ \l{AppleDiskImage} item instead.
+*/
+
+/*!
+ \qmlproperty string AppleApplicationDiskImage::sourceBase
+
+ The base directory from which artifacts installed into the disk image will be copied.
+ This directory is always considered to be relative to \c{qbs.installRoot}.
+ For example, if the application Example.app exists at
+ \c{qbs.installRoot/Applications/Example.app}, and the value of this property
+ is \c{"/Applications"}, the application will be located at\c{/Example.app}
+ relative to the disk image root. Therefore, its full path when the disk
+ image is mounted would be something like \c{/Volumes/Example-1.0/Example.app}.
+
+ \defaultvalue \c{"/Applications"}
+*/
+
+/*!
+ \qmlproperty stringList AppleApplicationDiskImage::symlinks
- \section1 AppleApplicationDiskImage Properties
- The following properties are available in addition to the ones inherited from \c AppleDiskImage.
+ List of symlinks to create in the disk image. This is specified as a list of strings,
+ each string containing two file paths separated by a colon. The first path is the
+ symlink target, and the second path is the name of the symlink relative to the root of
+ the disk image.
- \table
- \header
- \li Property
- \li Type
- \li Since
- \li Default
- \li Description
- \row
- \li sourceBase
- \li \c{string}
- \li 1.9
- \li /Applications
- \li The base directory from which artifacts installed into the disk image will be copied.
- This directory is always considered to be relative to \c{qbs.installRoot}.
- For example, if the application Example.app exists at
- \c{qbs.installRoot}/Applications/Example.app, and \c{sourceBase} is
- \c{/Applications}, the application will be located at /Example.app
- relative to the disk image root, and therefore its full path when the disk image is
- mounted would be something like /Volumes/Example-1.0/Example.app.
- \row
- \li symlinks
- \li \c{stringList}
- \li 1.9
- \li \c{["/Applications:Applications"]}
- \li List of symlinks to create in the disk image. This is specified as a list of strings,
- each string containing two file paths separated by a colon. The first path is the
- symlink target, and the second path is the name of the symlink relative to the root of
- the disk image.
- \endtable
+ \defaultvalue \c{["/Applications:Applications"]}
*/
diff --git a/doc/reference/items/convenience/applediskimage.qdoc b/doc/reference/items/convenience/applediskimage.qdoc
index 773cb7f44..6c600864d 100644
--- a/doc/reference/items/convenience/applediskimage.qdoc
+++ b/doc/reference/items/convenience/applediskimage.qdoc
@@ -26,19 +26,19 @@
****************************************************************************/
/*!
\contentspage list-of-convenience-items.html
- \page applediskimage-item.html
- \previouspage androidapk-item.html
- \nextpage appleapplicationdiskimage-item.html
- \ingroup list-of-convenience-items
+ \previouspage AppleApplicationDiskImage
+ \nextpage Application
+ \qmltype AppleDiskImage
+ \inherits Product
+ \inqmlmodule QbsConvenienceItems
\ingroup list-of-items
\keyword QML.AppleDiskImage
- \title AppleDiskImage Item
- \brief Represents a product that is an Apple disk image.
+ \brief Apple disk image.
- An \c AppleDiskImage item is a convenience item that has a dependency on the
- \l{Module dmg}{DMG module} and whose type is \c{["dmg.dmg"]}.
+ An AppleDiskImage item is a is a \l{Product}{product} of the \l{Product::}
+ {type} \c{"dmg.dmg"} that has a dependency on the \l{Module dmg}{DMG module}.
- For single-application drag 'n' drop disk image installers, you'll probably want to use the
- \l{AppleApplicationDiskImage Item}{AppleApplicationDiskImage} item instead.
+ For single-application drag 'n' drop disk image installers, you will
+ probably want to use the \l{AppleApplicationDiskImage} item instead.
*/
diff --git a/doc/reference/items/convenience/application.qdoc b/doc/reference/items/convenience/application.qdoc
index 5d8760350..de2bbae48 100644
--- a/doc/reference/items/convenience/application.qdoc
+++ b/doc/reference/items/convenience/application.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2017 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qbs.
@@ -26,19 +26,22 @@
****************************************************************************/
/*!
\contentspage list-of-convenience-items.html
- \page application-item.html
- \previouspage appleapplicationdiskimage-item.html
- \nextpage applicationextension-item.html
- \ingroup list-of-convenience-items
+ \previouspage AppleApplicationDiskImage
+ \nextpage ApplicationExtension
+ \qmltype Application
+ \inherits Product
+ \inqmlmodule QbsConvenienceItems
\ingroup list-of-items
\keyword QML.Application
- \title Application Item
- \brief Represents a product of application type.
+ \brief Product of the type application.
+
+ An Application item is a \l{Product} of the \l{Product::}{type}
+ \c "application".
- An \c Application item is a \c Product that has its type set to "application"
It exists for the convenience of project file authors.
- \note On Android, an \c Application item instead builds a shared library for
- products whose \c consoleApplication property is set to \c false.
+ \note On Android, an Application item instead builds a shared library for
+ products whose \l{Product::}{consoleApplication} property is set to
+ \c false.
*/
diff --git a/doc/reference/items/convenience/applicationextension.qdoc b/doc/reference/items/convenience/applicationextension.qdoc
index 432dafd08..bc65c5449 100644
--- a/doc/reference/items/convenience/applicationextension.qdoc
+++ b/doc/reference/items/convenience/applicationextension.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2017 The Qt Company Ltd.
** Copyright (C) 2015 Jake Petroules.
** Contact: https://www.qt.io/licensing/
**
@@ -27,16 +27,17 @@
****************************************************************************/
/*!
\contentspage list-of-convenience-items.html
- \page applicationextension-item.html
- \previouspage application-item.html
- \nextpage autotestrunner-item.html
- \ingroup list-of-convenience-items
+ \previouspage Application
+ \nextpage AutotestRunner
+ \qmltype ApplicationExtension
+ \inherits XPCService
+ \inqmlmodule QbsConvenienceItems
\ingroup list-of-items
\keyword QML.ApplicationExtension
- \title ApplicationExtension Item
- \brief Represents a product that is an iOS, macOS, tvOS, or watchOS Application Extension.
+ \brief Application Extension for iOS, macOS, tvOS, or watchOS.
- An \c ApplicationExtension item is a convenience item based on \c XPCService that
- sets some properties required for iOS, macOS, tvOS, or watchOS Application Extensions.
+ An ApplicationExtension item is a \l{Product} based on the \l{XPCService}
+ item that sets some properties required for iOS, macOS, tvOS, or watchOS
+ Application Extensions.
*/
diff --git a/doc/reference/items/convenience/autotestrunner.qdoc b/doc/reference/items/convenience/autotestrunner.qdoc
index 99b0d0a09..b37e8933d 100644
--- a/doc/reference/items/convenience/autotestrunner.qdoc
+++ b/doc/reference/items/convenience/autotestrunner.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2017 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qbs.
@@ -26,24 +26,26 @@
****************************************************************************/
/*!
\contentspage list-of-convenience-items.html
- \page autotestrunner-item.html
- \previouspage applicationextension-item.html
- \nextpage cppapplication-item.html
- \ingroup list-of-convenience-items
+ \previouspage ApplicationExtension
+ \nextpage CppApplication
+ \qmltype AutotestRunner
+ \inqmlmodule QbsConvenienceItems
\ingroup list-of-items
\keyword QML.AutotestRunner
- \title AutotestRunner Item
- \brief A product that runs all autotests in the project.
-
- An \c AutotestRunner has a dependency to all products with the type "autotest". "Building"
- the \c AutotestRunner product will then run the respective executables. The \c builtByDefault
- property of an \c AutotestRunner is set to \c false by default, so running the autotests
- has to be explicitly requested. The default name of the product is "autotest-runner".
- To use this feature, do the following:
- \list A
- \li
- Attach the "autotest" type to your autotests:
+ \brief Product that runs all autotests in the project.
+
+ An AutotestRunner has a dependency on all \l{Product}{products} with the
+ \l{Product::}{type} \c "autotest". Building the AutotestRunner product
+ will then run the respective executables. The \l{Product::}{builtByDefault}
+ property is set to \c false by default, so running the autotests
+ has to be explicitly requested. The default name of the product is
+ \c "autotest-runner".
+
+ To use this feature:
+
+ \list 1
+ \li Attach the \c "autotest" type to your autotests:
\code
CppApplication {
name: "tst_mytest"
@@ -51,8 +53,8 @@
// ...
}
\endcode
- \li
- Instantiate exactly one \c AutotestRunner in your project, typically at the top level:
+ \li Instantiate exactly one AutotestRunner in your project, typically at
+ the top level:
\code
Project {
// ...
@@ -60,47 +62,46 @@
// ...
}
\endcode
- \li
- Trigger the autotest execution by "building" the product:
+ \li Trigger the autotest execution by building the product:
\code
qbs build -p autotest-runner
\endcode
\endlist
+*/
+
+/*!
+ \qmlproperty stringList AutotestRunner::arguments
+
+ The list of arguments to invoke the autotest with.
+
+ \defaultvalue \c []
+*/
+
+/*!
+ \qmlproperty stringList AutotestRunner::environment
+
+ A list of environment variables that are added to the run environment.
+ They are provided as a list of strings in the form \c "varName=value".
+
+ \defaultvalue DYLD_LIBRARY_PATH, DYLD_FRAMEWORK_PATH, and DYLD_ROOT_PATH
+ are set on macOS, or an empty list for other platforms.
+*/
+
+/*!
+ \qmlproperty bool AutotestRunner::limitToSubProject
+
+ By default, only those autotests are considered that are in the same sub-project that
+ AutotestRunner was instantiated in. If you want to run all autotests regardless
+ of their location in the project hierarchy, set this property to \c false.
+
+ \defaultvalue \c true
+*/
+
+/*!
+ \qmlproperty stringList AutotestRunner::wrapper
- \section1 AutotestRunner Properties
-
- \table
- \header
- \li Property
- \li Type
- \li Default
- \li Description
- \row
- \li arguments
- \li stringList
- \li empty
- \li The list of arguments to invoke the autotest with.
- \row
- \li environment
- \li stringList
- \li set internally
- \li A list of environment variables that are added to the run environment.
- They are provided as a list of strings in the form "varName=value".
- By default, DYLD_LIBRARY_PATH, DYLD_FRAMEWORK_PATH, and DYLD_ROOT_PATH
- are set on macOS, or an empty list for other platforms.
- \row
- \li limitToSubProject
- \li bool
- \li \c true
- \li By default, only those autotests are considered that are in the same sub-project that
- the \c AutotestRunner was instantiated in. If you want to run all autotests regardless
- of their location in the project hierarchy, set this property to \c false.
- \row
- \li wrapper
- \li stringList
- \li empty
- \li Wrapper binary and its arguments for wrapping autotest calls.
- This is useful for tools like Valgrind and alike.
- \endtable
+ Wrapper binary and its arguments for wrapping autotest calls.
+ This is useful for tools like Valgrind and alike.
+ \defaultvalue empty
*/
diff --git a/doc/reference/items/convenience/cppapplication.qdoc b/doc/reference/items/convenience/cppapplication.qdoc
index e7e89ac13..2dc3f512c 100644
--- a/doc/reference/items/convenience/cppapplication.qdoc
+++ b/doc/reference/items/convenience/cppapplication.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2017 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qbs.
@@ -26,17 +26,19 @@
****************************************************************************/
/*!
\contentspage list-of-convenience-items.html
- \page cppapplication-item.html
- \previouspage autotestrunner-item.html
- \nextpage dynamiclibrary-item.html
- \ingroup list-of-convenience-items
+ \previouspage AutotestRunner
+ \nextpage DynamicLibrary
+ \qmltype CppApplication
+ \inherits Product
+ \inqmlmodule QbsConvenienceItems
\ingroup list-of-items
\keyword QML.CppApplication
- \title CppApplication Item
- \brief Represents a product of application type with a dependency to the cpp module.
+ \brief C++ application.
+
+ A CppApplication is a \l{Product}{product} that has a dependency on the
+ \l{Module cpp}{cpp} module. It is entirely equivalent to the following:
- A \c CppApplication is a convenience item that is entirely equivalent to the following:
\code
Application {
Depends { name: "cpp" } }
diff --git a/doc/reference/items/convenience/dynamiclibrary.qdoc b/doc/reference/items/convenience/dynamiclibrary.qdoc
index 3c601bcec..efa82ec54 100644
--- a/doc/reference/items/convenience/dynamiclibrary.qdoc
+++ b/doc/reference/items/convenience/dynamiclibrary.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2017 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qbs.
@@ -26,46 +26,26 @@
****************************************************************************/
/*!
\contentspage list-of-convenience-items.html
- \page dynamiclibrary-item.html
- \previouspage cppapplication-item.html
- \nextpage innosetup-item.html
- \ingroup list-of-convenience-items
+ \previouspage CppApplication
+ \nextpage InnoSetup
+ \qmltype DynamicLibrary
+ \inherits Product
+ \inqmlmodule QbsConvenienceItems
\ingroup list-of-items
\keyword QML.DynamicLibrary
- \title DynamicLibrary Item
- \brief Represents a product that is a dynamic library.
- A \c DynamicLibrary item is a \c Product that has its type set to "dynamiclibrary". It exists
- for the convenience of project file authors.
+ \brief Dynamic library.
+
+ A DynamicLibrary item is a \l{Product} of the \l{Product::}{type}
+ \c "dynamiclibrary". It exists for the convenience of project file authors.
For Android targets, the following applies:
\list
- \li The product type contains "android.nativelibrary" in addition to "dynamiclibrary".
+ \li The \l{Product::type}{product.type} property value contains
+ \c "android.nativelibrary" in addition to \c "dynamiclibrary".
\li There is a dependency on the \l{Module cpp}{cpp} and \l{Module Android.ndk}{Android.ndk}
modules.
\endlist
-
- \section1 DynamicLibrary Properties
- The following properties are available in addition to the ones inherited from \c Product.
-
- \table
- \header
- \li Property
- \li Type
- \li Default
- \li Description
- \row
- \li architectures
- \li stringList
- \li see below
- \li This property is only relevant for Android targets. There, it specifies for which
- architectures to build, with the default value \c{["armeabi"]}.
- This information influences the \c profiles property.
- \row
- \li bundleExtension
- \li string
- \li empty
- \li The extension to use for the product's bundle. Only relevant on Darwin systems.
- \endtable
*/
+
diff --git a/doc/reference/items/convenience/innosetup.qdoc b/doc/reference/items/convenience/innosetup.qdoc
index db8c483f4..1722a9db6 100644
--- a/doc/reference/items/convenience/innosetup.qdoc
+++ b/doc/reference/items/convenience/innosetup.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2017 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qbs.
@@ -26,16 +26,17 @@
****************************************************************************/
/*!
\contentspage list-of-convenience-items.html
- \page innosetup-item.html
- \previouspage dynamiclibrary-item.html
- \nextpage installpackage-item.html
- \ingroup list-of-convenience-items
+ \previouspage DynamicLibrary
+ \nextpage InstallPackage
+ \qmltype InnoSetup
+ \inherits Product
+ \inqmlmodule QbsConvenienceItems
\ingroup list-of-items
\keyword QML.InnoSetup
- \title InnoSetup Item
- \brief Represents a product that is an Inno Setup installer executable.
+ \brief Inno Setup installer executable.
- A \c InnoSetup item is a convenience item that has a dependency on the
- \l{Module innosetup}{Inno Setup module} and whose type is \c{["innosetup.exe"]}.
+ A InnoSetup item is a \l{Product}{product} of the \l{Product::}{type}
+ \c{"innosetup.exe"} that has a dependency on the \l{Module innosetup}
+ {Inno Setup module}.
*/
diff --git a/doc/reference/items/convenience/installpackage.qdoc b/doc/reference/items/convenience/installpackage.qdoc
index db6e21f26..281c7938e 100644
--- a/doc/reference/items/convenience/installpackage.qdoc
+++ b/doc/reference/items/convenience/installpackage.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2017 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qbs.
@@ -26,18 +26,21 @@
****************************************************************************/
/*!
\contentspage list-of-convenience-items.html
- \page installpackage-item.html
- \previouspage innosetup-item.html
- \nextpage javaclasscollection-item.html
- \ingroup list-of-convenience-items
+ \previouspage InnoSetup
+ \nextpage JavaClassCollection
+ \qmltype InstallPackage
+ \inherits Product
+ \inqmlmodule QbsConvenienceItems
\ingroup list-of-items
\keyword QML.InstallPackage
- \title InstallPackage Item
- \brief Represents an archive of an installed project.
+ \brief Archive of an installed project.
+
+ An InstallPackage item is a \l{Product}{product} of the \l{Product::}{type}
+ \c{archiver.archive} that has a \l{Depends}{dependency} on the
+ \l{Module archiver}{archiver Module}. It is used to produce an archive from
+ a set of installable files.
- An \c InstallPackage item is a product of type \c{archiver.archive}. It is used to produce an
- archive from a set of installable files via the \l{Module archiver}{archiver Module}.
Consider the following example project:
\code
@@ -77,12 +80,12 @@
}
\endcode
- Building the product "tar-package" on a Unix system will result in a tar file with these
- contents:
+ Building the product \c "tar-package" on a Unix system will result in a tar
+ file with these contents:
+
\code
include/mylib.h
lib/libmylib.so
bin/myapp
\endcode
-
*/
diff --git a/doc/reference/items/convenience/javaclasscollection.qdoc b/doc/reference/items/convenience/javaclasscollection.qdoc
index 38ef1d46a..0cb40cb46 100644
--- a/doc/reference/items/convenience/javaclasscollection.qdoc
+++ b/doc/reference/items/convenience/javaclasscollection.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2017 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qbs.
@@ -26,18 +26,18 @@
****************************************************************************/
/*!
\contentspage list-of-convenience-items.html
- \page javaclasscollection-item.html
- \previouspage installpackage-item.html
- \nextpage javajarfile-item.html
- \ingroup list-of-convenience-items
+ \previouspage InstallPackage
+ \nextpage JavaJarFile
+ \qmltype JavaClassCollection
+ \inherits Product
+ \inqmlmodule QbsConvenienceItems
\ingroup list-of-items
\keyword QML.JavaClassCollection
- \title JavaClassCollection Item
- \brief Represents a collection of Java class files not bundled in a jar file.
-
- A \c JavaClassCollection item is a convenience item that has a dependency on the
- \l{Module java}{Java module} and whose type is \c{["java.class"]}. If the files
- should end up in a jar file, you should use a \l{JavaJarFile Item}{JavaJarFile} instead.
+ \brief Collection of Java class files not bundled in a jar file.
+ A JavaClassCollection item is a \l{Product}{product} of the \l{Product::}
+ {type} \c{"java.class"} that has a dependency on the \l{Module java}{Java module}.
+ If the files should end up in a jar file, you should use \l{JavaJarFile}
+ instead.
*/
diff --git a/doc/reference/items/convenience/javajarfile.qdoc b/doc/reference/items/convenience/javajarfile.qdoc
index 6b6009b8c..48643d80e 100644
--- a/doc/reference/items/convenience/javajarfile.qdoc
+++ b/doc/reference/items/convenience/javajarfile.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2017 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qbs.
@@ -26,30 +26,25 @@
****************************************************************************/
/*!
\contentspage list-of-convenience-items.html
- \page javajarfile-item.html
- \previouspage javaclasscollection-item.html
- \nextpage loadablemodule-item.html
- \ingroup list-of-convenience-items
+ \previouspage JavaClassCollection
+ \nextpage LoadableModule
+ \qmltype JavaJarFile
+ \inherits Product
+ \inqmlmodule QbsConvenienceItems
\ingroup list-of-items
\keyword QML.JavaJarFile
- \title JavaJarFile Item
- \brief Represents a collection of Java class files bundled in a jar file.
+ \brief Collection of Java class files bundled in a jar file.
- A \c JavaJarCollection item is product of type \c{java.jar}. It is used to produce a jar
- archive from a set of Java sources.
+ A JavaJarFile item is a \l{Product}{product} of the \l{Product::}{type}
+ \c{java.jar}. It is used to produce a jar archive from a set of Java
+ sources.
+*/
+
+/*!
+ \qmlproperty string JavaJarFile::entryPoint
- \table
- \header
- \li Property
- \li Type
- \li Default
- \li Description
- \row
- \li entryPoint
- \li string
- \li undefined
- \li The entry point for an executable jar file.
- \endtable
+ The entry point for an executable jar file.
+ \nodefaultvalue
*/
diff --git a/doc/reference/items/convenience/loadablemodule.qdoc b/doc/reference/items/convenience/loadablemodule.qdoc
index 010384cb7..d02dbae1c 100644
--- a/doc/reference/items/convenience/loadablemodule.qdoc
+++ b/doc/reference/items/convenience/loadablemodule.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2017 The Qt Company Ltd.
** Copyright (C) 2015 Jake Petroules.
** Contact: https://www.qt.io/licensing/
**
@@ -27,16 +27,16 @@
****************************************************************************/
/*!
\contentspage list-of-convenience-items.html
- \page loadablemodule-item.html
- \previouspage javajarfile-item.html
- \nextpage qtapplication-item.html
- \ingroup list-of-convenience-items
+ \previouspage JavaJarFile
+ \nextpage QtApplication
+ \qmltype LoadableModule
+ \inherits Product
+ \inqmlmodule QbsConvenienceItems
\ingroup list-of-items
\keyword QML.LoadableModule
- \title LoadableModule Item
- \brief Represents a product that is a loadable module.
+ \brief Loadable module.
- A \c LoadableModule item is a \c Product that has its type set to "loadablemodule". It exists
- for the convenience of project file authors.
+ A LoadableModule item is a \l{Product}{product} of the \l{Product::}{type}
+ \c{"loadablemodule"}. It exists for the convenience of project file authors.
*/
diff --git a/doc/reference/items/convenience/qtapplication.qdoc b/doc/reference/items/convenience/qtapplication.qdoc
index 0a3b61528..5c094e196 100644
--- a/doc/reference/items/convenience/qtapplication.qdoc
+++ b/doc/reference/items/convenience/qtapplication.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2017 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qbs.
@@ -26,17 +26,20 @@
****************************************************************************/
/*!
\contentspage list-of-convenience-items.html
- \page qtapplication-item.html
- \previouspage loadablemodule-item.html
- \nextpage qtguiapplication-item.html
- \ingroup list-of-convenience-items
+ \previouspage LoadableModule
+ \nextpage QtGuiApplication
+ \qmltype QtApplication
+ \inherits CppApplication
+ \inqmlmodule QbsConvenienceItems
\ingroup list-of-items
\keyword QML.QtApplication
- \title QtApplication Item
- \brief Represents a product of application type with a dependency to the Qt Core module.
+ \brief Application with a dependency on the Qt Core module.
+
+ A QtApplication is a \l{CppApplication}{C++ application} that has a
+ \l{Depends}{dependency} on the \l{Qt Modules}{Qt.core} module. It is entirely
+ equivalent to the following:
- A \c QtApplication is a convenience item that is entirely equivalent to the following:
\code
CppApplication {
Depends { name: "Qt.core" } }
diff --git a/doc/reference/items/convenience/qtguiapplication.qdoc b/doc/reference/items/convenience/qtguiapplication.qdoc
index 9b286bf9a..8c7426973 100644
--- a/doc/reference/items/convenience/qtguiapplication.qdoc
+++ b/doc/reference/items/convenience/qtguiapplication.qdoc
@@ -26,33 +26,26 @@
****************************************************************************/
/*!
\contentspage list-of-convenience-items.html
- \page qtguiapplication-item.html
- \previouspage qtapplication-item.html
- \nextpage staticlibrary-item.html
- \ingroup list-of-convenience-items
+ \previouspage QtApplication
+ \nextpage StaticLibrary
+ \qmltype QtGuiApplication
+ \inherits QtApplication
+ \inqmlmodule QbsConvenienceItems
\ingroup list-of-items
\keyword QML.QtGuiApplication
- \title QtGuiApplication Item
- \brief Represents a product of application type with a dependency to the Qt GUI module.
+ \brief Application with a dependency on the Qt GUI module.
- A \c QtGuiApplication is a convenience item that extends the \c QtApplication item by loading
- the \c Qt.gui module and possibly also the default QPA plugin.
+ A QtGuiApplication is an application that extends the \l{QtApplication} item
+ by loading the \l{Qt Modules}{Qt.gui} module and possibly also the default
+ QPA plugin.
+*/
- \section1 QtGuiApplication Properties
+/*!
+ \qmlproperty bool QtGuiApplication::linkDefaultQpaPlugin
- \table
- \header
- \li Property
- \li Type
- \li Default
- \li Description
- \row
- \li linkDefaultQpaPlugin
- \li bool
- \li Qt.core.staticBuild == true
- \li Whether or not to add a depencency to the default QPA plugin. The default is to
- do that in the case of a static build, where it is normally required.
- \endtable
+ Whether or not to add a depencency to the default QPA plugin. The default is
+ to do that in the case of a static build, where it is normally required.
+ \defaultvalue \c Qt.core.staticBuild
*/
diff --git a/doc/reference/items/convenience/staticlibrary.qdoc b/doc/reference/items/convenience/staticlibrary.qdoc
index 7f8a8c311..5d74e294c 100644
--- a/doc/reference/items/convenience/staticlibrary.qdoc
+++ b/doc/reference/items/convenience/staticlibrary.qdoc
@@ -26,18 +26,19 @@
****************************************************************************/
/*!
\contentspage list-of-convenience-items.html
- \page staticlibrary-item.html
- \previouspage qtguiapplication-item.html
- \nextpage xpcservice-item.html
- \ingroup list-of-convenience-items
+ \previouspage QtGuiApplication
+ \nextpage XPCService
+ \qmltype StaticLibrary
+ \inherits Product
+ \inqmlmodule QbsConvenienceItems
\ingroup list-of-items
\keyword QML.StaticLibrary
- \title StaticLibrary Item
- \brief Represents a product that is a static library.
+ \brief Static library.
+
+ A StaticLibrary item is a \l{Product}{product} of the \l{Product::}{type}
+ \c "staticlibrary" that is normally entirely equivalent to the following:
- A \c StaticLibrary item is a convenience item that is normally entirely equivalent to
- the following:
\code
Product {
type: "staticlibrary"
@@ -48,8 +49,9 @@
\list
\li There is a dependency on the \l{Module cpp}{cpp} and \l{Module Android.ndk}{Android.ndk}
modules.
- \li There is an additional list property "architectures" that specifies for which
- architectures to build, with the default value \c{["armeabi"]}.
+ \li There is an additional list property \c{"architectures"} that
+ specifies for which architectures to build, with the default value
+ \c{["armeabi"]}.
This information influences the \c profiles property.
\endlist
diff --git a/doc/reference/items/convenience/xpcservice.qdoc b/doc/reference/items/convenience/xpcservice.qdoc
index 929753029..f786cf9ae 100644
--- a/doc/reference/items/convenience/xpcservice.qdoc
+++ b/doc/reference/items/convenience/xpcservice.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2017 The Qt Company Ltd.
** Copyright (C) 2015 Jake Petroules.
** Contact: https://www.qt.io/licensing/
**
@@ -27,15 +27,15 @@
****************************************************************************/
/*!
\contentspage list-of-convenience-items.html
- \page xpcservice-item.html
- \previouspage staticlibrary-item.html
- \ingroup list-of-convenience-items
+ \previouspage StaticLibrary
+ \qmltype XPCService
+ \inherits Application
+ \inqmlmodule QbsConvenienceItems
\ingroup list-of-items
\keyword QML.XPCService
- \title XPCService Item
- \brief Represents a product that is a macOS, iOS, tvOS, or watchOS XPC service.
+ \brief XPC service for macOS, iOS, tvOS, or watchOS.
- An \c XPCService item is a convenience item based on \c Application that
+ An XPCService item is a convenience item based on \l Application that
sets some properties required for macOS, iOS, tvOS, or watchOS XPC services.
*/
diff --git a/doc/reference/modules/android-ndk-module.qdoc b/doc/reference/modules/android-ndk-module.qdoc
index c620f9dc7..9ff6c3b34 100644
--- a/doc/reference/modules/android-ndk-module.qdoc
+++ b/doc/reference/modules/android-ndk-module.qdoc
@@ -35,11 +35,10 @@
\brief Provides support for building native Android libraries.
The \c Android.ndk module contains the properties and rules to create native libraries
- for use in \l{AndroidApk Item}{Android application packages}.
+ for use in \l{AndroidApk}{Android application packages}.
Normally, you will not use this module directly, but instead work
- with the \l{DynamicLibrary Item}{DynamicLibrary} and \l{StaticLibrary Item}{StaticLibrary}
- items that \QBS provides.
+ with the \l{DynamicLibrary} and \l{StaticLibrary} items that \QBS provides.
Here is what the project file for the "hello-jni" example that comes with the NDK could look
like:
\code
@@ -110,7 +109,7 @@
\li 1.4.0
\li This tag is attached to dynamic libraries that will end up in APK packages.
You do not normally need to use the tag explicitly, as it is the default type of the
- \l {DynamicLibrary Item}{DynamicLibrary} item for Android targets.
+ \l{DynamicLibrary} item for Android targets.
\endtable
*/
diff --git a/doc/reference/modules/android-sdk-module.qdoc b/doc/reference/modules/android-sdk-module.qdoc
index fb04c140b..9306d83a8 100644
--- a/doc/reference/modules/android-sdk-module.qdoc
+++ b/doc/reference/modules/android-sdk-module.qdoc
@@ -38,7 +38,7 @@
packages from Java sources, resources and so on.
Normally, you will not use this module directly, but instead work
- with the \l{AndroidApk Item}{AndroidApk item} that \QBS provides.
+ with the \l{AndroidApk} item that \QBS provides.
\section1 Android.sdk Properties
@@ -115,14 +115,14 @@
\li -
\li 1.4.0
\li This tag is used for Android assets, which are typically located in an \c{assets/}
- subdirectory. Using the \l {AndroidApk Item}{AndroidApk} item takes care of tagging
+ subdirectory. Using the \l{AndroidApk} item takes care of tagging
these files for you.
\row
\li \c{"android.apk"}
\li n/a
\li 1.4.0
\li This tag is attached to the output artifact of the rule that creates an APK package.
- It is the default type of the \l {AndroidApk Item}{AndroidApk} item.
+ It is the default type of the \l{AndroidApk} item.
\row
\li \c{"android.manifest"}
\li \c{AndroidManifest.xml}
@@ -134,7 +134,7 @@
\li -
\li 1.4.0
\li This tag is used for Android resources, which are typically located in a \c{res/}
- subdirectory. Using the \l {AndroidApk Item}{AndroidApk} item takes care of tagging
+ subdirectory. Using the \l{AndroidApk} item takes care of tagging
these files for you.
\endtable
*/
diff --git a/doc/reference/reference.qdoc b/doc/reference/reference.qdoc
index c94ba1a93..40c8a893e 100644
--- a/doc/reference/reference.qdoc
+++ b/doc/reference/reference.qdoc
@@ -92,7 +92,7 @@
/*!
\contentspage reference.html
- \group list-of-convenience-items
+ \qmlmodule QbsConvenienceItems
\title List of Convenience Items
\QBS provides the following QML items for convenience.
diff --git a/doc/targets/qbs-target-android.qdoc b/doc/targets/qbs-target-android.qdoc
index 108bb7fd9..04141ea1e 100644
--- a/doc/targets/qbs-target-android.qdoc
+++ b/doc/targets/qbs-target-android.qdoc
@@ -55,7 +55,7 @@
\li Shared libraries containing native code.
\endlist
- You can use the \l{AndroidApk Item}{AndroidApk} item to build application
+ You can use the \l{AndroidApk} item to build application
packages for Android. The properties of the AndroidApk item specify the
locations of the APK source files.
@@ -63,12 +63,12 @@
{Android.sdk} module, which contains the properties and rules to create
Android application packages from source files.
- You can use the \l{DynamicLibrary Item}{DynamicLibrary} item to build native
+ You can use the \l{DynamicLibrary} item to build native
Android libraries that are bundled into the APK. The \c qbs.architectures
property specifies the architectures to build for, with the default value
\c armv7a.
- The \l{DynamicLibrary Item}{DynamicLibrary} item has a dependency on the
+ The \l{DynamicLibrary} item has a dependency on the
\l{Module Android.ndk}{Android.ndk} module, and contains the properties
and rules to create native libraries.
*/
diff --git a/doc/targets/qbs-target-macos.qdoc b/doc/targets/qbs-target-macos.qdoc
index c9b16d133..d9605bdac 100644
--- a/doc/targets/qbs-target-macos.qdoc
+++ b/doc/targets/qbs-target-macos.qdoc
@@ -41,8 +41,7 @@
\section1 Building macOS Disk Images
- The \l{AppleDiskImage Item}{AppleDiskImage} and
- \l{AppleApplicationDiskImage Item}{AppleApplicationDiskImage} items have a
+ The \l{AppleDiskImage} and \l{AppleApplicationDiskImage} items have a
dependency on the \l{Module dmg}{dmg} module. The former represents a
product that is a basic Apple disk image, while the latter extends the
former to create a drag 'n' drop disk image installer used for installing