mirror of
https://github.com/QuasarApp/CQtDeployer.git
synced 2025-04-28 02:34:34 +00:00
223 lines
7.1 KiB
Markdown
223 lines
7.1 KiB
Markdown
## Файл развертывания
|
||
**Файл развертывания** - это json файл, содержащий в себе параметры для cqtdeployer. Данный файл поддерживает все параметры кроме confFile, так как данный параметр отвечает за подключение и инициализацию самого файла.
|
||
|
||
### Структура файла конфигурации
|
||
```json
|
||
{
|
||
"Флаг": true/false,
|
||
"Параметр": "Значение",
|
||
"Параметер с поддержкой перечислений": [
|
||
"Значение 1",
|
||
"Значение 2",
|
||
"Значение 3",
|
||
],
|
||
"Параметр с поддержкой многоуровневых перечислений": [
|
||
[
|
||
"Значение A1",
|
||
"Значение A2"
|
||
],
|
||
[
|
||
"Значение B1",
|
||
"Значение B2"
|
||
],
|
||
[
|
||
"Значение C1",
|
||
"Значение C2"
|
||
],
|
||
]
|
||
|
||
}
|
||
```
|
||
|
||
Подробно о параметрах cqtdeployer читайте в разделе [Параметры](Параметры).
|
||
|
||
Примеры содержимого данного файла:
|
||
|
||
Файл без использования параметров с перечислениями
|
||
```json
|
||
{
|
||
"noOverwrite": false,
|
||
"bin": "./",
|
||
"binDir": "./",
|
||
"qmlDir": "./",
|
||
"deploySystem": false,
|
||
"deploySystem-with-libc": false,
|
||
"qmake": "my/custom/path/to/qmake",
|
||
"ignore": "ignoreLib.dll",
|
||
"ignoreEnv": "/my/ignore/path",
|
||
"clear": true,
|
||
"force-clear": false,
|
||
"allQmlDependes": false,
|
||
"libDir": "./",
|
||
"recursiveDepth": 3,
|
||
"extraLibs": "myExtraLib (libssl)",
|
||
"extraPlugin": "myExtraPulgin (platforms)",
|
||
"targetDir": "./Distro",
|
||
"targetPackage": "",
|
||
"noStrip": false,
|
||
"extractPlugins": false,
|
||
"noTranslations": false,
|
||
"qmlOut": "qml",
|
||
"libOut": "lib",
|
||
"trOut": "tr",
|
||
"pluginOut": "plug",
|
||
"binOut": "bin",
|
||
"recOut": "rec",
|
||
"verbose": 3,
|
||
"qif": false,
|
||
"noCheckRPATH": false,
|
||
"noCheckPATH": false,
|
||
"name": "mainApplication",
|
||
"description": "this is description for default package",
|
||
"deployVersion": "1.0.0",
|
||
"releaseDate": "yyyy-MM-dd",
|
||
"icon": "/path/main/icon.png",
|
||
"publisher": "main team",
|
||
"customScript": "echo 'I am use custom script!!!'"
|
||
}
|
||
|
||
```
|
||
|
||
Файл с использованием параметров с перечислениями
|
||
``` json
|
||
{
|
||
"noOverwrite": false,
|
||
"bin": "./",
|
||
"binDir": "./",
|
||
"qmlDir": [
|
||
[
|
||
"package2",
|
||
"./TestQMLWidgets/"
|
||
],
|
||
[
|
||
"./qml/for/All"
|
||
]
|
||
],
|
||
|
||
"deploySystem": false,
|
||
"deploySystem-with-libc": false,
|
||
"qmake": "this parameter should contain the path to your qmake, for Windows this field is required. On Linux, you can remove it, then qmake will be found by rpath.",
|
||
"ignore": "ignoreLib.dll",
|
||
"ignoreEnv": "/my/ignore/path",
|
||
"clear": true,
|
||
"force-clear": false,
|
||
"allQmlDependes": false,
|
||
"libDir": "./",
|
||
"recursiveDepth": 3,
|
||
"extraLibs": "myExtraLib (libssl)",
|
||
"extraPlugin": "myExtraPulgin (platforms)",
|
||
"targetDir": "./Distro",
|
||
"targetPackage": [
|
||
[
|
||
"/package1/",
|
||
"TestOnlyC"
|
||
],
|
||
[
|
||
"/package2/",
|
||
"TestQMLWidgets"
|
||
]
|
||
],
|
||
"noStrip": false,
|
||
"extractPlugins": false,
|
||
"noTranslations": false,
|
||
"qmlOut": "qml",
|
||
"libOut": "lib",
|
||
"trOut": "tr",
|
||
"pluginOut": "plug",
|
||
"binOut": "bin",
|
||
"recOut": "rec",
|
||
"verbose": 3,
|
||
"qif": false,
|
||
"noCheckRPATH": false,
|
||
"noCheckPATH": false,
|
||
"name": [
|
||
[
|
||
"package2",
|
||
"package2Application"
|
||
],
|
||
[
|
||
"mainApplication"
|
||
]
|
||
],
|
||
"description": [
|
||
[
|
||
"package2",
|
||
"this is description for package 'package2'"
|
||
],
|
||
[
|
||
"this is description for default package"
|
||
]
|
||
],
|
||
"deployVersion": [
|
||
[
|
||
"package2",
|
||
"1.0.0"
|
||
],
|
||
[
|
||
"1.0.0"
|
||
]
|
||
],
|
||
"releaseDate": [
|
||
[
|
||
"package2",
|
||
"yyyy-MM-dd"
|
||
],
|
||
[
|
||
"yyyy-MM-dd"
|
||
]
|
||
],
|
||
"icon": [
|
||
[
|
||
"package2",
|
||
"/path/icon.png"
|
||
],
|
||
[
|
||
"/path/main/icon.png"
|
||
]
|
||
],
|
||
"publisher": [
|
||
[
|
||
"package2",
|
||
"team of package2"
|
||
],
|
||
[
|
||
"main team"
|
||
]
|
||
],
|
||
"customScript": "echo 'I am use custom script!!!'"
|
||
}
|
||
|
||
```
|
||
|
||
Цель файла- упростить вызов cqtdeployer и переместить часть или все параметры в файл. Все параметры, указанные в файле, имеют более низкий приоритет, чем параметры, добавленные в консоль при запуске.
|
||
|
||
### Создание файла
|
||
|
||
#### Способ 1
|
||
|
||
1. Вызовите `cqtdeployer init` Для инициализации файла для приложения состоящего из одного пакета.
|
||
Или `cqtdeployer -init multi` Для инициализации файла для проекта с несколькими пакетами.
|
||
2. Откройте CQtDeployer.json и отредактируйте его под свои нужды.
|
||
3. Вызовите cqtdeployer в дериктории с файлом CQtDeployer.json, или укажите путь к нему используя флаг -confFile path/to/my/CQtDeployer.json
|
||
|
||
#### Способ 2
|
||
Вызовите cqtdeployer с нужным вам набором параметров и укажите путь к файлу при помощи флага -confFile (файл должен отсутствовать). Если файл будет существовать, то cqtdeployer начнет выгружать из него параметры.
|
||
|
||
Пример:
|
||
``` bash
|
||
cqtdeployer -confFile deploy.json -bin CQtDeployerInstaller -targetDir ./test -qmlOut myqml -binOut mybin -libOut mylib -pluginOut myplugins noStrip noTranslations -recursiveDepth 5 -extraPlugin sqldrivers,audio,mediaservice force-clear deploySystem noOverwrite
|
||
```
|
||
Где:
|
||
|
||
* cqtdeployer - вызов cqtdeployer
|
||
* -confFile deploy.json - путь к файлу, который нужно создать
|
||
* "-bin CQtDeployerInstaller -targetDir ./test -qmlOut myqml -binOut mybin -libOut mylib -pluginOut myplugins noStrip noTranslations -recursiveDepth 5 -extraPlugin sqldrivers,audio,mediaservice force-clear deploySystem noOverwrite" - необходимые параметры.
|
||
|
||
|
||
### Использование файла развертывания.
|
||
Чтобы cqtdeployer начал читать параметры из файла, используйте флаг -confFile [путь к файлу]
|
||
|
||
#### Пример:
|
||
cqtdeployer -qmake ~/Qt/bin/qmake -confFile ./deploy.json
|
||
|