From c78cdd3da99804732de57a8f41852b041f0cb359 Mon Sep 17 00:00:00 2001 From: "David J. Allen" Date: Sun, 18 Aug 2024 13:42:02 -0600 Subject: [PATCH] Added ignore_validation flag check and CLI argument --- src/package_manager.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/package_manager.cpp b/src/package_manager.cpp index 924ff03..2713bd7 100644 --- a/src/package_manager.cpp +++ b/src/package_manager.cpp @@ -147,6 +147,13 @@ namespace gdpm::package_manager{ .help("set verbosity level") .nargs(nargs_pattern::optional); + program.add_argument("--ignore-validation") + .action([&](const auto&){ config.ignore_validation = true; }) + .default_value(false) + .implicit_value(true) + .help("ignore checking if current directory is a Godot project") + .nargs(0); + install_command.add_description("install package(s)"); install_command.add_argument("packages") .required() @@ -409,6 +416,13 @@ namespace gdpm::package_manager{ return log::error_rc(ec::ARGPARSE_ERROR, e.what()); } + /* Check if we're running in a directory with 'project.godot' file */ + if (!config.ignore_validation) { + if(!std::filesystem::exists("project.godot")){ + return error(ec::FILE_NOT_FOUND, "no 'project.godot' file found in current directory"); + } + } + if(program.is_subcommand_used(install_command)){ action = action_e::install; // if(install_command.is_used("packages"))