mirror of
https://github.com/QuasarApp/CQtDeployer.git
synced 2025-04-27 10:14:32 +00:00
commit
48882da6f3
@ -8,10 +8,11 @@
|
|||||||
TEMPLATE = subdirs
|
TEMPLATE = subdirs
|
||||||
CONFIG += ordered
|
CONFIG += ordered
|
||||||
|
|
||||||
lessThan(QT_MAJOR_VERSION, 6):lessThan(QT_MINOR_VERSION, 14) {
|
lessThan(QT_MAJOR_VERSION, 6):lessThan(QT_MINOR_VERSION, 12) {
|
||||||
message(Tests is disabled!)
|
warning("Tests are only enabled on Qt 5.12.0 or later version. You are using $$[QT_VERSION].")
|
||||||
DEFINES += WITHOUT_TESTS
|
DEFINES += WITHOUT_TESTS
|
||||||
}
|
}
|
||||||
|
android: DEFINES += WITHOUT_TESTS
|
||||||
|
|
||||||
!android {
|
!android {
|
||||||
SUBDIRS += QuasarAppLib \
|
SUBDIRS += QuasarAppLib \
|
||||||
|
@ -19,7 +19,7 @@ TEMPLATE = lib
|
|||||||
|
|
||||||
DEFINES += DEPLOY_LIBRARY
|
DEFINES += DEPLOY_LIBRARY
|
||||||
|
|
||||||
VERSION = 1.5.0.23
|
VERSION = 1.5.0.24
|
||||||
|
|
||||||
DEFINES += APP_VERSION='\\"$$VERSION\\"'
|
DEFINES += APP_VERSION='\\"$$VERSION\\"'
|
||||||
|
|
||||||
|
@ -319,8 +319,8 @@ bool ConfigParser::loadFromFile(const QString& confFile) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
auto obj = doc.object();
|
auto obj = doc.object();
|
||||||
|
const auto keys = obj.keys();
|
||||||
for (const auto &key: obj.keys()) {
|
for (const auto &key: keys) {
|
||||||
readKey(key, obj, confFilePath);
|
readKey(key, obj, confFilePath);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -387,6 +387,8 @@ bool ConfigParser::initDistroStruct() {
|
|||||||
auto extraData = QuasarAppUtils::Params::getStrArg("extraData").
|
auto extraData = QuasarAppUtils::Params::getStrArg("extraData").
|
||||||
split(DeployCore::getSeparator(0), splitbehavior);
|
split(DeployCore::getSeparator(0), splitbehavior);
|
||||||
|
|
||||||
|
auto trData = QuasarAppUtils::Params::getStrArg("tr").
|
||||||
|
split(DeployCore::getSeparator(0), splitbehavior);
|
||||||
|
|
||||||
// init distro stucts for all targets
|
// init distro stucts for all targets
|
||||||
if (binOut.size() && !parsePackagesPrivate(mainDistro, binOut, &DistroModule::setBinOutDir)) {
|
if (binOut.size() && !parsePackagesPrivate(mainDistro, binOut, &DistroModule::setBinOutDir)) {
|
||||||
@ -469,6 +471,11 @@ bool ConfigParser::initDistroStruct() {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (trData.size() && !parsePackagesPrivate(mainDistro, trData, &DistroModule::addTr)) {
|
||||||
|
packagesErrorLog("tr");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
#define DEFINES_H
|
#define DEFINES_H
|
||||||
#include <QtGlobal>
|
#include <QtGlobal>
|
||||||
|
|
||||||
#if QT_VERSION > QT_VERSION_CHECK(5, 13, 0)
|
#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
|
||||||
#define splitbehavior Qt::SkipEmptyParts
|
#define splitbehavior Qt::SkipEmptyParts
|
||||||
#else
|
#else
|
||||||
#define splitbehavior QString::SkipEmptyParts
|
#define splitbehavior QString::SkipEmptyParts
|
||||||
|
@ -31,6 +31,18 @@ QString DeployConfig::getTargetDir(const QString &target) const {
|
|||||||
return targetDir;
|
return targetDir;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString DeployConfig::getPackageTargetDir(const QString &package) const {
|
||||||
|
if (!_packages.contains(package)) {
|
||||||
|
#ifdef QT_DEBUG
|
||||||
|
abort();
|
||||||
|
#endif
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
return targetDir + "/" + package;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
void DeployConfig::setTargetDir(const QString &target) {
|
void DeployConfig::setTargetDir(const QString &target) {
|
||||||
targetDir = target;
|
targetDir = target;
|
||||||
|
|
||||||
|
@ -72,6 +72,13 @@ public:
|
|||||||
*/
|
*/
|
||||||
QString getTargetDir(const QString& target = "") const;
|
QString getTargetDir(const QString& target = "") const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief getPackageTargetDir This method return the target dif of the package.
|
||||||
|
* @param package This is id of the package
|
||||||
|
* @return target diractory path
|
||||||
|
*/
|
||||||
|
QString getPackageTargetDir(const QString& package) const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief setTargetDir
|
* @brief setTargetDir
|
||||||
* @param target
|
* @param target
|
||||||
|
@ -244,7 +244,6 @@ void DeployCore::help() {
|
|||||||
{"-runScript [list,parems]", "forces cqtdeployer swap default run script to new from the arguments of option."
|
{"-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"
|
" 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\""},
|
" Example of use: cqtdeployer -runScript \"myTargetMame;path/to/my/myCustomLaunchScript.sh,myTargetSecondMame;path/to/my/mySecondCustomLaunchScript.sh\""},
|
||||||
|
|
||||||
{"-verbose [0-3]", "Shows debug log"},
|
{"-verbose [0-3]", "Shows debug log"},
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -270,6 +269,8 @@ void DeployCore::help() {
|
|||||||
{"-homePage [package;val,val]", "Sets the home page url 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 "},
|
{"-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."},
|
{"-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."},
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -364,7 +365,8 @@ QStringList DeployCore::helpKeys() {
|
|||||||
"deb",
|
"deb",
|
||||||
"allowEmptyPackages",
|
"allowEmptyPackages",
|
||||||
"runScript",
|
"runScript",
|
||||||
"getDefaultTemplate"
|
"getDefaultTemplate",
|
||||||
|
"tr"
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -718,6 +720,10 @@ bool DeployCore::checkSystemBakupSnapInterface() {
|
|||||||
return QDir(DeployCore::snapRootFS()).entryList(QDir::AllEntries | QDir::NoDotAndDotDot).size();
|
return QDir(DeployCore::snapRootFS()).entryList(QDir::AllEntries | QDir::NoDotAndDotDot).size();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString DeployCore::systemLibsFolderName() {
|
||||||
|
return "systemLibs";
|
||||||
|
}
|
||||||
|
|
||||||
uint qHash(WinAPI i) {
|
uint qHash(WinAPI i) {
|
||||||
return static_cast<uint>(i);
|
return static_cast<uint>(i);
|
||||||
}
|
}
|
||||||
|
@ -252,6 +252,13 @@ public:
|
|||||||
static QString snapRootFS();
|
static QString snapRootFS();
|
||||||
static QString transportPathToSnapRoot(const QString &path);
|
static QString transportPathToSnapRoot(const QString &path);
|
||||||
static bool checkSystemBakupSnapInterface();
|
static bool checkSystemBakupSnapInterface();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief systemLibsFolderName This method return name of the systems librares.
|
||||||
|
* @return Name of folder with system libraryes.
|
||||||
|
* @note see https://github.com/QuasarApp/CQtDeployer/issues/396
|
||||||
|
*/
|
||||||
|
static QString systemLibsFolderName();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -156,6 +156,18 @@ void DistroModule::setKey(const QString &key) {
|
|||||||
_key = key;
|
_key = key;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QSet<QString> DistroModule::tr() const {
|
||||||
|
return _tr;
|
||||||
|
}
|
||||||
|
|
||||||
|
void DistroModule::setTr(const QSet<QString> &tr) {
|
||||||
|
_tr = tr;
|
||||||
|
}
|
||||||
|
|
||||||
|
void DistroModule::addTr(const QString &tr) {
|
||||||
|
_tr += tr;
|
||||||
|
}
|
||||||
|
|
||||||
QSet<QString> DistroModule::extraData() const {
|
QSet<QString> DistroModule::extraData() const {
|
||||||
return _extraData;
|
return _extraData;
|
||||||
}
|
}
|
||||||
|
@ -73,6 +73,10 @@ public:
|
|||||||
void setExtraData(const QSet<QString> &extraFiles);
|
void setExtraData(const QSet<QString> &extraFiles);
|
||||||
void addExtraData(const QString &extraFile);
|
void addExtraData(const QString &extraFile);
|
||||||
|
|
||||||
|
QSet<QString> tr() const;
|
||||||
|
void setTr(const QSet<QString> &tr);
|
||||||
|
void addTr(const QString &tr);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void setKey(const QString &key);
|
void setKey(const QString &key);
|
||||||
|
|
||||||
@ -94,8 +98,14 @@ private:
|
|||||||
QSet<QString> _enabled;
|
QSet<QString> _enabled;
|
||||||
QSet<QString> _disabled;
|
QSet<QString> _disabled;
|
||||||
QSet<QString> _extraPlugins;
|
QSet<QString> _extraPlugins;
|
||||||
|
|
||||||
|
// extra data
|
||||||
QSet<QString> _extraData;
|
QSet<QString> _extraData;
|
||||||
|
|
||||||
|
// extra translations
|
||||||
|
QSet<QString> _tr;
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // DISTROMODULE_H
|
#endif // DISTROMODULE_H
|
||||||
|
@ -63,13 +63,13 @@ bool Extra::contains(const QString &path) const {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (auto i: extraPathsMasks) {
|
for (const auto &i: extraPathsMasks) {
|
||||||
if (PathUtils::fixPath(info.absoluteFilePath()).contains(i)) {
|
if (PathUtils::fixPath(info.absoluteFilePath()).contains(i)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (auto i: extraNamesMasks) {
|
for (const auto &i: extraNamesMasks) {
|
||||||
if (PathUtils::fixPath(info.fileName()).contains(i)) {
|
if (PathUtils::fixPath(info.fileName()).contains(i)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -200,13 +200,18 @@ void Extracter::extractPlugins() {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Extracter::copyLibs(const QSet<QString> &files, const QString& package) {
|
void Extracter::copyLibs(const QSet<QString> &files, const QString& package, bool system) {
|
||||||
auto cnf = DeployCore::_config;
|
auto cnf = DeployCore::_config;
|
||||||
auto targetPath = cnf->getTargetDir() + "/" + package;
|
auto targetPath = cnf->getTargetDir() + "/" + package;
|
||||||
auto distro = cnf->getDistroFromPackage(package);
|
auto distro = cnf->getDistroFromPackage(package);
|
||||||
|
|
||||||
|
auto libOutpath = targetPath + distro.getLibOutDir();
|
||||||
|
if (system) {
|
||||||
|
libOutpath += "/" + DeployCore::systemLibsFolderName();
|
||||||
|
}
|
||||||
|
|
||||||
for (const auto &file : files) {
|
for (const auto &file : files) {
|
||||||
if (!_fileManager->smartCopyFile(file, targetPath + distro.getLibOutDir())) {
|
if (!_fileManager->smartCopyFile(file, libOutpath)) {
|
||||||
QuasarAppUtils::Params::log(file + " not copied");
|
QuasarAppUtils::Params::log(file + " not copied");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -230,10 +235,10 @@ void Extracter::copyFiles() {
|
|||||||
|
|
||||||
for (auto i = cnf->packages().cbegin(); i != cnf->packages().cend(); ++i) {
|
for (auto i = cnf->packages().cbegin(); i != cnf->packages().cend(); ++i) {
|
||||||
|
|
||||||
copyLibs(_packageDependencyes[i.key()].neadedLibs(), i.key());
|
copyLibs(_packageDependencyes[i.key()].neadedLibs(), i.key(), false);
|
||||||
|
|
||||||
if (QuasarAppUtils::Params::isEndable("deploySystem")) {
|
if (QuasarAppUtils::Params::isEndable("deploySystem")) {
|
||||||
copyLibs(_packageDependencyes[i.key()].systemLibs(), i.key());
|
copyLibs(_packageDependencyes[i.key()].systemLibs(), i.key(), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -245,21 +250,28 @@ void Extracter::copyFiles() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Extracter::copyTr() {
|
bool Extracter::copyTr() {
|
||||||
|
|
||||||
if (!QuasarAppUtils::Params::isEndable("noTranslations")) {
|
if (!QuasarAppUtils::Params::isEndable("noTranslations")) {
|
||||||
|
|
||||||
auto cnf = DeployCore::_config;
|
auto cnf = DeployCore::_config;
|
||||||
|
|
||||||
for (auto i = cnf->packages().cbegin(); i != cnf->packages().cend(); ++i) {
|
for (auto i = cnf->packages().cbegin(); i != cnf->packages().cend(); ++i) {
|
||||||
if (!copyTranslations(DeployCore::extractTranslation(_packageDependencyes[i.key()].neadedLibs()),
|
if (!copyTranslations(DeployCore::extractTranslation(_packageDependencyes[i.key()].neadedLibs()),
|
||||||
i.key())) {
|
i.key())) {
|
||||||
QuasarAppUtils::Params::log("Failed to copy standard Qt translations",
|
QuasarAppUtils::Params::log("Failed to copy standard Qt translations",
|
||||||
QuasarAppUtils::Warning);
|
QuasarAppUtils::Warning);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
const auto trFiles = i->tr();
|
||||||
|
for (const auto &tr: trFiles) {
|
||||||
|
if (!_fileManager->copyFile(tr, cnf->getPackageTargetDir(i.key()) + i->getTrOutDir())) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Extracter::deploy() {
|
bool Extracter::deploy() {
|
||||||
@ -282,7 +294,11 @@ bool Extracter::deploy() {
|
|||||||
|
|
||||||
copyFiles();
|
copyFiles();
|
||||||
|
|
||||||
copyTr();
|
if (!copyTr()) {
|
||||||
|
QuasarAppUtils::Params::log("Fail to copy translations", QuasarAppUtils::Error);
|
||||||
|
|
||||||
|
return false;
|
||||||
|
};
|
||||||
|
|
||||||
if (!extractWebEngine()) {
|
if (!extractWebEngine()) {
|
||||||
QuasarAppUtils::Params::log("deploy webEngine failed", QuasarAppUtils::Error);
|
QuasarAppUtils::Params::log("deploy webEngine failed", QuasarAppUtils::Error);
|
||||||
|
@ -72,8 +72,15 @@ private:
|
|||||||
void extractPlugins();
|
void extractPlugins();
|
||||||
|
|
||||||
void copyFiles();
|
void copyFiles();
|
||||||
void copyTr();
|
bool copyTr();
|
||||||
void copyLibs(const QSet<QString> &files, const QString &package);
|
|
||||||
|
/**
|
||||||
|
* @brief copyLibs This method copy input libraryes into libOut dir.
|
||||||
|
* @param files This is set of input libs
|
||||||
|
* @param package This is package id of deployement pacakge.
|
||||||
|
* @param system This option set for systems libraryes. If This option will be set to true then libOut dir will be changed to libOut/systemLibs. see https://github.com/QuasarApp/CQtDeployer/issues/396.
|
||||||
|
*/
|
||||||
|
void copyLibs(const QSet<QString> &files, const QString &package, bool system);
|
||||||
void copyExtraData(const QSet<QString> &files, const QString &package);
|
void copyExtraData(const QSet<QString> &files, const QString &package);
|
||||||
|
|
||||||
bool isWebEngine(const QString& package) const;
|
bool isWebEngine(const QString& package) const;
|
||||||
|
@ -447,11 +447,7 @@ QString FileManager::changeDistanation(const QString& absalutePath,
|
|||||||
QString basePath,
|
QString basePath,
|
||||||
int depch) {
|
int depch) {
|
||||||
|
|
||||||
#if QT_VERSION > QT_VERSION_CHECK(5, 13, 0)
|
auto prefixes = absalutePath.split(QRegExp("[\\/]"), splitbehavior);
|
||||||
auto prefixes = absalutePath.split(QRegExp("[\\/]"), Qt::SkipEmptyParts);
|
|
||||||
#else
|
|
||||||
auto prefixes = absalutePath.split(QRegExp("[\\/]"), QString::SkipEmptyParts);
|
|
||||||
#endif
|
|
||||||
depch = std::min(depch, prefixes.size());
|
depch = std::min(depch, prefixes.size());
|
||||||
while (depch) {
|
while (depch) {
|
||||||
auto index = prefixes.size() - depch;
|
auto index = prefixes.size() - depch;
|
||||||
|
@ -37,10 +37,12 @@ bool MetaFileManager::createRunScriptWindows(const QString &target) {
|
|||||||
script.close();
|
script.close();
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
auto systemLibsDir = distro.getLibOutDir() + DeployCore::systemLibsFolderName();
|
||||||
|
|
||||||
content =
|
content =
|
||||||
"@echo off \n"
|
"@echo off \n"
|
||||||
"SET BASE_DIR=%~dp0\n"
|
"SET BASE_DIR=%~dp0\n"
|
||||||
"SET PATH=%BASE_DIR%" + distro.getLibOutDir() + ";%PATH%\n"
|
"SET PATH=%BASE_DIR%" + distro.getLibOutDir() + ";%PATH%;" + systemLibsDir + "\n"
|
||||||
"SET CQT_PKG_ROOT=%BASE_DIR%\n"
|
"SET CQT_PKG_ROOT=%BASE_DIR%\n"
|
||||||
"SET CQT_RUN_FILE=%BASE_DIR%%5\n"
|
"SET CQT_RUN_FILE=%BASE_DIR%%5\n"
|
||||||
|
|
||||||
@ -96,11 +98,15 @@ bool MetaFileManager::createRunScriptLinux(const QString &target) {
|
|||||||
script.close();
|
script.close();
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
|
auto systemLibsDir = distro.getLibOutDir() + DeployCore::systemLibsFolderName();
|
||||||
|
|
||||||
content =
|
content =
|
||||||
"#!/bin/sh\n"
|
"#!/bin/sh\n"
|
||||||
"BASE_DIR=$(dirname \"$(readlink -f \"$0\")\")\n"
|
"BASE_DIR=$(dirname \"$(readlink -f \"$0\")\")\n"
|
||||||
"export "
|
"export "
|
||||||
"LD_LIBRARY_PATH=\"$BASE_DIR\"" + distro.getLibOutDir() + ":\"$BASE_DIR\":$LD_LIBRARY_PATH\n"
|
"LD_LIBRARY_PATH=\"$BASE_DIR\"" + distro.getLibOutDir() +
|
||||||
|
":\"$BASE_DIR\":$LD_LIBRARY_PATH:\"$BASE_DIR\"" + systemLibsDir + "\n"
|
||||||
"export QML_IMPORT_PATH=\"$BASE_DIR\"" + distro.getQmlOutDir() + ":$QML_IMPORT_PATH\n"
|
"export QML_IMPORT_PATH=\"$BASE_DIR\"" + distro.getQmlOutDir() + ":$QML_IMPORT_PATH\n"
|
||||||
"export QML2_IMPORT_PATH=\"$BASE_DIR\"" + distro.getQmlOutDir() + ":$QML2_IMPORT_PATH\n"
|
"export QML2_IMPORT_PATH=\"$BASE_DIR\"" + distro.getQmlOutDir() + ":$QML2_IMPORT_PATH\n"
|
||||||
"export QT_PLUGIN_PATH=\"$BASE_DIR\"" + distro.getPluginsOutDir() + ":$QT_PLUGIN_PATH\n"
|
"export QT_PLUGIN_PATH=\"$BASE_DIR\"" + distro.getPluginsOutDir() + ":$QT_PLUGIN_PATH\n"
|
||||||
|
@ -94,7 +94,6 @@ bool Packing::create() {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto exit = QString("exit code = %0").arg(_proc->exitCode());
|
|
||||||
QString stdoutLog = _proc->readAllStandardOutput();
|
QString stdoutLog = _proc->readAllStandardOutput();
|
||||||
QString erroutLog = _proc->readAllStandardError();
|
QString erroutLog = _proc->readAllStandardError();
|
||||||
auto message = QString("message = %0").arg(stdoutLog + " " + erroutLog);
|
auto message = QString("message = %0").arg(stdoutLog + " " + erroutLog);
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
#include <QFileInfo>
|
#include <QFileInfo>
|
||||||
#include <QSet>
|
#include <QSet>
|
||||||
#include <QVector>
|
#include <QVector>
|
||||||
#include <parser-library/parse.h>
|
#include <pe-parse/parse.h>
|
||||||
#include <quasarapp.h>
|
#include <quasarapp.h>
|
||||||
|
|
||||||
#include <set>
|
#include <set>
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<WizardDefaultWidth>640px</WizardDefaultWidth>
|
<WizardDefaultWidth>640px</WizardDefaultWidth>
|
||||||
<WizardDefaultHeight>400px</WizardDefaultHeight>
|
<WizardDefaultHeight>400px</WizardDefaultHeight>
|
||||||
<Name>CQtDeployer</Name>
|
<Name>CQtDeployer</Name>
|
||||||
<Version>1.5.0.23</Version>
|
<Version>1.5.0.24</Version>
|
||||||
<Title>CQtDeployer</Title>
|
<Title>CQtDeployer</Title>
|
||||||
<Publisher>QuasarApp</Publisher>
|
<Publisher>QuasarApp</Publisher>
|
||||||
<StartMenuDir>CQtDeployer</StartMenuDir>
|
<StartMenuDir>CQtDeployer</StartMenuDir>
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<WizardDefaultWidth>640px</WizardDefaultWidth>
|
<WizardDefaultWidth>640px</WizardDefaultWidth>
|
||||||
<WizardDefaultHeight>400px</WizardDefaultHeight>
|
<WizardDefaultHeight>400px</WizardDefaultHeight>
|
||||||
<Name>CQtDeployer</Name>
|
<Name>CQtDeployer</Name>
|
||||||
<Version>1.5.0.23</Version>
|
<Version>1.5.0.24</Version>
|
||||||
<Title>CQtDeployer</Title>
|
<Title>CQtDeployer</Title>
|
||||||
<Publisher>QuasarApp</Publisher>
|
<Publisher>QuasarApp</Publisher>
|
||||||
<StartMenuDir>CQtDeployer</StartMenuDir>
|
<StartMenuDir>CQtDeployer</StartMenuDir>
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<Package>
|
<Package>
|
||||||
<DisplayName>CQtDeployer 1.5 Alpha</DisplayName>
|
<DisplayName>CQtDeployer 1.5 Alpha</DisplayName>
|
||||||
<Description>CQtDeployer 1.5 Alpha. Do not use this version because it is unstable and may lead to unwanted bugs or consequences. Use this version exclusively for testing new functionality.</Description>
|
<Description>CQtDeployer 1.5 Alpha. Do not use this version because it is unstable and may lead to unwanted bugs or consequences. Use this version exclusively for testing new functionality.</Description>
|
||||||
<Version>1.5.0.23</Version>
|
<Version>1.5.0.24</Version>
|
||||||
<Default>true</Default>
|
<Default>true</Default>
|
||||||
<ForcedInstallation>false</ForcedInstallation>
|
<ForcedInstallation>false</ForcedInstallation>
|
||||||
<Script>installscript.js</Script>
|
<Script>installscript.js</Script>
|
||||||
|
@ -18,5 +18,6 @@
|
|||||||
<file>testRes/TestQMLWidgets.sh</file>
|
<file>testRes/TestQMLWidgets.sh</file>
|
||||||
<file>testRes/testMultiPackageConfig.json</file>
|
<file>testRes/testMultiPackageConfig.json</file>
|
||||||
<file>testRes/customRunScript.sh</file>
|
<file>testRes/customRunScript.sh</file>
|
||||||
|
<file>testRes/TestTr.qm</file>
|
||||||
</qresource>
|
</qresource>
|
||||||
</RCC>
|
</RCC>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
BASE_DIR=$(dirname "$(readlink -f "$0")")
|
BASE_DIR=$(dirname "$(readlink -f "$0")")
|
||||||
export LD_LIBRARY_PATH="$BASE_DIR"/lib/:"$BASE_DIR":$LD_LIBRARY_PATH
|
export LD_LIBRARY_PATH="$BASE_DIR"/lib/:"$BASE_DIR":$LD_LIBRARY_PATH:"$BASE_DIR"/lib/systemLibs
|
||||||
export QML_IMPORT_PATH="$BASE_DIR"/q/and/q/:$QML_IMPORT_PATH
|
export QML_IMPORT_PATH="$BASE_DIR"/q/and/q/:$QML_IMPORT_PATH
|
||||||
export QML2_IMPORT_PATH="$BASE_DIR"/q/and/q/:$QML2_IMPORT_PATH
|
export QML2_IMPORT_PATH="$BASE_DIR"/q/and/q/:$QML2_IMPORT_PATH
|
||||||
export QT_PLUGIN_PATH="$BASE_DIR"/plugins/:$QT_PLUGIN_PATH
|
export QT_PLUGIN_PATH="$BASE_DIR"/plugins/:$QT_PLUGIN_PATH
|
||||||
|
1
UnitTests/testRes/TestTr.qm
Executable file
1
UnitTests/testRes/TestTr.qm
Executable file
@ -0,0 +1 @@
|
|||||||
|
TEST TR
|
@ -176,6 +176,7 @@ private slots:
|
|||||||
void testRunScripts();
|
void testRunScripts();
|
||||||
void testGetDefaultTemplate();
|
void testGetDefaultTemplate();
|
||||||
void testDeployGeneralFiles();
|
void testDeployGeneralFiles();
|
||||||
|
void testTr();
|
||||||
|
|
||||||
void customTest();
|
void customTest();
|
||||||
};
|
};
|
||||||
@ -1167,6 +1168,26 @@ void deploytest::testDeployGeneralFiles() {
|
|||||||
}, &comapareTree);
|
}, &comapareTree);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void deploytest::testTr() {
|
||||||
|
TestUtils utils;
|
||||||
|
#ifdef Q_OS_UNIX
|
||||||
|
QString bin = TestBinDir + "QtWidgetsProject";
|
||||||
|
QString qmake = TestQtDir + "bin/qmake";
|
||||||
|
|
||||||
|
#else
|
||||||
|
QString bin = TestBinDir + "QtWidgetsProject.exe";
|
||||||
|
QString qmake = TestQtDir + "bin/qmake.exe";
|
||||||
|
|
||||||
|
#endif
|
||||||
|
auto comapareTree = TestModule.qtLibs();
|
||||||
|
|
||||||
|
comapareTree += utils.createTree({"./" + DISTRO_DIR + "/translations/TestTr.qm"});
|
||||||
|
|
||||||
|
runTestParams({"-bin", bin, "clear" ,
|
||||||
|
"-tr", ":/testResurces/testRes/TestTr.qm",
|
||||||
|
"-qmake", qmake}, &comapareTree);
|
||||||
|
}
|
||||||
|
|
||||||
void deploytest::customTest() {
|
void deploytest::customTest() {
|
||||||
// runTestParams({"-confFile", "path",
|
// runTestParams({"-confFile", "path",
|
||||||
// "qifFromSystem"});
|
// "qifFromSystem"});
|
||||||
@ -2454,8 +2475,8 @@ void deploytest::testSystemLib() {
|
|||||||
"./" + DISTRO_DIR + "/TestOnlyC.sh",
|
"./" + DISTRO_DIR + "/TestOnlyC.sh",
|
||||||
"./" + DISTRO_DIR + "/bin/qt.conf",
|
"./" + DISTRO_DIR + "/bin/qt.conf",
|
||||||
"./" + DISTRO_DIR + "/bin/TestOnlyC",
|
"./" + DISTRO_DIR + "/bin/TestOnlyC",
|
||||||
"./" + DISTRO_DIR + "/lib/libgcc_s.so",
|
"./" + DISTRO_DIR + "/lib/systemLibs/libgcc_s.so",
|
||||||
"./" + DISTRO_DIR + "/lib/libstdc++.so"
|
"./" + DISTRO_DIR + "/lib/systemLibs/libstdc++.so"
|
||||||
});
|
});
|
||||||
|
|
||||||
#else
|
#else
|
||||||
@ -2464,10 +2485,10 @@ void deploytest::testSystemLib() {
|
|||||||
{
|
{
|
||||||
"./" + DISTRO_DIR + "/TestOnlyC.exe",
|
"./" + DISTRO_DIR + "/TestOnlyC.exe",
|
||||||
"./" + DISTRO_DIR + "/TestOnlyC.bat",
|
"./" + DISTRO_DIR + "/TestOnlyC.bat",
|
||||||
"./" + DISTRO_DIR + "/libgcc_s_seh-1.dll",
|
"./" + DISTRO_DIR + "/systemLibs/libgcc_s_seh-1.dll",
|
||||||
"./" + DISTRO_DIR + "/libstdc++-6.dll",
|
"./" + DISTRO_DIR + "/systemLibs/libstdc++-6.dll",
|
||||||
"./" + DISTRO_DIR + "/libwinpthread-1.dll",
|
"./" + DISTRO_DIR + "/systemLibs/libwinpthread-1.dll",
|
||||||
"./" + DISTRO_DIR + "/msvcrt.dll",
|
"./" + DISTRO_DIR + "/systemLibs/msvcrt.dll",
|
||||||
"./" + DISTRO_DIR + "/qt.conf"
|
"./" + DISTRO_DIR + "/qt.conf"
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -2493,12 +2514,12 @@ void deploytest::testSystemLib() {
|
|||||||
"./" + DISTRO_DIR + "/TestOnlyC.sh",
|
"./" + DISTRO_DIR + "/TestOnlyC.sh",
|
||||||
"./" + DISTRO_DIR + "/bin/qt.conf",
|
"./" + DISTRO_DIR + "/bin/qt.conf",
|
||||||
"./" + DISTRO_DIR + "/bin/TestOnlyC",
|
"./" + DISTRO_DIR + "/bin/TestOnlyC",
|
||||||
"./" + DISTRO_DIR + "/lib/libgcc_s.so",
|
"./" + DISTRO_DIR + "/lib/systemLibs/libgcc_s.so",
|
||||||
"./" + DISTRO_DIR + "/lib/ld-linux-x86-64.so",
|
"./" + DISTRO_DIR + "/lib/systemLibs/ld-linux-x86-64.so",
|
||||||
"./" + DISTRO_DIR + "/lib/libc.so",
|
"./" + DISTRO_DIR + "/lib/systemLibs/libc.so",
|
||||||
"./" + DISTRO_DIR + "/lib/libm.so",
|
"./" + DISTRO_DIR + "/lib/systemLibs/libm.so",
|
||||||
|
|
||||||
"./" + DISTRO_DIR + "/lib/libstdc++.so"
|
"./" + DISTRO_DIR + "/lib/systemLibs/libstdc++.so"
|
||||||
});
|
});
|
||||||
|
|
||||||
runTestParams({"-bin", bin, "clear" ,
|
runTestParams({"-bin", bin, "clear" ,
|
||||||
@ -2514,7 +2535,9 @@ void deploytest::testSystemLib() {
|
|||||||
|
|
||||||
QVERIFY(runScript.contains("export LD_PRELOAD="));
|
QVERIFY(runScript.contains("export LD_PRELOAD="));
|
||||||
|
|
||||||
# else
|
#endif
|
||||||
|
|
||||||
|
#ifdef Q_OS_WIN
|
||||||
QString qmake = TestQtDir + "bin/qmake.exe";
|
QString qmake = TestQtDir + "bin/qmake.exe";
|
||||||
bin = TestBinDir + "QtWidgetsProject.exe";
|
bin = TestBinDir + "QtWidgetsProject.exe";
|
||||||
|
|
||||||
@ -2529,24 +2552,24 @@ void deploytest::testSystemLib() {
|
|||||||
|
|
||||||
comapareTree += utils.createTree(
|
comapareTree += utils.createTree(
|
||||||
{
|
{
|
||||||
"./" + DISTRO_DIR + "/libgcc_s_seh-1.dll",
|
"./" + DISTRO_DIR + "/systemLibs/libgcc_s_seh-1.dll",
|
||||||
"./" + DISTRO_DIR + "/libstdc++-6.dll",
|
"./" + DISTRO_DIR + "/systemLibs/libstdc++-6.dll",
|
||||||
"./" + DISTRO_DIR + "/libwinpthread-1.dll",
|
"./" + DISTRO_DIR + "/systemLibs/libwinpthread-1.dll",
|
||||||
"./" + DISTRO_DIR + "/msvcrt.dll",
|
"./" + DISTRO_DIR + "/systemLibs/msvcrt.dll",
|
||||||
"./" + DISTRO_DIR + "/qt.conf",
|
"./" + DISTRO_DIR + "/qt.conf",
|
||||||
"./" + DISTRO_DIR + "/mpr.dll",
|
"./" + DISTRO_DIR + "/systemLibs/mpr.dll",
|
||||||
"./" + DISTRO_DIR + "/profapi.dll",
|
"./" + DISTRO_DIR + "/systemLibs/profapi.dll",
|
||||||
"./" + DISTRO_DIR + "/rpcrt4.dll",
|
"./" + DISTRO_DIR + "/systemLibs/rpcrt4.dll",
|
||||||
"./" + DISTRO_DIR + "/shell32.dll",
|
"./" + DISTRO_DIR + "/systemLibs/shell32.dll",
|
||||||
"./" + DISTRO_DIR + "/userenv.dll",
|
"./" + DISTRO_DIR + "/systemLibs/userenv.dll",
|
||||||
"./" + DISTRO_DIR + "/uxtheme.dll",
|
"./" + DISTRO_DIR + "/systemLibs/uxtheme.dll",
|
||||||
"./" + DISTRO_DIR + "/version.dll",
|
"./" + DISTRO_DIR + "/systemLibs/version.dll",
|
||||||
"./" + DISTRO_DIR + "/ucrtbase.dll",
|
"./" + DISTRO_DIR + "/systemLibs/ucrtbase.dll",
|
||||||
"./" + DISTRO_DIR + "/oleaut32.dll",
|
"./" + DISTRO_DIR + "/systemLibs/oleaut32.dll",
|
||||||
"./" + DISTRO_DIR + "/bcryptprimitives.dll",
|
"./" + DISTRO_DIR + "/systemLibs/bcryptprimitives.dll",
|
||||||
"./" + DISTRO_DIR + "/msvcp_win.dll",
|
"./" + DISTRO_DIR + "/systemLibs/msvcp_win.dll",
|
||||||
"./" + DISTRO_DIR + "/wtsapi32.dll",
|
"./" + DISTRO_DIR + "/systemLibs/wtsapi32.dll",
|
||||||
"./" + DISTRO_DIR + "/combase.dll",
|
"./" + DISTRO_DIR + "/systemLibs/combase.dll",
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -2554,9 +2577,9 @@ void deploytest::testSystemLib() {
|
|||||||
#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
|
#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
|
||||||
comapareTree += utils.createTree(
|
comapareTree += utils.createTree(
|
||||||
{
|
{
|
||||||
"./" + DISTRO_DIR + "/d3d11.dll",
|
"./" + DISTRO_DIR + "/systemLibs/d3d11.dll",
|
||||||
"./" + DISTRO_DIR + "/dxgi.dll",
|
"./" + DISTRO_DIR + "/systemLibs/dxgi.dll",
|
||||||
"./" + DISTRO_DIR + "/win32u.dll",
|
"./" + DISTRO_DIR + "/systemLibs/win32u.dll",
|
||||||
});
|
});
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -87,7 +87,7 @@ cqtdeployer -option1 value1 -option2 list, of, values flag1 flag2 flag3
|
|||||||
|
|
||||||
| Option | Descriptiion |
|
| Option | Descriptiion |
|
||||||
|-----------------------------|-----------------------------------------------------------|
|
|-----------------------------|-----------------------------------------------------------|
|
||||||
| -targetPackage [package;tar1,package;tar2]| Creates a new package and adds 'tar1 and tar2' to it |
|
| -targetPackage [package;tar1,package;tar2]| Creates a new package and adds 'tar1 and tar2' to it |
|
||||||
| -qmlOut [package;path,path] | Sets path to qml out directory |
|
| -qmlOut [package;path,path] | Sets path to qml out directory |
|
||||||
| -libOut [package;path,path] | Sets path to libraries out directory |
|
| -libOut [package;path,path] | Sets path to libraries out directory |
|
||||||
| -trOut [package;path,path] | Sets path to translations out directory |
|
| -trOut [package;path,path] | Sets path to translations out directory |
|
||||||
@ -104,6 +104,8 @@ cqtdeployer -option1 value1 -option2 list, of, values flag1 flag2 flag3
|
|||||||
| -homePage [package;val,val] | Sets the homepage url for a package |
|
| -homePage [package;val,val] | Sets the homepage url for a package |
|
||||||
| -prefix [package;val,val] | Sets the prefix for the package relatively a target directory |
|
| -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.|
|
| -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. |
|
||||||
|
|
||||||
|
|
||||||
### Plugins Controll Options
|
### Plugins Controll Options
|
||||||
|
|
||||||
|
@ -98,6 +98,7 @@ cqtdeployer -option1 value1 -option2 list,of,values flag1 flag2 flag3
|
|||||||
| -homePage [package;val,val] | Установит URL-адрес домашней страницы для пакета |
|
| -homePage [package;val,val] | Установит URL-адрес домашней страницы для пакета |
|
||||||
| -prefix [package;val,val] | Устанавливает префикс для пакета относительно целевого каталога |
|
| -prefix [package;val,val] | Устанавливает префикс для пакета относительно целевого каталога |
|
||||||
| -extraData [package;val,val]| Добавляет дополнительные файлы или каталоги как цель. Выбранный каталог будет скопирован в расположение extraDataOut с сохранением собственной структуры.|
|
| -extraData [package;val,val]| Добавляет дополнительные файлы или каталоги как цель. Выбранный каталог будет скопирован в расположение extraDataOut с сохранением собственной структуры.|
|
||||||
|
| -tr [package;val,val] | Добавляет qm файлы в папку переводов. |
|
||||||
|
|
||||||
### Параметры управления плагинами:
|
### Параметры управления плагинами:
|
||||||
|
|
||||||
|
2
pe
2
pe
@ -1 +1 @@
|
|||||||
Subproject commit 119524770cd85333a3c3daa4f9e58b2ee4067d9e
|
Subproject commit f681c21b7b2c6232b3252a4025a4b94c8d960d65
|
@ -1,5 +1,5 @@
|
|||||||
[Desktop Entry]
|
[Desktop Entry]
|
||||||
Version=1.5.0.23
|
Version=1.5.0.24
|
||||||
Name=CQtDeployer
|
Name=CQtDeployer
|
||||||
Comment=CQtDeployer Help.
|
Comment=CQtDeployer Help.
|
||||||
Exec=cqtdeployer
|
Exec=cqtdeployer
|
||||||
@ -10,6 +10,6 @@ Categories=Application;
|
|||||||
X-GNOME-Bugzilla-Bugzilla=GNOME
|
X-GNOME-Bugzilla-Bugzilla=GNOME
|
||||||
X-GNOME-Bugzilla-Product=CQtDeployer
|
X-GNOME-Bugzilla-Product=CQtDeployer
|
||||||
X-GNOME-Bugzilla-Component=General
|
X-GNOME-Bugzilla-Component=General
|
||||||
X-GNOME-Bugzilla-Version=1.5.0.23
|
X-GNOME-Bugzilla-Version=1.5.0.24
|
||||||
StartupNotify=true
|
StartupNotify=true
|
||||||
Name[ru_RU]=CQtDeployer
|
Name[ru_RU]=CQtDeployer
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
name: cqtdeployer # you probably want to 'snapcraft register <name>'
|
name: cqtdeployer # you probably want to 'snapcraft register <name>'
|
||||||
version: '1.5.0.23' # just for humans, typically '1.2+git' or '1.3.2'
|
version: '1.5.0.24' # just for humans, typically '1.2+git' or '1.3.2'
|
||||||
summary: deploy your qt projects # 79 char long summary
|
summary: deploy your qt projects # 79 char long summary
|
||||||
description: |
|
description: |
|
||||||
Console app for deploy qt libs.
|
Console app for deploy qt libs.
|
||||||
|
10
test.pri
10
test.pri
@ -10,12 +10,14 @@ contains(QMAKE_HOST.os, Linux):{
|
|||||||
DEPLOYER=cqtdeployer
|
DEPLOYER=cqtdeployer
|
||||||
win32:DEPLOYER=$$(cqtdeployer)
|
win32:DEPLOYER=$$(cqtdeployer)
|
||||||
|
|
||||||
|
test.commands =
|
||||||
deployTest.commands = $$DEPLOYER -bin $$exec clear -qmake $$QMAKE_BIN -targetDir $$PWD/deployTests -libDir $$PWD -recursiveDepth 4
|
deployTest.commands = $$DEPLOYER -bin $$exec clear -qmake $$QMAKE_BIN -targetDir $$PWD/deployTests -libDir $$PWD -recursiveDepth 4
|
||||||
|
|
||||||
|
!contains(DEFINES, WITHOUT_TESTS) {
|
||||||
!android:test.depends = deployTest
|
test.depends = deployTest
|
||||||
unix:!android:test.commands = $$PWD/deployTests/UnitTests.sh -maxwarnings 100000
|
unix:test.commands = $$PWD/deployTests/UnitTests.sh -maxwarnings 100000
|
||||||
win32:test.commands = $$PWD/deployTests/UnitTests.exe -maxwarnings 100000 -o buildLog.log
|
win32:test.commands = $$PWD/deployTests/UnitTests.exe -maxwarnings 100000 -o buildLog.log
|
||||||
|
}
|
||||||
|
|
||||||
contains(QMAKE_HOST.os, Linux):{
|
contains(QMAKE_HOST.os, Linux):{
|
||||||
win32:test.commands =
|
win32:test.commands =
|
||||||
|
Loading…
x
Reference in New Issue
Block a user