#include #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 = std::make_shared(Logger::Severity::info); std::shared_ptr taskManager = std::make_shared(logger); std::shared_ptr collection = std::make_shared( 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; }