本文整理汇总了C++中Workspace::getPackages方法的典型用法代码示例。如果您正苦于以下问题:C++ Workspace::getPackages方法的具体用法?C++ Workspace::getPackages怎么用?C++ Workspace::getPackages使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Workspace
的用法示例。
在下文中一共展示了Workspace::getPackages方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: cleanAll
void cleanAll() {
utils::rm("./build", true, true);
utils::mkdir("./build");
utils::rm(".busy", true, true);
std::cout << "clean all done" << std::endl;
// ignore exceptions
try {
Workspace ws;
auto validPackages = ws.getPackages();
auto allDepPackages = validPackages.begin()->getAllDependendPackages();
std::vector<Package const*> noDepPackage;
for (auto const& p : validPackages) {
auto iter = std::find_if(allDepPackages.begin(), allDepPackages.end(), [&](Package const* p2) {
return p.getName() == p2->getName();
});
if (iter == allDepPackages.end()) {
noDepPackage.push_back(&p);
}
}
if (noDepPackage.size() > 0) {
std::cout << "\n" << TERM_RED << "Packages is not used or referenced:\n" << TERM_RESET;
std::string paths;
for (auto p : noDepPackage) {
std::cout << " - " << p->getName() << "\n";
paths += " " + p->getPath();
}
std::cout << "you might want to run\n";
std::cout << TERM_GREEN" rm -rf " << paths << TERM_RESET"\n";
}
} catch (...) {}
}