From b119e2e741dc82bca93374df7c5e4cd4b6468bc1 Mon Sep 17 00:00:00 2001 From: Amlal Date: Tue, 18 Feb 2025 17:03:17 +0100 Subject: ADD: Refactor make_app command line to work with NeOS, like the open command. --- public/apps/.keepme | 0 public/tools/make_app/Common.h | 11 ++----- public/tools/make_app/Steps.h | 10 +++--- public/tools/make_app/src/CommandLine.cc | 56 +++++++++++++++----------------- 4 files changed, 33 insertions(+), 44 deletions(-) create mode 100644 public/apps/.keepme (limited to 'public') diff --git a/public/apps/.keepme b/public/apps/.keepme new file mode 100644 index 00000000..e69de29b diff --git a/public/tools/make_app/Common.h b/public/tools/make_app/Common.h index 7dead76c..2df215f3 100644 --- a/public/tools/make_app/Common.h +++ b/public/tools/make_app/Common.h @@ -6,14 +6,7 @@ #ifndef APPS_COMMON_H #define APPS_COMMON_H -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include #endif // APPS_COMMON_H diff --git a/public/tools/make_app/Steps.h b/public/tools/make_app/Steps.h index b742724d..29fd19aa 100644 --- a/public/tools/make_app/Steps.h +++ b/public/tools/make_app/Steps.h @@ -13,11 +13,11 @@ struct StepsCommonRecord final { - char setup_name[255]; - char setup_company[255]; - char setup_author[255]; - int32_t setup_version; - int32_t setup_pages; + char setup_name[255]; + char setup_company[255]; + char setup_author[255]; + SInt32 setup_version; + SInt32 setup_pages; }; #endif // ifndef APPS_STEPS_H \ No newline at end of file diff --git a/public/tools/make_app/src/CommandLine.cc b/public/tools/make_app/src/CommandLine.cc index 3339bfe3..1858303b 100644 --- a/public/tools/make_app/src/CommandLine.cc +++ b/public/tools/make_app/src/CommandLine.cc @@ -7,70 +7,66 @@ #include #include +#include + /// @brief This program makes a framework directory for NeKernel OS. int main(int argc, char* argv[]) { - std::vector files; + LibCF::CFArray files; auto ext = kFKExtension; - for (size_t i = 2UL; i < argc; ++i) + for (SizeT i = 2UL; i < argc; ++i) { - if (strcmp(argv[i], "-h") == 0) + if (MmStrCmp(argv[i], "-h") == 0) { - std::cout << "make_app: Framework/Application Creation Tool.\n"; - std::cout << "make_app: © Amlal EL Mahrouss, All rights reserved.\n"; + MsgAlloc(kAlertMsg); + + MsgSend(kAlertMsg, "%s", "make_app: Framework/Application Creation Tool.\n"); + MsgSend(kAlertMsg, "%s", "make_app: © Amlal EL Mahrouss, All rights reserved.\n"); + + MsgSend(kAlertMsg, "%s", "make_app: -a: Application format.\n"); + MsgSend(kAlertMsg, "%s", "make_app: -s: Steps (Setup pages) format.\n"); + MsgSend(kAlertMsg, "%s", "make_app: -f: Framework format.\n"); - std::cout << "make_app: -a: Application format.\n"; - std::cout << "make_app: -s: Steps (Setup pages) format.\n"; - std::cout << "make_app: -f: Framework format.\n"; + MsgShow(kAlertMsg); + MsgFree(kAlertMsg); return EXIT_SUCCESS; } - if (strcmp(argv[i], "-a") == 0) + if (MmStrCmp(argv[i], "-a") == 0) { ext = kAppExtension; continue; } - else if (strcmp(argv[i], "-s") == 0) + else if (MmStrCmp(argv[i], "-s") == 0) { ext = kStepsExtension; continue; } - else if (strcmp(argv[i], "-f") == 0) + else if (MmStrCmp(argv[i], "-f") == 0) { ext = kFKExtension; continue; } - files.push_back(argv[i]); + files[i] = argv[i]; } - auto path = std::string(argv[1]); + auto path = argv[1]; - if (!std::filesystem::exists(path)) - return EXIT_FAILURE; - - std::filesystem::path path_arg = path + ext; - - if (std::filesystem::create_directory(path_arg)) + if (FsCreateDir(path)) { - std::filesystem::create_directory(path_arg / kRootDirectory); - std::filesystem::create_directory(path_arg / kExecDirectory); + FsCreateDir(StrFmt("{}{}", path, kRootDirectory)); + FsCreateDir(StrFmt("{}{}", path, kExecDirectory)); - for (auto& file : files) + for (SInt32 i = 0; i < files.Count(); ++i) { - std::string file_cpy = file; - - while (file_cpy.find("/") != std::string::npos) - { - file_cpy.erase(0, file_cpy.find("/")); - file_cpy.erase(file_cpy.find("/"), 1); - } + auto& file = files[i]; - std::filesystem::copy(path, path_arg / kExecDirectory / file_cpy); + FsCopy(path, StrFmt("{}{}", path, file)); } return EXIT_SUCCESS; -- cgit v1.2.3