Added CI script, updated dependencies, and fixed bugs

-Added CI yaml file for workflows
-Added `doctest` as dependency
-Added test target executable to CMakeLists.txt
-Renamed `bin` scripts to remove `gdpm*` prefix
-Updated `SQLite 3` dependency in CMakeLists.txt
-Implement basic unit testing in `tests/basic.cpp`
-Fixed issue with handling `fmt` strings
This commit is contained in:
David Allen 2023-01-04 20:49:00 -06:00
parent e36f0aee79
commit e048a762b2
22 changed files with 169 additions and 38 deletions

View file

@ -33,7 +33,7 @@ namespace gdpm::package_manager{
std::vector<std::string> repo_sources;
CURL *curl;
CURLcode res;
config::config_context config;
config::context config;
rest_api::rest_api_context params;
command_e command;
std::vector<std::string> packages;
@ -67,6 +67,7 @@ namespace gdpm::package_manager{
return 0;
}
int execute(){
run_command(command, packages, opts);
if(clean_tmp_dir)
@ -118,8 +119,10 @@ namespace gdpm::package_manager{
}
log::println("Packages to install: ");
for(const auto& p : p_found)
for(const auto& p : p_found){
std::string output((p.is_installed) ? p.title + " (reinstall)" : p.title);
log::print(" {} ", (p.is_installed) ? p.title + " (reinstall)" : p.title);
}
log::println("");
if(!skip_prompt){
@ -566,7 +569,7 @@ namespace gdpm::package_manager{
/* Parse command-line arguments using cxxopts */
cxxopts::Options options(
argv[0],
"Experimental package manager made for managing assets for the Godot game engine.\n"
"Experimental package manager made for managing assets for the Godot game engine through the command-line.\n"
);
options.allow_unrecognised_options();
options.custom_help("[COMMAND] [OPTIONS...]");
@ -879,4 +882,6 @@ namespace gdpm::package_manager{
return cache::get_package_info_by_title(package_titles);
}
} // namespace gdpm::package_manager
} // namespace gdpm::package_manager