aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/src/commands_build.cpp
diff options
context:
space:
mode:
authorDaniel Shaw <t-dansha@microsoft.com>2017-06-05 15:58:47 -0700
committerDaniel Shaw <t-dansha@microsoft.com>2017-06-06 14:02:59 -0700
commit264cd050e6280e5b87ec055e0a9d8985a7ba30b3 (patch)
treef508fa927970257011747643f893b182691dac1e /toolsrc/src/commands_build.cpp
parent7b4d83c444b0e7fee241ed293614efca17c67201 (diff)
downloadvcpkg-264cd050e6280e5b87ec055e0a9d8985a7ba30b3.tar.gz
vcpkg-264cd050e6280e5b87ec055e0a9d8985a7ba30b3.zip
ExpectedT factory class
Diffstat (limited to 'toolsrc/src/commands_build.cpp')
-rw-r--r--toolsrc/src/commands_build.cpp17
1 files changed, 10 insertions, 7 deletions
diff --git a/toolsrc/src/commands_build.cpp b/toolsrc/src/commands_build.cpp
index ec6586fa3..4a0cee021 100644
--- a/toolsrc/src/commands_build.cpp
+++ b/toolsrc/src/commands_build.cpp
@@ -33,13 +33,16 @@ namespace vcpkg::Commands::BuildCommand
Checks::exit_success(VCPKG_LINE_INFO);
}
- const Expected<SourceParagraph> maybe_spgh = Paragraphs::try_load_port(paths.get_filesystem(), port_dir);
- Checks::check_exit(VCPKG_LINE_INFO,
- !maybe_spgh.error_code(),
- "Could not find package %s: %s",
- spec,
- maybe_spgh.error_code().message());
- const SourceParagraph& spgh = *maybe_spgh.get();
+ const ExpectedT<SourceParagraph, ParseControlErrorInfo> maybe_spgh =
+ Paragraphs::try_load_port(paths.get_filesystem(), port_dir);
+ // why do we add a const here
+ if (!maybe_spgh)
+ {
+ print_error_message(maybe_spgh.error());
+ Checks::exit_fail(VCPKG_LINE_INFO);
+ }
+
+ const SourceParagraph& spgh = maybe_spgh.value_or_exit(VCPKG_LINE_INFO);
Checks::check_exit(VCPKG_LINE_INFO,
spec.name() == spgh.name,
"The Name: field inside the CONTROL does not match the port directory: '%s' != '%s'",