Kavita/Kavita.Common/EnvironmentInfo/BuildInfo.cs

56 lines
No EOL
1.3 KiB
C#

using System;
using System.IO;
using System.Linq;
using System.Reflection;
namespace Kavita.Common.EnvironmentInfo
{
public static class BuildInfo
{
static BuildInfo()
{
var assembly = Assembly.GetExecutingAssembly();
Version = assembly.GetName().Version;
var attributes = assembly.GetCustomAttributes(true);
Branch = "unknown";
var config = attributes.OfType<AssemblyConfigurationAttribute>().FirstOrDefault();
if (config != null)
{
Branch = config.Configuration; // TODO: This is not helpful, better to have main/develop branch
}
Release = $"{Version}-{Branch}";
}
public static string AppName { get; } = "Kavita";
public static Version Version { get; }
public static string Branch { get; }
public static string Release { get; }
public static DateTime BuildDateTime
{
get
{
var fileLocation = Assembly.GetCallingAssembly().Location;
return new FileInfo(fileLocation).LastWriteTimeUtc;
}
}
public static bool IsDebug
{
get
{
#if DEBUG
return true;
#else
return false;
#endif
}
}
}
}