mirror of
https://github.com/QuasarApp/CQtDeployer.git
synced 2025-04-26 17:54:32 +00:00
162 lines
4.0 KiB
C++
162 lines
4.0 KiB
C++
/*
|
|
* Copyright (C) 2018-2021 QuasarApp.
|
|
* Distributed under the lgplv3 software license, see the accompanying
|
|
* Everyone is permitted to copy and distribute verbatim copies
|
|
* of this license document, but changing it is not allowed.
|
|
*/
|
|
|
|
#ifndef DEPLOYCONFIG_H
|
|
#define DEPLOYCONFIG_H
|
|
#include "deploy_global.h"
|
|
|
|
#include "distromodule.h"
|
|
#include "extra.h"
|
|
#include "ignorerule.h"
|
|
#include "qtdir.h"
|
|
#include "targetinfo.h"
|
|
|
|
class DEPLOYSHARED_EXPORT DeployConfig {
|
|
|
|
public:
|
|
/**
|
|
* @brief depchLimit - recursive search limit
|
|
*/
|
|
int depchLimit = 0;
|
|
|
|
/**
|
|
* @brief deployQml - enable or disable deploing of qml files.
|
|
*/
|
|
bool deployQml = false;
|
|
|
|
/**
|
|
* @brief ignoreList - list with ignore files
|
|
*/
|
|
IgnoreRule ignoreList;
|
|
|
|
/**
|
|
* @brief appDir - it is cqtdeployer library location for ignre cqtdeployr libraries
|
|
*/
|
|
QString appDir;
|
|
|
|
/**
|
|
* @brief qtDir - conteins all qt pathes
|
|
*/
|
|
QtDir qtDir;
|
|
|
|
/**
|
|
* @brief extraPaths - it is list with filters for extra pathes, files or libraries
|
|
*/
|
|
Extra extraPaths;
|
|
|
|
/**
|
|
* @brief allowedPaths - it is list with filters for allowed pathes, files or libraries
|
|
*/
|
|
Extra allowedPaths;
|
|
|
|
/**
|
|
* @brief envirement - envirement for find libraries
|
|
*/
|
|
Envirement envirement;
|
|
|
|
/**
|
|
* @brief reset config file to default
|
|
*/
|
|
void reset();
|
|
QHash<QString, TargetInfo *> getTargetsListByFilter(const QString& filter);
|
|
|
|
/**
|
|
* @brief targetPath
|
|
* @param target
|
|
* @return path to deployement root dir of target.
|
|
* If target value well be empty then return main root of all targets.
|
|
*/
|
|
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
|
|
* @param target
|
|
*/
|
|
void setTargetDir(const QString& target);
|
|
|
|
/**
|
|
* @brief getDistro
|
|
* @param target
|
|
* @return
|
|
*/
|
|
DistroModule getDistro(const QString& target) const;
|
|
|
|
/**
|
|
* @brief getDistroFromPackage
|
|
* @param package
|
|
* @return distro struct from package
|
|
*/
|
|
DistroModule getDistroFromPackage(const QString& package) const;
|
|
|
|
const QHash<QString, TargetInfo>& targets() const;
|
|
const QHash<QString, DistroModule>& packages() const;
|
|
|
|
QHash<QString, TargetInfo> &targetsEdit();
|
|
QHash<QString, DistroModule>& packagesEdit();
|
|
|
|
/**
|
|
* @brief getPlatform This method return a platform of distribution.
|
|
* If you set a pacakge name then this method return platform of package.
|
|
* @param package This is name of pacakge. Set this parameter to empty string for get a distribution of all pacakges.
|
|
* @return platform of distribution.
|
|
*/
|
|
Platform getPlatform(const QString& package) const;
|
|
|
|
/**
|
|
* @brief getPlatformOfAll This method return paltform of all targets of distributuon.
|
|
* @return platform of all targets.
|
|
*/
|
|
Platform getPlatformOfAll() const;
|
|
|
|
QString getDefaultPackage() const;
|
|
void setDefaultPackage(const QString &value);
|
|
|
|
void registerRunScript(const QString& targetName, const QString& scriptPath);
|
|
QString getRunScript(const QString& targetName) const;
|
|
|
|
private:
|
|
|
|
/**
|
|
* @brief targets
|
|
* key - path
|
|
* value - create wrapper
|
|
*/
|
|
QHash<QString, TargetInfo> _targets;
|
|
|
|
/**
|
|
* @brief packages
|
|
* key - package
|
|
* value struvture of package
|
|
* default package is empty value
|
|
*/
|
|
QHash<QString, DistroModule> _packages;
|
|
|
|
/**
|
|
* @brief _runScripts
|
|
* target - pathToScript
|
|
*/
|
|
QHash<QString, QString> _runScripts;
|
|
|
|
/**
|
|
* @brief targetDir - targe directory (this folder conteins all files of distrebution kit)
|
|
*/
|
|
QString targetDir = "";
|
|
QString defaultPackage = "";
|
|
|
|
|
|
};
|
|
|
|
|
|
#endif // DEPLOYCONFIG_H
|