diff --git a/src/Alma.Abstraction/Services/IVersionService.cs b/src/Alma.Abstraction/Services/IVersionService.cs new file mode 100644 index 0000000..b192e7d --- /dev/null +++ b/src/Alma.Abstraction/Services/IVersionService.cs @@ -0,0 +1,6 @@ +namespace Alma.Services; + +public interface IVersionService +{ + public string GetVersion(); +} \ No newline at end of file diff --git a/src/Alma.App/Command/Info/InfoCommand.cs b/src/Alma.App/Command/Info/InfoCommand.cs index 0ea2617..41170a6 100644 --- a/src/Alma.App/Command/Info/InfoCommand.cs +++ b/src/Alma.App/Command/Info/InfoCommand.cs @@ -13,24 +13,30 @@ public class InfoCommand : ICommand private readonly IRepositoryConfiguration _repositoryConfiguration; private readonly ILogger _logger; private readonly IOsInformation _osInformation; + private readonly IVersionService _versionService; public InfoCommand( IFolderService folderService, IRepositoryConfiguration repositoryConfiguration, ILogger logger, - IOsInformation osInformation + IOsInformation osInformation, + IVersionService versionService ) { _folderService = folderService; _repositoryConfiguration = repositoryConfiguration; _logger = logger; _osInformation = osInformation; + _versionService = versionService; } public async Task Run(List parameters) { //Add info REPO //Add info REPO MODULE + _logger.LogInformation("Alma " + _versionService.GetVersion()); + _logger.LogInformation(""); + _logger.LogInformation("AppData folder: " + _folderService.AppData); if (_folderService.ConfigRoot is { } configRoot) diff --git a/src/Alma/Program.cs b/src/Alma/Program.cs index cda5553..9c63a9d 100644 --- a/src/Alma/Program.cs +++ b/src/Alma/Program.cs @@ -50,6 +50,7 @@ public static class Program [Singleton(typeof(IModuleConfigurationResolver), typeof(ModuleConfigurationResolver))] [Singleton(typeof(IMetadataHandler), typeof(MetadataHandler))] [Singleton(typeof(IShellService), typeof(ShellService))] +[Singleton(typeof(IVersionService), typeof(VersionService))] [Singleton(typeof(Application))] [Transient(typeof(ILogger<>), Factory = nameof(CustomLoggerFactory))] internal partial class AlmaServiceProvider diff --git a/src/Alma/VersionService.cs b/src/Alma/VersionService.cs new file mode 100644 index 0000000..8019abc --- /dev/null +++ b/src/Alma/VersionService.cs @@ -0,0 +1,15 @@ +using System.Reflection; +using Alma.Services; + +namespace Alma; + +public class VersionService : IVersionService +{ + public string GetVersion() + { + return + typeof(Program).Assembly.GetCustomAttribute()?.InformationalVersion + ?? typeof(Program).Assembly.GetName().Version?.ToString() + ?? "unknown"; + } +} \ No newline at end of file