ladybird/Userland/Libraries/LibCore/Version.cpp
Sam Atkins 8260135d4d LibCore+Everywhere: Return ErrorOr from ConfigFile factory methods
I've attempted to handle the errors gracefully where it was clear how to
do so, and simple, but a lot of this was just adding
`release_value_but_fixme_should_propagate_errors()` in places.
2022-02-16 19:49:41 -05:00

25 lines
793 B
C++

/*
* Copyright (c) 2021, Mahmoud Mandour <ma.mandourr@gmail.com>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#include <LibCore/ConfigFile.h>
#include <LibCore/Version.h>
namespace Core::Version {
String read_long_version_string()
{
auto version_config = Core::ConfigFile::open("/res/version.ini").release_value_but_fixme_should_propagate_errors();
auto major_version = version_config->read_entry("Version", "Major", "0");
auto minor_version = version_config->read_entry("Version", "Minor", "0");
StringBuilder builder;
builder.appendff("Version {}.{}", major_version, minor_version);
if (auto git_version = version_config->read_entry("Version", "Git", ""); git_version != "")
builder.appendff(".g{}", git_version);
return builder.to_string();
}
}