| 27 | #include <unordered_map> |
| 28 | |
| 29 | struct ProjectInfo { |
| 30 | std::string name; |
| 31 | std::string source_path; |
| 32 | // std::string description; |
| 33 | // std::string version_info; |
| 34 | // std::string repo_url; //may contains tags; |
| 35 | std::string revision; |
| 36 | |
| 37 | std::string external_root_url; |
| 38 | |
| 39 | //TODO |
| 40 | std::string fileRepoUrl(const std::string &file) const { return {}; } |
| 41 | enum Type { Normal, |
| 42 | Internal, //includes and stuffs |
| 43 | External, //links to external projects somewhere else, do not generate refs or anything, |
| 44 | // and link to a different ref source |
| 45 | } type = Normal; |
| 46 | |
| 47 | ProjectInfo(std::string name, std::string source_path, Type t = Normal) |
| 48 | : name(std::move(name)), source_path(std::move(source_path)), type(t) {} |
| 49 | ProjectInfo(std::string name, std::string source_path, std::string rev) |
| 50 | : name(std::move(name)), source_path(std::move(source_path)), revision(std::move(rev)) {} |
| 51 | }; |
| 52 | |
| 53 | |
| 54 | struct ProjectManager { |
nothing calls this directly
no outgoing calls
no test coverage detected