Skip to content

Commit 720f53d

Browse files
committed
Ignore unresolved root project on console request.
1 parent b44ea30 commit 720f53d

1 file changed

Lines changed: 19 additions & 4 deletions

File tree

src/common/resolver.cpp

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -653,12 +653,27 @@ Resolver::Dependencies getDependenciesFromRemote(const Packages &deps, const Rem
653653
d2.erase(d.second.ppath);
654654
if (!d2.empty())
655655
{
656-
for (auto &d : d2)
656+
// probably we have only root or dir dependency left
657+
// that is called from command line
658+
bool ok = false;
659+
if (d2.size() == 1 &&
660+
std::any_of(id_deps.begin(), id_deps.end(), [&d2](const auto &e) {
661+
return d2.begin()->second.ppath.is_root_of(e.second.ppath);
662+
}))
657663
{
658-
d.second.createNames();
659-
LOG_FATAL(logger, "Unresolved package or its dependencies: " + d.second.target_name);
664+
LOG_WARN(logger, "Skipping unresolved project: " + d2.begin()->second.target_name + ". Probably this is intended");
665+
ok = true;
666+
}
667+
668+
if (!ok)
669+
{
670+
for (auto &d : d2)
671+
{
672+
d.second.createNames();
673+
LOG_FATAL(logger, "Unresolved package or its dependencies: " + d.second.target_name);
674+
}
675+
throw std::runtime_error("Some packages (" + std::to_string(d2.size()) + ") are unresolved");
660676
}
661-
throw std::runtime_error("Some packages (" + std::to_string(d2.size()) + ") are unresolved");
662677
}
663678

664679
return prepareIdDependencies(id_deps, current_remote);

0 commit comments

Comments
 (0)