CQtDeployer/Deploy/deploy.cpp
2019-09-16 10:56:22 +03:00

71 lines
1.3 KiB
C++

/*
* Copyright (C) 2018-2019 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.
*/
#include "configparser.h"
#include "deploy.h"
#include "extracter.h"
#include "filemanager.h"
#include <quasarapp.h>
Deploy::Deploy() {
_fileManager = new FileManager();
_paramsParser = new ConfigParser(_fileManager);
}
int Deploy::run() {
if (!prepare()) {
return 1;
}
return deploy();
}
Deploy::~Deploy() {
if (_extracter) {
delete _extracter;
}
if (_paramsParser) {
delete _paramsParser;
}
if (_fileManager) {
delete _fileManager;
}
}
bool Deploy::prepare() {
if ( !_paramsParser->parseParams()) {
return false;
}
_extracter = new Extracter(_fileManager, _paramsParser);
return true;
}
int Deploy::deploy() {
_fileManager->loadDeployemendFiles(_paramsParser->config()->targetDir);
switch (DeployCore::getMode() ) {
case RunMode::Deploy:
_extracter->deploy();
break;
case RunMode::Clear:
_extracter->clear();
break;
default:
break;
}
_fileManager->saveDeploymendFiles(_paramsParser->config()->targetDir);
return 0;
}