btcpayserver-plugin-builder/PluginBuilder/Util/BuildInfo.cs
2025-06-11 19:50:22 +02:00

37 lines
1.2 KiB
C#

#nullable disable
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace PluginBuilder.Util;
public class BuildInfo
{
public string GitRepository { get; set; }
public string GitRef { get; set; }
public string PluginDir { get; set; }
public string GitCommit { get; set; }
public DateTimeOffset? GitCommitDate { get; set; }
public DateTimeOffset? BuildDate { get; set; }
public string BuildHash { get; set; }
public string Url { get; set; }
public string Error { get; set; }
public string BuildConfig { get; set; }
public string AssemblyName { get; set; }
public IDictionary<string, JToken> AdditionalObjects { get; set; }
public static BuildInfo Parse(string json)
{
return JsonConvert.DeserializeObject<BuildInfo>(json, CamelCaseSerializerSettings.Instance) ?? throw new FormatException("Invalid json for BuildInfo");
}
public override string ToString()
{
return JsonConvert.SerializeObject(this, CamelCaseSerializerSettings.Instance);
}
public string ToString(Formatting formatting)
{
return JsonConvert.SerializeObject(this, formatting, CamelCaseSerializerSettings.Instance);
}
}