summaryrefslogtreecommitdiff
path: root/src/buildtool/main
diff options
context:
space:
mode:
authorMaksim Denisov <denisov.maksim@huawei.com>2024-12-05 17:12:58 +0100
committerMaksim Denisov <denisov.maksim@huawei.com>2024-12-09 13:01:58 +0100
commita395bf245975348fb8f5407ae1f19893090b92d0 (patch)
treef58fc3c4257da94a374aa557f18b2deff01f0fb9 /src/buildtool/main
parentc60468fed42df70e4897d9144a89db55ffbf9af3 (diff)
downloadjustbuild-a395bf245975348fb8f5407ae1f19893090b92d0.tar.gz
Use expected to return an error from ParseRoot
Diffstat (limited to 'src/buildtool/main')
-rw-r--r--src/buildtool/main/main.cpp21
1 files changed, 10 insertions, 11 deletions
diff --git a/src/buildtool/main/main.cpp b/src/buildtool/main/main.cpp
index 6a37feec..629d2d78 100644
--- a/src/buildtool/main/main.cpp
+++ b/src/buildtool/main/main.cpp
@@ -556,16 +556,16 @@ auto DetermineRoots(gsl::not_null<RepositoryConfig*> const& repository_config,
bool const is_main_repo{repo == main_repo};
auto it_ws = desc.find("workspace_root");
if (it_ws != desc.end()) {
- std::string error_msg;
- if (auto parsed_root = FileRoot::ParseRoot(
- repo, "workspace_root", *it_ws, &error_msg)) {
- ws_root = std::move(parsed_root->first);
- if (is_main_repo and parsed_root->second.has_value()) {
- main_ws_root = std::move(parsed_root->second);
+ if (auto parsed_root =
+ FileRoot::ParseRoot(repo, "workspace_root", *it_ws)) {
+ auto result = *std::move(parsed_root);
+ ws_root = std::move(result.first);
+ if (is_main_repo and result.second.has_value()) {
+ main_ws_root = std::move(result.second);
}
}
else {
- Logger::Log(LogLevel::Error, error_msg);
+ Logger::Log(LogLevel::Error, parsed_root.error());
std::exit(kExitFailure);
}
}
@@ -595,13 +595,12 @@ auto DetermineRoots(gsl::not_null<RepositoryConfig*> const& repository_config,
auto const& keyword_carg) {
auto it = desc.find(keyword);
if (it != desc.end()) {
- std::string error_msg;
if (auto parsed_root =
- FileRoot::ParseRoot(repo, keyword, *it, &error_msg)) {
- (*keyword_root) = parsed_root->first;
+ FileRoot::ParseRoot(repo, keyword, *it)) {
+ (*keyword_root) = std::move(parsed_root)->first;
}
else {
- Logger::Log(LogLevel::Error, error_msg);
+ Logger::Log(LogLevel::Error, parsed_root.error());
std::exit(kExitFailure);
}
}