mirror of
https://github.com/QuasarApp/CQtDeployer.git
synced 2025-04-27 10:14:32 +00:00
ref #421 added new help page
This commit is contained in:
parent
ecddf67508
commit
7ef3e58cfd
@ -21,10 +21,9 @@ int main(int argc, char *argv[]) {
|
||||
QCoreApplication::setApplicationName("CQtDeployer");
|
||||
|
||||
|
||||
if (!QuasarAppUtils::Params::parseParams(argc, argv)) {
|
||||
QuasarAppUtils::Params::log("Wrong parameters", QuasarAppUtils::Warning);
|
||||
DeployCore::help();
|
||||
exit(0);
|
||||
if (!QuasarAppUtils::Params::parseParams(argc, argv, DeployCore::avilableOptions())) {
|
||||
QuasarAppUtils::Params::log("Wrong parameters. Please use the 'help' of 'h' option for show help page.", QuasarAppUtils::Warning);
|
||||
exit(4);
|
||||
}
|
||||
|
||||
Deploy deploy;
|
||||
|
@ -273,9 +273,7 @@ QJsonValue ConfigParser::writeKeyArray(int separatorLvl, const QString ¶mete
|
||||
|
||||
void ConfigParser::writeKey(const QString& key, QJsonObject& obj,
|
||||
const QString& confFileDir) const {
|
||||
if (QuasarAppUtils::Params::isEndable(key)) {
|
||||
obj[key] = writeKeyArray(0, QuasarAppUtils::Params::getArg(key), confFileDir);
|
||||
}
|
||||
obj[key] = writeKeyArray(0, QuasarAppUtils::Params::getArg(key), confFileDir);
|
||||
}
|
||||
|
||||
QString ConfigParser::readKeyArray(int separatorLvl, const QJsonArray &array,
|
||||
@ -357,9 +355,10 @@ bool ConfigParser::createFromDeploy(const QString& confFile) const {
|
||||
|
||||
auto info = QFileInfo(confFile);
|
||||
|
||||
const auto keys = DeployCore::helpKeys();
|
||||
const auto keys = QuasarAppUtils::Params::getUserParamsMap().keys();
|
||||
for (const auto &key :keys) {
|
||||
writeKey(key, obj, info.absolutePath());
|
||||
if (key != "confFile")
|
||||
writeKey(key, obj, info.absolutePath());
|
||||
}
|
||||
|
||||
if (!QFile::exists(info.absolutePath()) &&
|
||||
|
@ -7,7 +7,6 @@
|
||||
|
||||
#include "extracter.h"
|
||||
#include "deploycore.h"
|
||||
#include "quasarapp.h"
|
||||
#include "pathutils.h"
|
||||
#include "pluginsparser.h"
|
||||
|
||||
@ -185,103 +184,106 @@ RunMode DeployCore::getMode() {
|
||||
return RunMode::Info;
|
||||
}
|
||||
|
||||
void DeployCore::help() {
|
||||
|
||||
QuasarAppUtils::OptionsDataList DeployCore::avilableOptions() {
|
||||
QString group = "Part 1 Boolean options";
|
||||
QuasarAppUtils::OptionsDataList _help = {};
|
||||
_help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"init"},
|
||||
QuasarAppUtils::OptionsDataList help = {};
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"init"}, "",
|
||||
"will initialize cqtdeployer.json file (configuration file).",
|
||||
"'cqtdeployer init' - for initialize base package configuration. "
|
||||
"'cqtdeployer -init multi' - for initialize multi package configuration "
|
||||
"'cqtdeployer -init single' - for initialize singel package configuration"
|
||||
}});
|
||||
_help.insert(group, {QuasarAppUtils::OptionData{
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"clear"}, "",
|
||||
"Deletes deployable files of the previous session."
|
||||
}});
|
||||
_help.insert(group, {QuasarAppUtils::OptionData{
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"force-clear"}, "",
|
||||
"Deletes the destination directory before deployment."
|
||||
}});
|
||||
_help.insert(group, {QuasarAppUtils::OptionData{
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"noStrip"}, "",
|
||||
"Skips strip step"
|
||||
}});
|
||||
_help.insert(group, {QuasarAppUtils::OptionData{
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"noTranslations"}, "",
|
||||
"Skips the translations files. It doesn't work without qmake."
|
||||
}});
|
||||
_help.insert(group, {QuasarAppUtils::OptionData{
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"noOverwrite"}, "",
|
||||
"Prevents replacing existing files."
|
||||
}});
|
||||
_help.insert(group, {QuasarAppUtils::OptionData{
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"noCheckRPATH"}, "",
|
||||
"Disables automatic search of paths to qmake in executable files."
|
||||
}});
|
||||
_help.insert(group, {QuasarAppUtils::OptionData{
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"noCheckPATH"}, "",
|
||||
"Disables automatic search of paths to qmake in system PATH."
|
||||
}});
|
||||
_help.insert(group, {QuasarAppUtils::OptionData{
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"noRecursiveiIgnoreEnv"}, "",
|
||||
"Disables recursive ignore for ignoreEnv option."
|
||||
}});
|
||||
_help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"v", "version"},
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"v", "version"}, "",
|
||||
"Shows compiled version"
|
||||
}});
|
||||
|
||||
_help.insert(group, {QuasarAppUtils::OptionData{
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"h", "help"}, "",
|
||||
"Show all help or help of the selected options."
|
||||
" You can add any another option to a command line for show help about using options"
|
||||
}});
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"qif","-qif"}, "",
|
||||
"Create the QIF installer for deployment programm"
|
||||
" You can specify the path to your own installer template.",
|
||||
"Examples: cqtdeployer -qif path/to/myCustom/qif."
|
||||
}});
|
||||
_help.insert(group, {QuasarAppUtils::OptionData{
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"qifFromSystem"}, "",
|
||||
"force use system binarycreator tool of qif from path or qt"
|
||||
}});
|
||||
_help.insert(group, {QuasarAppUtils::OptionData{
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"zip"}, "",
|
||||
"Create the ZIP arhive for deployment programm"
|
||||
}});
|
||||
_help.insert(group, {QuasarAppUtils::OptionData{
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"deb", "-deb"}, "",
|
||||
"Create the deb package for deployment programm"
|
||||
" You can specify the path to your own debian template.",
|
||||
"cqtdeployer -deb path/to/myCustom/DEBIAN."
|
||||
}});
|
||||
_help.insert(group, {QuasarAppUtils::OptionData{
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"deploySystem"}, "",
|
||||
"Deploys all libraries."
|
||||
" Not recomendet because there may be conflicts with system libraries"
|
||||
" (on snap version you need to turn on permission)"
|
||||
}});
|
||||
_help.insert(group, {QuasarAppUtils::OptionData{
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"noQt"}, "",
|
||||
"Ignors the error of initialize of a qmake. Use only if your application does not use the qt framework."
|
||||
}});
|
||||
_help.insert(group, {QuasarAppUtils::OptionData{
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"allowEmptyPackages"}, "",
|
||||
"Allows configure the empty packages."
|
||||
}});
|
||||
_help.insert(group, {QuasarAppUtils::OptionData{
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"getDefaultTemplate"}, "",
|
||||
"Extracts defaults deb or qif templates."
|
||||
" All templates extract into targetDirectory."
|
||||
" For change target directory use the targetDir option.",
|
||||
"cqtdeployer -bin myExecutable getDefaultTemplate qif deb."
|
||||
}});
|
||||
_help.insert(group, {QuasarAppUtils::OptionData{
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"noHashSum"}, "",
|
||||
"This option disable computation of a packages hash sum"
|
||||
}});
|
||||
|
||||
group = "Part 2 Deploy options";
|
||||
|
||||
_help.insert(group, {QuasarAppUtils::OptionData{
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"-bin"}, "{list,params}",
|
||||
"Files to deploy or folders that contain files to deploy.",
|
||||
"-bin ~/my/project/bin/,~/my/project/bin.exe,~/my/project/runtimeLinking/lib.dll."
|
||||
@ -292,73 +294,215 @@ void DeployCore::help() {
|
||||
" Then, CQtDeployer will extract all dependencies of the copied files and search dependencies in system environments and libDir paths."
|
||||
}});
|
||||
|
||||
_help.insert(group, {QuasarAppUtils::OptionData{
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"-binPrefix"}, "{prefixPath}",
|
||||
"Sets prefix path for bin option.",
|
||||
"-bin path/MyExecutable is some as -bin MyExecutable -binPrefix path"
|
||||
}});
|
||||
|
||||
_help.insert(group, {QuasarAppUtils::OptionData{
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"-confFile"}, "{params}",
|
||||
"The path to the json file with all deployment configurations. Using this file,"
|
||||
" you can add the necessary options, thereby simplifying the command invocation in the console."
|
||||
" However, the parameters in Kansol have a higher priority than in the file."
|
||||
" For more info about this flag see https://github.com/QuasarApp/CQtDeployer/wiki/DeployConfigFileEn"
|
||||
}});
|
||||
_help.insert(group, {QuasarAppUtils::OptionData{
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"-qmlDir"}, "{params}",
|
||||
"Sets path to Qml data dir",
|
||||
"-qmlDir ~/my/project/qml"
|
||||
}});
|
||||
_help.insert(group, {QuasarAppUtils::OptionData{
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"-qmake"}, "{params}",
|
||||
"Sets path to the qmake executable.",
|
||||
"-qmake ~/Qt/bin/qmake or -qmake ~/Qt/bin/qmake.exe"
|
||||
}});
|
||||
_help.insert(group, {QuasarAppUtils::OptionData{
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"-ignore"}, "{list,params}",
|
||||
"Sets the list of libs to ignore.",
|
||||
"-ignore libicudata.so.56,libicudata2.so.56"
|
||||
}});
|
||||
_help.insert(group, {QuasarAppUtils::OptionData{
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"-ignoreEnv"}, "{list,params}",
|
||||
"Sets the list of the environment to ignore.",
|
||||
"-ignoreEnv /bad/dir,/my/bad/Dir"
|
||||
}});
|
||||
_help.insert(group, {QuasarAppUtils::OptionData{
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"-libDir"}, "{list,params}",
|
||||
"Sets additional paths for extra libs of an app.",
|
||||
"-libDir ~/myLib,~/newLibs"
|
||||
}});
|
||||
_help.insert(group, {QuasarAppUtils::OptionData{
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"-extraLibs"}, "{list,params}",
|
||||
"Sets the mask of the library name for forced copying.",
|
||||
"\"-extraLib mySql\" - forces to copy all libraries whose names contain mySql to the project folder."
|
||||
" This option is case-insensitive on Windows and case-sensitive on other platforms."
|
||||
" This option will only search libraries in system environments similar to **deploySystem**."
|
||||
}});
|
||||
_help.insert(group, {QuasarAppUtils::OptionData{
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"-customScript"}, "{scriptCode}",
|
||||
"Insert extra code inTo All run script.",
|
||||
"",
|
||||
" This option will be removed into next release cqtdeployer."
|
||||
" Please use the runScript option"
|
||||
}});
|
||||
_help.insert(group, {QuasarAppUtils::OptionData{
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"-recursiveDepth"}, "{params}",
|
||||
"Sets the Depth of recursive search of libs and depth for ignoreEnv option (default 0)"
|
||||
}});
|
||||
_help.insert(group, {QuasarAppUtils::OptionData{
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"-targetDir"}, "{params}",
|
||||
"Sets target directory(by default it is the path to the first deployable file)"
|
||||
}});
|
||||
_help.insert(group, {QuasarAppUtils::OptionData{
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"-runScript"}, "{list,parems}",
|
||||
"forces cqtdeployer swap default run script to new from the arguments of option."
|
||||
" This option copy all content from input file and insert all code into runScript.sh or .bat",
|
||||
"cqtdeployer -runScript \"myTargetMame;path/to/my/myCustomLaunchScript.sh,myTargetSecondMame;path/to/my/mySecondCustomLaunchScript.sh\""
|
||||
}});
|
||||
|
||||
group = "Part 3 Control of packages options";
|
||||
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"-targetPackage"}, "{package;tar1,package;tar2}",
|
||||
"Creates a new package and adds 'tar1 and tar2' to it. "
|
||||
"If you want configure the package that do not have any targets use the allowEmptyPackages option."
|
||||
}});
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"-qmlOut"}, "{package;path,path}",
|
||||
"Sets path to qml out directory"
|
||||
}});
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"-libOut"}, "{package;path,path}",
|
||||
"Sets path to libraries out directory"
|
||||
}});
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"-trOut"}, "{package;path,path}",
|
||||
"Sets path to Sets path to translations out directory"
|
||||
}});
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"-pluginOut"}, "{package;path,path}",
|
||||
"Sets path to plugins out directory"
|
||||
}});
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"-binOut"}, "{package;path,path}",
|
||||
"Sets path to binary out directory"
|
||||
}});
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"-recOut"}, "{package;path,path}",
|
||||
"Sets path to recurses out directory"
|
||||
}});
|
||||
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"-extraDataOut"}, "{package;path,path}",
|
||||
"Sets path to extra data files out directory. By Default it is root dir of the distribution."
|
||||
}});
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"-name"}, "{package;val,val}",
|
||||
"Sets name for a package."
|
||||
"If this if you do not specify a package, the value will be assigned to the default package ("")"
|
||||
}});
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"-description"}, "{package;val,val}",
|
||||
"Sets description for a package"
|
||||
}});
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"-deployVersion"}, "{package;val,val}",
|
||||
"Sets version for a package"
|
||||
}});
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"-releaseDate"}, "{package;val,val}",
|
||||
"Sets release date for a package"
|
||||
}});
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"-publisher"}, "{package;val,val}",
|
||||
"Sets publisher for a package"
|
||||
}});
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"-homePage"}, "{package;val,val}",
|
||||
"Sets the home page url for a package"
|
||||
}});
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"-prefix"}, "{package;val,val}",
|
||||
"Sets the prefix for the package relatively a target directory "
|
||||
}});
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"-extraData"}, "{package;val,val}",
|
||||
"Adds the extra files or directories like a target. The selected directory will be copy to the extraDataOut location with save own structure."
|
||||
}});
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"-tr"}, "{package;val,val}",
|
||||
"Adds qm files into the translations folder."
|
||||
}});
|
||||
|
||||
group = "Part 4 Control of packages options";
|
||||
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"-icon"}, "{target;val,val}",
|
||||
"Sets path to icon for a targets"
|
||||
}});
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"-disableRunScript"}, "{package;val,val}",
|
||||
"Disables a generation of run script for selected targets"
|
||||
}});
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"-disableShortCut"}, "{package;val,val}",
|
||||
"Disables a generation of shortcut for selected targets"
|
||||
}});
|
||||
|
||||
group = "Part 5 Plugins Control Options";
|
||||
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"-extraPlugin"}, "{package;val1;val2,SingeleVal}",
|
||||
"Sets an additional path to third-party application plug-in"
|
||||
}});
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"-enablePlugins"}, "{package;val1;val2,SingeleVa}",
|
||||
"Enables additional plugins for distribution."
|
||||
" By default disabled next plugins: " + PluginsParser::defaultForbidenPlugins().join(',') + " if you want enable"
|
||||
" it then use '-enablePlugins " + PluginsParser::defaultForbidenPlugins().join(',') + "' option"
|
||||
}});
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"-disablePlugins"}, "{package;val1;val2,SingeleVal}",
|
||||
"Disables plugins for distribution. "
|
||||
"You can disable any plugin of your Qt build, just see the yourQtFolder/plugins forlder for available plugins."
|
||||
" Example if you want disable qxcb plugin: -disablePlugins qxcb."
|
||||
" Note that the name of the plugin is indicated without its extension"
|
||||
}});
|
||||
|
||||
group = "Part 6 QtInstallFramework options";
|
||||
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"-qifStyle"}, "{path/to/style.css}",
|
||||
"Sets the path to the CSS style file or sets the default style."
|
||||
" Available styles: quasar, quasarDark"
|
||||
}});
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"-qifBanner"}, "{path/to/banner.png}",
|
||||
"Sets path to the banner png file."
|
||||
}});
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"-qifLogo"}, "{path/to/logo.png}",
|
||||
"Sets path to the logo png file."
|
||||
}});
|
||||
help.insert(group, {QuasarAppUtils::OptionData{
|
||||
{"-qifOut"}, "{nameOfOutputInstallerFile}",
|
||||
"Sets name of output qifw installer. Note: on Windows, the exe suffix will be added to the installer automatically."
|
||||
}});
|
||||
|
||||
return help;
|
||||
}
|
||||
|
||||
void DeployCore::help() {
|
||||
|
||||
auto localHelp = QuasarAppUtils::Params::getHelpOfInputOptions();
|
||||
|
||||
if(!localHelp.isEmpty()) {
|
||||
QuasarAppUtils::Help::print(localHelp);
|
||||
return;
|
||||
}
|
||||
|
||||
// help extra data;
|
||||
QuasarAppUtils::Help::Charters help = {
|
||||
{
|
||||
"Part 0 General", {
|
||||
@ -366,135 +510,6 @@ void DeployCore::help() {
|
||||
{"Usage", "cqtdeployer <-bin [params]> [options]"},
|
||||
}
|
||||
},
|
||||
// {
|
||||
// "Part 1 Boolean options", {
|
||||
// {"init", "will initialize cqtdeployer.json file (configuration file)."
|
||||
// " For example: 'cqtdeployer init' - for initialize base package configuration."
|
||||
// " 'cqtdeployer -init multi' - for initialize multi package configuration"
|
||||
// " 'cqtdeployer -init single' - for initialize singel package configuration"},
|
||||
// {"help / h", "Shows help"},
|
||||
// {"clear", "Deletes deployable files of the previous session."},
|
||||
// {"force-clear", "Deletes the destination directory before deployment."},
|
||||
// {"noStrip", "Skips strip step"},
|
||||
// {"noTranslations", "Skips the translations files. It doesn't work without qmake."},
|
||||
// {"noOverwrite", "Prevents replacing existing files."},
|
||||
// {"noCheckRPATH", "Disables automatic search of paths to qmake in executable files."},
|
||||
// {"noCheckPATH", "Disables automatic search of paths to qmake in system PATH."},
|
||||
// {"noRecursiveiIgnoreEnv", "Disables recursive ignore for ignoreEnv option."},
|
||||
// {"v / version", "Shows compiled version"},
|
||||
// {"qif", "Create the QIF installer for deployment programm"
|
||||
// " You can specify the path to your own installer template. Examples: cqtdeployer -qif path/to/myCustom/qif."},
|
||||
// {"qifFromSystem", "force use system binarycreator tool of qif from path or qt"},
|
||||
// {"zip", "Create the ZIP arhive for deployment programm"},
|
||||
// {"deb", "Create the deb package for deployment programm"
|
||||
// " You can specify the path to your own debian template. Examples: cqtdeployer -deb path/to/myCustom/DEBIAN."},
|
||||
// {"deploySystem", "Deploys all libraries."
|
||||
// " Not recomendet because there may be conflicts with system libraries"
|
||||
// " (on snap version you need to turn on permission)"},
|
||||
// {"noQt", "Ignors the error of initialize of a qmake. Use only if your application does not use the qt framework."},
|
||||
// {"allowEmptyPackages", "Allows configure the empty packages."},
|
||||
// {"getDefaultTemplate", "Extracts defaults deb or qif templates."
|
||||
// " All templates extract into targetDirectory."
|
||||
// " For change target directory use the targetDir option."
|
||||
// " Example: cqtdeployer -bin myExecutable getDefaultTemplate qif deb."},
|
||||
// {"noHashSum", "This option disable computation of a packages hash sum"}
|
||||
|
||||
|
||||
// }
|
||||
// },
|
||||
// {
|
||||
// "Part 2 Deploy options", {
|
||||
// {"-bin [list, params]", "Files to deploy or folders that contain files to deploy."
|
||||
// " For example -bin ~/my/project/bin/,~/my/project/bin.exe,~/my/project/runtimeLinking/lib.dll."
|
||||
// " For files: These files will be unconditional copied to the destination directory,"
|
||||
// " regardless of their format or suffix."
|
||||
// " For folders:"
|
||||
// " CCQtDeployer will enter these folders and non-recursively copy all executable files to the destination directory."
|
||||
// " Then, CQtDeployer will extract all dependencies of the copied files and search dependencies in system environments and libDir paths."},
|
||||
// {"-binPrefix [prefixPath]", "Sets prefix path for bin option."
|
||||
// " Example: "
|
||||
// "" },
|
||||
|
||||
// {"-confFile [params]", "The path to the json file with all deployment configurations. Using this file,"
|
||||
// " you can add the necessary options, thereby simplifying the command invocation in the console."
|
||||
// " However, the parameters in Kansol have a higher priority than in the file."
|
||||
// " For more info about this flag see https://github.com/QuasarApp/CQtDeployer/wiki/DeployConfigFileEn"},
|
||||
// {"-qmlDir [params]", "Qml data dir. For example -qmlDir ~/my/project/qml"},
|
||||
// {"-qmake [params]", "Deployable file or folder. For example -bin ~/my/project/bin/,~/my/project/bin.exe"},
|
||||
// {"-ignore [list,params]", "The list of libs to ignore. For example -ignore libicudata.so.56,libicudata2.so.56"},
|
||||
// {"-ignoreEnv [list,params]", "The list of the environment to ignore. For example -ignoreEnv /bad/dir,/my/bad/Dir"},
|
||||
// {"-libDir [list,params]", "Sets additional paths for extra libs of an app. For example -libDir ~/myLib,~/newLibs"},
|
||||
// {"-extraLibs [list,params]", "Sets the mask of the library name for forced copying."
|
||||
// " Example: \"-extraLib mySql\" - forces to copy all libraries whose names contain mySql to the project folder."
|
||||
// " This option is case-insensitive on Windows and case-sensitive on other platforms."
|
||||
// " This option will only search libraries in system environments similar to **deploySystem**."},
|
||||
// {"-customScript [scriptCode]", "Insert extra code inTo All run script."},
|
||||
// {"-recursiveDepth [params]", "Sets the Depth of recursive search of libs and depth for ignoreEnv option (default 0)"},
|
||||
// {"-targetDir [params]", "Sets target directory(by default it is the path to the first deployable file)"},
|
||||
// {"-runScript [list,parems]", "forces cqtdeployer swap default run script to new from the arguments of option."
|
||||
// " This option copy all content from input file and insert all code into runScript.sh or .bat"
|
||||
// " Example of use: cqtdeployer -runScript \"myTargetMame;path/to/my/myCustomLaunchScript.sh,myTargetSecondMame;path/to/my/mySecondCustomLaunchScript.sh\""},
|
||||
// {"-verbose [0-3]", "Shows debug log"},
|
||||
|
||||
// }
|
||||
// },
|
||||
{
|
||||
"Part 3 Control of packages options", {
|
||||
{"-targetPackage [package;tar1,package;tar2]", "Creates a new package and adds 'tar1 and tar2' to it."
|
||||
"If you want configure the package that do not have any targets use the allowEmptyPackages option."},
|
||||
{"-qmlOut [package;path,path]", "Sets path to qml out directory"},
|
||||
{"-libOut [package;path,path]", "Sets path to libraries out directory"},
|
||||
{"-trOut [package;path,path]", "Sets path to translations out directory"},
|
||||
{"-pluginOut [package;path,path]", "Sets path to plugins out directory"},
|
||||
{"-binOut [package;path,path]", "Sets path to binary out directory"},
|
||||
{"-recOut [package;path,path]", "Sets path to recurses out directory"},
|
||||
{"-extraDataOut [package;path,path]", "Sets path to extra data files out directory. By Default it is root dir of the distribution."},
|
||||
{"-name [package;val,val]", "Sets name for a package. "
|
||||
"If this if you do not specify a package, the value will be assigned to the default package ("")"},
|
||||
{"-description [package;val,val]", "Sets description for a package"},
|
||||
{"-deployVersion [package;val,val]", "Sets version for a package"},
|
||||
{"-releaseDate [package;val,val]", "Sets release date for a package"},
|
||||
{"-publisher [package;val,val]", "Sets publisher for a package"},
|
||||
{"-homePage [package;val,val]", "Sets the home page url for a package"},
|
||||
{"-prefix [package;val,val]", "Sets the prefix for the package relatively a target directory "},
|
||||
{"-extraData [package;val,val]", "Adds the extra files or directories like a target. The selected directory will be copy to the extraDataOut location with save own structure."},
|
||||
{"-tr [package;val,val]", "Adds qm files into the translations folder."},
|
||||
|
||||
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"Part 4 Control of packages options", {
|
||||
{"-icon [target;val,val]", "Sets path to icon for a targets"},
|
||||
{"-disableRunScript [target;val,val]", "Disables a generation of run script for selected targets"},
|
||||
{"-disableShortCut [target;val,val]", "Disables a generation of shortcut for selected targets"}
|
||||
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"Part 5 Plugins Control Options", {
|
||||
{"-extraPlugin [package;val1;val2,SingeleVal]", "Sets an additional path to third-party application plug-in"},
|
||||
{"-enablePlugins [package;val1;val2,SingeleVal", "Enables additional plugins for distribution."
|
||||
" By default disabled next plugins: " + PluginsParser::defaultForbidenPlugins().join(',') + " if you want enable"
|
||||
" it then use '-enablePlugins " + PluginsParser::defaultForbidenPlugins().join(',') + "' option"},
|
||||
{"-disablePlugins [package;val1;val2,SingeleVal]", "Disables plugins for distribution. "
|
||||
"You can disable any plugin of your Qt build, just see the yourQtFolder/plugins forlder for available plugins."
|
||||
" Example if you want disable qxcb plugin: -disablePlugins qxcb."
|
||||
" Note that the name of the plugin is indicated without its extension"},
|
||||
|
||||
}
|
||||
},
|
||||
{
|
||||
"Part 6 QtInstallFramework options", {
|
||||
{"-qifStyle [path/to/style.css]", "Sets the path to the CSS style file or sets the default style."
|
||||
" Available styles: quasar, quasarDark"},
|
||||
{"-qifBanner [path/to/banner.png]", "Sets path to the banner png file."},
|
||||
{"-qifLogo [path/to/logo.png]", "Sets path to the logo png file."},
|
||||
{"-qifOut [nameOfOutputInstallerFile", "Sets name of output qifw installer. Note: on Windows, the exe suffix will be added to the installer automatically."},
|
||||
}
|
||||
},
|
||||
{
|
||||
"Support", {
|
||||
{"Support for you", "If you have any questions or problems with cqtdeployer you can write to us about the problem on the GitHub page: https://github.com/QuasarApp/CQtDeployer/issues"},
|
||||
@ -503,73 +518,13 @@ void DeployCore::help() {
|
||||
}
|
||||
};
|
||||
|
||||
help.unite(QuasarAppUtils::Params::getParamsHelp());
|
||||
help += QuasarAppUtils::Params::getHelp();
|
||||
|
||||
QuasarAppUtils::Help::print(help);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
QStringList DeployCore::helpKeys() {
|
||||
return {
|
||||
"help",
|
||||
"noOverwrite",
|
||||
"bin",
|
||||
"extraData",
|
||||
"qmlDir",
|
||||
"deploySystem",
|
||||
"qmake",
|
||||
"ignore",
|
||||
"ignoreEnv",
|
||||
"clear",
|
||||
"force-clear",
|
||||
"libDir",
|
||||
"extraLibs",
|
||||
"extraPlugin",
|
||||
"recursiveDepth",
|
||||
"targetDir",
|
||||
"targetPackage",
|
||||
"noStrip",
|
||||
"extractPlugins",
|
||||
"noTranslations",
|
||||
"noRecursiveiIgnoreEnv",
|
||||
"qifFromSystem",
|
||||
"qmlOut",
|
||||
"libOut",
|
||||
"trOut",
|
||||
"pluginOut",
|
||||
"binOut",
|
||||
"recOut",
|
||||
"extraDataOut",
|
||||
"version",
|
||||
"verbose",
|
||||
"qif",
|
||||
"noCheckRPATH",
|
||||
"noCheckPATH",
|
||||
"name",
|
||||
"description",
|
||||
"deployVersion",
|
||||
"releaseDate",
|
||||
"icon",
|
||||
"publisher",
|
||||
"customScript",
|
||||
"qifStyle",
|
||||
"qifBanner",
|
||||
"qifLogo",
|
||||
"zip",
|
||||
"noQt",
|
||||
"homePage",
|
||||
"prefix",
|
||||
"deb",
|
||||
"allowEmptyPackages",
|
||||
"runScript",
|
||||
"getDefaultTemplate",
|
||||
"tr",
|
||||
"disableRunScript",
|
||||
"disableShortCut"
|
||||
};
|
||||
}
|
||||
|
||||
QStringList DeployCore::extractTranslation(const QSet<QString> &libs) {
|
||||
QSet<QString> res;
|
||||
const size_t qtModulesCount = sizeof(qtModuleEntries) / sizeof(QtModuleEntry);
|
||||
|
@ -13,6 +13,7 @@
|
||||
#include <QFileInfo>
|
||||
#include "deploy_global.h"
|
||||
#include "defines.h"
|
||||
#include "quasarapp.h"
|
||||
|
||||
enum MSVCVersion: int {
|
||||
MSVC_Unknown = 0x0,
|
||||
@ -249,7 +250,7 @@ public:
|
||||
static bool isGui(DeployCore::QtModule module);
|
||||
static RunMode getMode();
|
||||
static void help();
|
||||
static QStringList helpKeys();
|
||||
static QuasarAppUtils::OptionsDataList avilableOptions();
|
||||
|
||||
static QStringList extractTranslation(const QSet<QString> &libs);
|
||||
static QString getAppVersion();
|
||||
|
@ -117,6 +117,9 @@ void FileManager::removeFromDeployed(const QString &path) {
|
||||
}
|
||||
|
||||
void FileManager::saveDeploymendFiles(const QString& targetDir) {
|
||||
if (targetDir.isEmpty())
|
||||
return;
|
||||
|
||||
auto settings = QuasarAppUtils::Settings::instance();
|
||||
settings->setValue(targetDir, getDeployedFilesStringList());
|
||||
}
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit 93839d1dc0faab01d81a57bb0e8ef418e463675c
|
||||
Subproject commit cae874728fe3e86e98d18ba6654654ce0717d04e
|
Loading…
x
Reference in New Issue
Block a user