Engine versioning.

This commit is contained in:
Pieter-Jan Briers
2020-12-16 23:53:51 +01:00
parent 78ceaa50d5
commit 5bb21e07de
3 changed files with 32 additions and 55 deletions

View File

@@ -83,32 +83,29 @@ namespace Robust.Server.ServerStatus
return true;
}
var downloadUrlWindows = _configurationManager.GetCVar(CVars.BuildDownloadUrlWindows);
var downloadUrl = _configurationManager.GetCVar(CVars.BuildDownloadUrl);
JObject? buildInfo;
if (string.IsNullOrEmpty(downloadUrlWindows))
if (string.IsNullOrEmpty(downloadUrl))
{
buildInfo = null;
}
else
{
var hash = _configurationManager.GetCVar(CVars.BuildHash);
if (hash == "")
{
hash = null;
}
buildInfo = new JObject
{
["download_urls"] = new JObject
{
["Windows"] = downloadUrlWindows,
["MacOS"] = _configurationManager.GetCVar(CVars.BuildDownloadUrlMacOS),
["Linux"] = _configurationManager.GetCVar(CVars.BuildDownloadUrlLinux)
},
["engine_version"] = _configurationManager.GetCVar(CVars.BuildEngineVersion),
["fork_id"] = _configurationManager.GetCVar(CVars.BuildForkId),
["version"] = _configurationManager.GetCVar(CVars.BuildVersion),
["hashes"] = new JObject
{
["Windows"] = _configurationManager.GetCVar(CVars.BuildHashWindows),
["MacOS"] = _configurationManager.GetCVar(CVars.BuildHashMacOS),
["Linux"] = _configurationManager.GetCVar(CVars.BuildHashLinux),
},
["download_url"] = downloadUrl,
["hash"] = hash,
};
}

View File

@@ -141,24 +141,20 @@ namespace Robust.Server.ServerStatus
private void RegisterCVars()
{
BuildInfo? info = null;
try
{
var buildInfo = File.ReadAllText(PathHelpers.ExecutableRelativeFile("build.json"));
info = JsonConvert.DeserializeObject<BuildInfo>(buildInfo);
var info = JsonConvert.DeserializeObject<BuildInfo>(buildInfo);
_configurationManager.SetCVar(CVars.BuildEngineVersion, info.EngineVersion);
_configurationManager.SetCVar(CVars.BuildForkId, info.ForkId);
_configurationManager.SetCVar(CVars.BuildVersion, info.Version);
_configurationManager.SetCVar(CVars.BuildDownloadUrl, info.Download);
_configurationManager.SetCVar(CVars.BuildHash, info.Hash ?? "");
}
catch (FileNotFoundException)
{
}
_configurationManager.SetCVar(CVars.BuildForkId, info?.ForkId ?? "");
_configurationManager.SetCVar(CVars.BuildVersion, info?.Version ?? "");
_configurationManager.SetCVar(CVars.BuildDownloadUrlWindows, info?.Downloads.Windows ?? "");
_configurationManager.SetCVar(CVars.BuildDownloadUrlMacOS, info?.Downloads.MacOS ?? "");
_configurationManager.SetCVar(CVars.BuildDownloadUrlLinux, info?.Downloads.Linux ?? "");
_configurationManager.SetCVar(CVars.BuildHashWindows, info?.Hashes.Windows ?? "");
_configurationManager.SetCVar(CVars.BuildHashMacOS, info?.Hashes.MacOS ?? "");
_configurationManager.SetCVar(CVars.BuildHashLinux, info?.Hashes.Linux ?? "");
}
public void Dispose()
@@ -175,18 +171,11 @@ namespace Robust.Server.ServerStatus
[JsonObject(ItemRequired = Required.DisallowNull)]
private sealed class BuildInfo
{
[JsonProperty("hashes")] public PlatformData Hashes { get; set; } = default!;
[JsonProperty("downloads")] public PlatformData Downloads { get; set; } = default!;
[JsonProperty("fork_id")] public string ForkId { get; set; } = default!;
[JsonProperty("version")] public string Version { get; set; } = default!;
}
[JsonObject(ItemRequired = Required.DisallowNull)]
private sealed class PlatformData
{
[JsonProperty("windows")] public string Windows { get; set; } = default!;
[JsonProperty("linux")] public string Linux { get; set; } = default!;
[JsonProperty("macos")] public string MacOS { get; set; } = default!;
[JsonProperty("engine_version")] public string EngineVersion = default!;
[JsonProperty("hashes")] public string? Hash;
[JsonProperty("downloads")] public string Download = default!;
[JsonProperty("fork_id")] public string ForkId = default!;
[JsonProperty("version")] public string Version = default!;
}
}
}

View File

@@ -118,29 +118,20 @@ namespace Robust.Shared
* BUILD
*/
public static readonly CVarDef<string> BuildEngineVersion =
CVarDef.Create("build.engine_version", "", CVar.SERVERONLY);
public static readonly CVarDef<string> BuildForkId =
CVarDef.Create("build.fork_id", "", CVar.ARCHIVE | CVar.SERVERONLY);
CVarDef.Create("build.fork_id", "", CVar.SERVERONLY);
public static readonly CVarDef<string> BuildVersion =
CVarDef.Create("build.version", "", CVar.ARCHIVE | CVar.SERVERONLY);
CVarDef.Create("build.version", "", CVar.SERVERONLY);
public static readonly CVarDef<string> BuildDownloadUrlWindows =
CVarDef.Create("build.download_url_windows", string.Empty, CVar.ARCHIVE | CVar.SERVERONLY);
public static readonly CVarDef<string> BuildDownloadUrl =
CVarDef.Create("build.download_url", string.Empty, CVar.SERVERONLY);
public static readonly CVarDef<string> BuildDownloadUrlMacOS =
CVarDef.Create("build.download_url_macos", "", CVar.ARCHIVE | CVar.SERVERONLY);
public static readonly CVarDef<string> BuildDownloadUrlLinux =
CVarDef.Create("build.download_url_linux", "", CVar.ARCHIVE | CVar.SERVERONLY);
public static readonly CVarDef<string> BuildHashWindows =
CVarDef.Create("build.hash_windows", "", CVar.ARCHIVE | CVar.SERVERONLY);
public static readonly CVarDef<string> BuildHashMacOS =
CVarDef.Create("build.hash_macos", "", CVar.ARCHIVE | CVar.SERVERONLY);
public static readonly CVarDef<string> BuildHashLinux =
CVarDef.Create("build.hash_linux", "", CVar.ARCHIVE | CVar.SERVERONLY);
public static readonly CVarDef<string> BuildHash =
CVarDef.Create("build.hash", "", CVar.SERVERONLY);
/*
* WATCHDOG