2023-08-30 20:54:59 +00:00
|
|
|
#include <string>
|
|
|
|
|
2023-09-27 23:30:57 +00:00
|
|
|
#include "collection.h"
|
|
|
|
#include "taskmanager.h"
|
|
|
|
#include "loggger.h"
|
2023-08-27 17:55:04 +00:00
|
|
|
|
|
|
|
int main(int argc, char *argv[]) {
|
2023-08-30 20:54:59 +00:00
|
|
|
std::string firstArg;
|
2023-09-01 21:39:24 +00:00
|
|
|
std::string secondArg;
|
2023-10-02 17:19:24 +00:00
|
|
|
std::string thirdArg;
|
2023-08-30 20:54:59 +00:00
|
|
|
if (argc > 1)
|
|
|
|
firstArg = argv[1];
|
|
|
|
else
|
|
|
|
firstArg = "./";
|
|
|
|
|
2023-09-01 21:39:24 +00:00
|
|
|
if (argc > 2)
|
|
|
|
secondArg = argv[2];
|
|
|
|
else
|
|
|
|
secondArg = "./";
|
|
|
|
|
2023-10-02 17:19:24 +00:00
|
|
|
if (argc > 3)
|
|
|
|
thirdArg = argv[3];
|
|
|
|
else
|
|
|
|
thirdArg = "";
|
|
|
|
|
2023-08-30 20:54:59 +00:00
|
|
|
|
2023-10-02 17:19:24 +00:00
|
|
|
std::shared_ptr<Logger> logger = std::make_shared<Logger>(Logger::Severity::info);
|
2023-09-28 19:43:35 +00:00
|
|
|
std::shared_ptr<TaskManager> taskManager = std::make_shared<TaskManager>(logger);
|
2023-09-29 21:09:09 +00:00
|
|
|
std::shared_ptr<Collection> collection = std::make_shared<Collection>(
|
|
|
|
firstArg,
|
|
|
|
secondArg,
|
2023-10-02 17:19:24 +00:00
|
|
|
thirdArg,
|
2023-09-29 21:09:09 +00:00
|
|
|
logger,
|
|
|
|
taskManager
|
|
|
|
);
|
2023-08-30 20:54:59 +00:00
|
|
|
|
2023-09-27 23:30:57 +00:00
|
|
|
taskManager->start();
|
|
|
|
taskManager->wait();
|
|
|
|
taskManager->stop();
|
2023-09-01 21:39:24 +00:00
|
|
|
|
2023-09-30 20:13:44 +00:00
|
|
|
if (collection->success()) {
|
2023-09-29 21:09:09 +00:00
|
|
|
logger->log(Logger::Severity::info, "Successfully built " + firstArg);
|
|
|
|
return 0;
|
|
|
|
} else {
|
|
|
|
logger->log(Logger::Severity::error, "Failed to build " + firstArg);
|
2023-09-30 20:13:44 +00:00
|
|
|
logger->log(Logger::Severity::info, "Success: " + std::to_string(collection->sourcesSuccess()));
|
2023-09-29 21:09:09 +00:00
|
|
|
logger->log(Logger::Severity::info, "Failed: " + std::to_string(collection->sourcesError()));
|
|
|
|
logger->log(Logger::Severity::info, "Unfinished: " + std::to_string(collection->sourcesPending()));
|
2023-09-30 20:13:44 +00:00
|
|
|
logger->log(Logger::Severity::info, "Total: " + std::to_string(collection->sourcesTotal()));
|
2023-09-29 21:09:09 +00:00
|
|
|
return -1;
|
|
|
|
}
|
|
|
|
|
|
|
|
return -2;
|
2023-08-27 17:55:04 +00:00
|
|
|
}
|