From 7ab24629e2a68ac195d4d70ff475486d96d1b6a3 Mon Sep 17 00:00:00 2001 From: Jesse Date: Sun, 29 Jun 2025 15:40:49 +0200 Subject: [PATCH] Fix up tooling to handle new types in DI (#434) * Fix up tooling to handle new types in DI * Remove usings --- Libraries/SPTarkov.DI/DependencyInjectionHandler.cs | 12 ------------ .../HideoutCraftQuestIdGeneratorLauncher.cs | 6 ++++++ Tools/ItemTplGenerator/ItemTplGeneratorLauncher.cs | 8 +++++--- 3 files changed, 11 insertions(+), 15 deletions(-) diff --git a/Libraries/SPTarkov.DI/DependencyInjectionHandler.cs b/Libraries/SPTarkov.DI/DependencyInjectionHandler.cs index cfa24762..d71dc0a4 100644 --- a/Libraries/SPTarkov.DI/DependencyInjectionHandler.cs +++ b/Libraries/SPTarkov.DI/DependencyInjectionHandler.cs @@ -13,8 +13,6 @@ public class DependencyInjectionHandler(IServiceCollection serviceCollection) private readonly Dictionary _injectedValues = new(); private readonly Lock _injectedValuesLock = new(); - private readonly HashSet _typeNamesToSkip = []; - private bool _oneTimeUseFlag; public void AddInjectableTypesFromAssembly(Assembly assembly) @@ -45,11 +43,6 @@ public class DependencyInjectionHandler(IServiceCollection serviceCollection) { foreach (var type in typesToInject) { - if (_typeNamesToSkip.Contains(type.Name)) - { - continue; - } - _injectedTypeNames.Add($"{type.Namespace}.{type.Name}", type); } } @@ -140,11 +133,6 @@ public class DependencyInjectionHandler(IServiceCollection serviceCollection) } } - public void AddTypeNamesToIgnore(HashSet typeNames) - { - _typeNamesToSkip.UnionWith(typeNames); - } - private void RegisterGenericComponents(TypeRefContainer typeRef) { try diff --git a/Tools/HideoutCraftQuestIdGenerator/HideoutCraftQuestIdGeneratorLauncher.cs b/Tools/HideoutCraftQuestIdGenerator/HideoutCraftQuestIdGeneratorLauncher.cs index 62ad383c..cff0d81c 100644 --- a/Tools/HideoutCraftQuestIdGenerator/HideoutCraftQuestIdGeneratorLauncher.cs +++ b/Tools/HideoutCraftQuestIdGenerator/HideoutCraftQuestIdGeneratorLauncher.cs @@ -1,5 +1,7 @@ +using Microsoft.AspNetCore.Builder; using Microsoft.Extensions.DependencyInjection; using SPTarkov.DI; +using SPTarkov.Server.Core.Models.Spt.Mod; using SPTarkov.Server.Core.Utils; namespace HideoutCraftQuestIdGenerator; @@ -10,7 +12,11 @@ public class HideoutCraftQuestIdGeneratorLauncher { try { + ProgramStatics.Initialize(); + var serviceCollection = new ServiceCollection(); + serviceCollection.AddSingleton(WebApplication.CreateBuilder()); + serviceCollection.AddSingleton>([]); var diHandler = new DependencyInjectionHandler(serviceCollection); diHandler.AddInjectableTypesFromTypeAssembly( typeof(HideoutCraftQuestIdGeneratorLauncher) diff --git a/Tools/ItemTplGenerator/ItemTplGeneratorLauncher.cs b/Tools/ItemTplGenerator/ItemTplGeneratorLauncher.cs index b9037ae6..b5bcb8d5 100644 --- a/Tools/ItemTplGenerator/ItemTplGeneratorLauncher.cs +++ b/Tools/ItemTplGenerator/ItemTplGeneratorLauncher.cs @@ -1,4 +1,5 @@ -using Microsoft.Extensions.DependencyInjection; +using Microsoft.AspNetCore.Builder; +using Microsoft.Extensions.DependencyInjection; using SPTarkov.DI; using SPTarkov.Server.Core.Models.Spt.Mod; using SPTarkov.Server.Core.Utils; @@ -11,12 +12,13 @@ public class ItemTplGeneratorLauncher { try { + ProgramStatics.Initialize(); + var serviceCollection = new ServiceCollection(); + serviceCollection.AddSingleton(WebApplication.CreateBuilder()); serviceCollection.AddSingleton>([]); var diHandler = new DependencyInjectionHandler(serviceCollection); - diHandler.AddTypeNamesToIgnore(["HttpServer", "HttpCallbacks"]); - diHandler.AddInjectableTypesFromTypeAssembly(typeof(ItemTplGeneratorLauncher)); diHandler.AddInjectableTypesFromTypeAssembly(typeof(App));