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
|
/****************************************************************************
**
** 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$
**
****************************************************************************/
/*!
\nextpage AppleDiskImage
\qmltype AppleApplicationDiskImage
\since Qbs 1.9
\inherits AppleDiskImage
\inqmlmodule QbsConvenienceItems
\ingroup list-of-items
\keyword QML.AppleApplicationDiskImage
\brief Apple application drag 'n' drop disk image installer.
An AppleApplicationDiskImage item is a \l{Product}{product} of the
\l{Product::}{type} \c{"dmg.dmg"} that has a dependency on the
\l{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 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
\l{sourceBase} will be ignored.
Here is what the project file could look like for a simple DMG installer:
\code
AppleApplicationDiskImage {
Depends { name: "myapp" }
name: "My App"
dmg.volumeName: name
dmg.iconSize: 128
dmg.windowWidth: 640
dmg.windowHeight: 280
dmg.iconPositions: [
{"path": "Applications", "x": 128, "y": 128},
{"path": "My App.app", "x": 256, "y": 128}
]
files: ["background.tiff", "volume-icon.icns"]
Group {
files: ["*.lproj/**"] // licenses
fileTags: ["dmg.license.input"]
}
}
\endcode
For plain disk images whose contents are not a single application bundle, consider the base
\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 \l{qbs::installRoot}
{qbs.installRoot}/\l{qbs::installPrefix}
{qbs.installPrefix}.
For example, if the application Example.app exists at
\c{qbs.installRoot/qbs.installPrefix/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
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.
\defaultvalue \c{["/Applications:Applications"]}
*/
|