فهرست منبع

LibCore+LibGUI: Define a Serenity version in LibCore

Before, `AboutDialog` and `ArgsParser` read from a build-time created
file called `/res/version.ini`. This caused problems with utilities
unveiling specific paths leaving the version file unaccessible.

This commit hard-codes a serenity version in `LibCore`, and use it in
`ArgsParser` and `AboutDialog`.

The previous version contained the hash of the last GIT commit, this is
omitted for the default use for the sake of simplicity.
Mahmoud Mandour 3 سال پیش
والد
کامیت
ad80d4dce0
3فایلهای تغییر یافته به همراه19 افزوده شده و 21 حذف شده
  1. 2 11
      Userland/Libraries/LibCore/ArgsParser.cpp
  2. 15 0
      Userland/Libraries/LibCore/Version.h
  3. 2 10
      Userland/Libraries/LibGUI/AboutDialog.cpp

+ 2 - 11
Userland/Libraries/LibCore/ArgsParser.cpp

@@ -7,7 +7,7 @@
 #include <AK/Format.h>
 #include <AK/StringBuilder.h>
 #include <LibCore/ArgsParser.h>
-#include <LibCore/ConfigFile.h>
+#include <LibCore/Version.h>
 #include <getopt.h>
 #include <limits.h>
 #include <math.h>
@@ -245,16 +245,7 @@ void ArgsParser::print_usage(FILE* file, const char* argv0)
 
 void ArgsParser::print_version(FILE* file)
 {
-    auto version_config = Core::ConfigFile::open("/res/version.ini");
-    auto major_version = version_config->read_entry("Version", "Major", "0");
-    auto minor_version = version_config->read_entry("Version", "Minor", "0");
-
-    StringBuilder builder;
-    builder.appendff("{}.{}", major_version, minor_version);
-    if (auto git_version = version_config->read_entry("Version", "Git", ""); git_version != "")
-        builder.appendff(".g{}", git_version);
-
-    outln(file, builder.to_string());
+    outln(file, Core::Version::SERENITY_VERSION);
 }
 
 void ArgsParser::add_option(Option&& option)

+ 15 - 0
Userland/Libraries/LibCore/Version.h

@@ -0,0 +1,15 @@
+/*
+ * Copyright (c) 2021, Mahmoud Mandour <ma.mandourr@gmail.com>
+ *
+ * SPDX-License-Identifier: BSD-2-Clause
+ */
+
+#pragma once
+
+#include <AK/StringView.h>
+
+namespace Core::Version {
+
+constexpr StringView SERENITY_VERSION = "Version 1.0"sv;
+
+}

+ 2 - 10
Userland/Libraries/LibGUI/AboutDialog.cpp

@@ -5,7 +5,7 @@
  */
 
 #include <AK/StringBuilder.h>
-#include <LibCore/ConfigFile.h>
+#include <LibCore/Version.h>
 #include <LibGUI/AboutDialog.h>
 #include <LibGUI/BoxLayout.h>
 #include <LibGUI/Button.h>
@@ -92,15 +92,7 @@ AboutDialog::~AboutDialog()
 
 String AboutDialog::version_string() const
 {
-    auto version_config = Core::ConfigFile::open("/res/version.ini");
-    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();
+    return Core::Version::SERENITY_VERSION;
 }
 
 }