77using Nexus . Config ;
88using Nexus . External . Apis . FileSystem ;
99using Nexus . External . Apis . ProcessManagement ;
10+ using Nexus . External . Apis . ServiceManagement ;
1011using Nexus . Logging ;
1112using Nexus . Startup ;
1213
@@ -35,9 +36,10 @@ public static async Task<int> Main(string[] args)
3536 var settings = new Settings ( ) ;
3637 var filesystem = new FileSystem ( ) ;
3738 var processManager = new ProcessManager ( ) ;
39+ var serviceController = new ServiceControllerWrapper ( ) ;
3840
3941 // Use hosted service for ALL command types
40- var host = CreateHostBuilder ( cmd , filesystem , processManager , settings ) . Build ( ) ;
42+ var host = CreateHostBuilder ( cmd , filesystem , processManager , serviceController , settings ) . Build ( ) ;
4143 await host . RunAsync ( ) ;
4244
4345 return 0 ;
@@ -59,10 +61,11 @@ public static async Task<int> Main(string[] args)
5961 /// <param name="cmd">Command line context.</param>
6062 /// <param name="fileSystem">The file system abstraction.</param>
6163 /// <param name="processManager">The process manager abstraction.</param>
64+ /// <param name="serviceController">Service controller abstraction.</param>
6265 /// <param name="settings">The product settings.</param>
6366 /// <returns>Configured host builder.</returns>
6467 [ SupportedOSPlatform ( "windows" ) ]
65- internal static IHostBuilder CreateHostBuilder ( CommandLineContext cmd , IFileSystem fileSystem , IProcessManager processManager , ISettings settings )
68+ internal static IHostBuilder CreateHostBuilder ( CommandLineContext cmd , IFileSystem fileSystem , IProcessManager processManager , IServiceController serviceController , ISettings settings )
6669 {
6770 var builder = Host . CreateDefaultBuilder ( cmd . Args )
6871 . ConfigureLogging ( ( context , logging ) => logging . AddNexusLogging (
@@ -75,7 +78,7 @@ internal static IHostBuilder CreateHostBuilder(CommandLineContext cmd, IFileSyst
7578
7679 // Register ONLY the main hosted service (no others)
7780 var ununsedHost = services . AddHostedService ( sp =>
78- new MainHostedService ( cmd , fileSystem , processManager , settings ) ) ;
81+ new MainHostedService ( cmd , fileSystem , processManager , serviceController , settings ) ) ;
7982 } ) ;
8083
8184 // Configure Windows Service support if in service mode
0 commit comments