55 lines
1.5 KiB
C++
55 lines
1.5 KiB
C++
#include <string>
|
|
|
|
#include "collection.h"
|
|
#include "taskmanager.h"
|
|
#include "loggger.h"
|
|
|
|
int main(int argc, char *argv[]) {
|
|
std::string firstArg;
|
|
std::string secondArg;
|
|
std::string thirdArg;
|
|
if (argc > 1)
|
|
firstArg = argv[1];
|
|
else
|
|
firstArg = "./";
|
|
|
|
if (argc > 2)
|
|
secondArg = argv[2];
|
|
else
|
|
secondArg = "./";
|
|
|
|
if (argc > 3)
|
|
thirdArg = argv[3];
|
|
else
|
|
thirdArg = "";
|
|
|
|
|
|
std::shared_ptr<Logger> logger = std::make_shared<Logger>(Logger::Severity::info);
|
|
std::shared_ptr<TaskManager> taskManager = std::make_shared<TaskManager>(logger);
|
|
std::shared_ptr<Collection> collection = std::make_shared<Collection>(
|
|
firstArg,
|
|
secondArg,
|
|
thirdArg,
|
|
logger,
|
|
taskManager
|
|
);
|
|
|
|
taskManager->start();
|
|
taskManager->wait();
|
|
taskManager->stop();
|
|
|
|
if (collection->success()) {
|
|
logger->log(Logger::Severity::info, "Successfully built " + firstArg);
|
|
return 0;
|
|
} else {
|
|
logger->log(Logger::Severity::error, "Failed to build " + firstArg);
|
|
logger->log(Logger::Severity::info, "Success: " + std::to_string(collection->sourcesSuccess()));
|
|
logger->log(Logger::Severity::info, "Failed: " + std::to_string(collection->sourcesError()));
|
|
logger->log(Logger::Severity::info, "Unfinished: " + std::to_string(collection->sourcesPending()));
|
|
logger->log(Logger::Severity::info, "Total: " + std::to_string(collection->sourcesTotal()));
|
|
return -1;
|
|
}
|
|
|
|
return -2;
|
|
}
|