#ifndef BUILD_SCRIPT_APP #define BUILD_SCRIPT_APP #include #include #include "args.h" #include "logging.h" #include "taskflow/core/executor.hpp" #include "taskflow/core/taskflow.hpp" #include "types.h" class Application { public: Application(Options options); void assemble(); void save_graph(std::string filename); void run(); private: bool m_DryRun; bool m_Verbose; BuildType m_BuildType; Command m_Command; tf::Taskflow m_Taskflow; void createAllLoggers(); void buildProject(); void configureProject(); void cleanProject(); void deleteProject(); void rebuildProject(); void deleteDir(const std::filesystem::path& path); void createDir(const std::filesystem::path& path); void checkDir(std::string path); void checkBuildDirs(); int runCmd(std::string cmd); void buildDir(const std::filesystem::path& path); void configureDir(const std::filesystem::path& path, std::string buildStr); void cleanDir(const std::filesystem::path& path); }; #endif // !BUILD_SCRIPT_APP