Files
HelperLib/OmegaLeo.HelperLib.ChangelogHandler/Program.cs
T
omegaleo 7b6115da21 Dev changes (#3)
* Fixed dependency

* Updates to NeoDictionary

* Changes to NeoDictionary

* Started working on a Git implementation to integrate into Game Engines in the future

* Added commit functionality to the git library

* New changes

* Added select for NeoDictionary.cs

* Fixed issue with previous new method

* Added a Benchmarking Tool to be used mostly in game engines

* Added IndexOf to NeoDictionary.cs

* Added new method for BenchmarkUtility.cs

* added an instacedobject class

* Added a new shuffle method for lists

* fixed return type

* Added new Changelog generator
2025-02-18 21:09:25 +00:00

42 lines
1.1 KiB
C#

// See https://aka.ms/new-console-template for more information
using System.Reflection;
using GameDevLibrary.Helpers;
using OmegaLeo.HelperLib.Changelog.Models;
using OmegaLeo.HelperLib.Changelog.Tools;
var root = GetSolutionRoot();
var changelogs = new Dictionary<string, Assembly>()
{
{Path.Join(root, "OmegaLeo.HelperLib.Changelog", "CHANGELOG.md"), typeof(Changelog).Assembly},
{Path.Join(root, "OmegaLeo.HelperLib", "CHANGELOG.md"), typeof(BenchmarkUtility).Assembly},
};
foreach (var changelog in changelogs)
{
GenerateChangelog(changelog.Key, changelog.Value);
}
void GenerateChangelog(string path, Assembly libraryAssembly)
{
var changelogMarkdown = ChangelogTool.GetMarkdown(libraryAssembly);
File.WriteAllText(path,changelogMarkdown);
}
static string GetSolutionRoot()
{
string dir = AppContext.BaseDirectory;
while (!string.IsNullOrEmpty(dir))
{
if (Directory.GetFiles(dir, "*.sln").Length > 0)
return dir; // Found the solution root
dir = Directory.GetParent(dir)?.FullName; // Move up a directory
}
throw new Exception("Solution root not found.");
}