Console set AppData in release

This commit is contained in:
2023-08-20 08:00:03 +02:00
parent 3aa265cc31
commit 793f653db0

View File

@@ -15,7 +15,13 @@ using ITheme = FileTime.ConsoleUI.App.Styling.ITheme;
Console.OutputEncoding = System.Text.Encoding.UTF8; Console.OutputEncoding = System.Text.Encoding.UTF8;
IConsoleDriver? driver = null; IConsoleDriver? driver = null;
#if DEBUG
(AppDataRoot, EnvironmentName) = Init.InitDevelopment(); (AppDataRoot, EnvironmentName) = Init.InitDevelopment();
#endif
if (AppDataRoot is null)
{
(AppDataRoot, EnvironmentName) = Init.InitRelease();
}
InitLogging(); InitLogging();
try try
{ {
@@ -27,9 +33,9 @@ try
driver = serviceProvider.GetRequiredService<IConsoleDriver>(); driver = serviceProvider.GetRequiredService<IConsoleDriver>();
Log.Logger.Debug("Using driver {Driver}", driver.GetType().Name); Log.Logger.Debug("Using driver {Driver}", driver.GetType().Name);
driver.SetCursorVisible(false); driver.SetCursorVisible(false);
var applicationContext = serviceProvider.GetRequiredService<IApplicationContext>(); var applicationContext = serviceProvider.GetRequiredService<IApplicationContext>();
var theme = serviceProvider.GetRequiredService<ITheme>(); var theme = serviceProvider.GetRequiredService<ITheme>();
@@ -68,15 +74,26 @@ static void InitLogging()
static IConfigurationRoot CreateConfiguration(string[] strings) static IConfigurationRoot CreateConfiguration(string[] strings)
{ {
var configurationRoot = new ConfigurationBuilder() var configurationBuilder = new ConfigurationBuilder()
.AddInMemoryCollection(MainConfiguration.Configuration) .AddInMemoryCollection(MainConfiguration.Configuration)
.AddInMemoryCollection(MainConsoleConfiguration.Configuration) .AddInMemoryCollection(MainConsoleConfiguration.Configuration)
#if DEBUG #if DEBUG
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true) .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
#endif #endif
.AddCommandLine(strings) ;
.Build();
return configurationRoot; var configurationDirectory = new DirectoryInfo(Path.Combine(AppDataRoot, "config"));
if (configurationDirectory.Exists)
{
foreach (var settingsFile in configurationDirectory.GetFiles("*.json"))
{
configurationBuilder.AddJsonFile(settingsFile.FullName, optional: true, reloadOnChange: true);
}
}
configurationBuilder.AddCommandLine(strings);
return configurationBuilder.Build();
} }
static bool HandleInfoProviders(string[] args, IServiceProvider serviceProvider) static bool HandleInfoProviders(string[] args, IServiceProvider serviceProvider)