diff --git a/src/HassModel/NetDaemon.HassModel.CodeGenerator/CodeGeneration/Generator.cs b/src/HassModel/NetDaemon.HassModel.CodeGenerator/CodeGeneration/Generator.cs index 369d1d80a..151eb9dab 100644 --- a/src/HassModel/NetDaemon.HassModel.CodeGenerator/CodeGeneration/Generator.cs +++ b/src/HassModel/NetDaemon.HassModel.CodeGenerator/CodeGeneration/Generator.cs @@ -35,14 +35,13 @@ public static CompilationUnitSyntax BuildCompilationUnit(string namespaceName, p .NormalizeWhitespace(); } - private static readonly string GeneratorVersion = Assembly.GetAssembly(typeof(Generator))!.GetName().Version!.ToString(); private static SyntaxTrivia[] GetFileHeader() { string headerText = @$" //------------------------------------------------------------------------------ // - // Generated using NetDaemon CodeGenerator nd-codegen v{GeneratorVersion} + // Generated using NetDaemon CodeGenerator nd-codegen v{VersionHelper.GeneratorVersion} // At: {DateTime.Now:O} // // *** Make sure the version of the codegen tool and your nugets Joysoftware.NetDaemon.* have the same version.*** diff --git a/src/HassModel/NetDaemon.HassModel.CodeGenerator/Helpers/VersionHelper.cs b/src/HassModel/NetDaemon.HassModel.CodeGenerator/Helpers/VersionHelper.cs new file mode 100644 index 000000000..cab68af9e --- /dev/null +++ b/src/HassModel/NetDaemon.HassModel.CodeGenerator/Helpers/VersionHelper.cs @@ -0,0 +1,28 @@ +using System.Reflection; + +namespace NetDaemon.HassModel.CodeGenerator.Helpers; + +#pragma warning disable CA1303 + +/// +/// Helper class for managing NetDaemon version tasks +/// +public static class VersionHelper +{ + /// + /// Returns current version of NetDaemon + /// + public static string GeneratorVersion { get; } = + Assembly.GetAssembly(typeof(Generator))!.GetName().Version!.ToString(); + + /// + /// Pretty prints version information to console + /// + public static void PrintVersion() + { + Console.Write("Codegen version: "); + Console.ForegroundColor = ConsoleColor.Green; + Console.WriteLine(GeneratorVersion); + Console.ResetColor(); + } +} \ No newline at end of file diff --git a/src/HassModel/NetDaemon.HassModel.CodeGenerator/Program.cs b/src/HassModel/NetDaemon.HassModel.CodeGenerator/Program.cs index fe2bd356a..8032f9bc6 100644 --- a/src/HassModel/NetDaemon.HassModel.CodeGenerator/Program.cs +++ b/src/HassModel/NetDaemon.HassModel.CodeGenerator/Program.cs @@ -18,6 +18,7 @@ generationSettings.GenerateOneFilePerEntity = args.Any(arg => arg.ToLower(CultureInfo.InvariantCulture) == "-fpe"); var controller = new Controller(generationSettings, haSettings); +VersionHelper.PrintVersion(); await controller.RunAsync().ConfigureAwait(false); Console.WriteLine();