diff --git a/Spriggit.Engine/CliEntryPoint.cs b/Spriggit.Engine/CliEntryPoint.cs index dc5e2da..1ebf589 100644 --- a/Spriggit.Engine/CliEntryPoint.cs +++ b/Spriggit.Engine/CliEntryPoint.cs @@ -1,5 +1,6 @@ using System.Diagnostics; using System.IO.Abstractions; +using System.Runtime.InteropServices; using Mutagen.Bethesda; using Mutagen.Bethesda.Plugins; using Noggog; @@ -59,7 +60,8 @@ public async Task Serialize( new ProcessStartInfo(_pathToExe) { Arguments = args - }); + }, + killWithParent: !RuntimeInformation.IsOSPlatform(OSPlatform.Linux)); using var outputSub = processWrapper.Output .Subscribe(x => { @@ -88,7 +90,8 @@ public async Task Deserialize(string inputPath, string outputPath, DirectoryPath new ProcessStartInfo(_pathToExe) { Arguments = args - }); + }, + killWithParent: !RuntimeInformation.IsOSPlatform(OSPlatform.Linux)); using var outputSub = processWrapper.Output .Subscribe(x => { diff --git a/Spriggit.Engine/DotNetToolEntryPoint.cs b/Spriggit.Engine/DotNetToolEntryPoint.cs index 2aeb6a3..2d5d450 100644 --- a/Spriggit.Engine/DotNetToolEntryPoint.cs +++ b/Spriggit.Engine/DotNetToolEntryPoint.cs @@ -1,5 +1,6 @@ using System.Diagnostics; using System.IO.Abstractions; +using System.Runtime.InteropServices; using Mutagen.Bethesda; using Mutagen.Bethesda.Plugins; using Noggog; @@ -65,7 +66,8 @@ public async Task Serialize(ModPath modPath, DirectoryPath outputDir, DirectoryP new ProcessStartInfo(exePath) { Arguments = args - }); + }, + killWithParent: !RuntimeInformation.IsOSPlatform(OSPlatform.Linux)); using var outputSub = processWrapper.Output .Subscribe(x => { @@ -89,12 +91,13 @@ public async Task Deserialize(string inputPath, string outputPath, DirectoryPath var exePath = GetExePath(); var args = $"deserialize -i \"{inputPath}\" -o \"{outputPath}\" -p {_package.Id} -v {_package.Version.ToString().TrimStringFromEnd(".0")}{GetDataPathParam(dataPath)}"; - _logger.Information("Running CLI Entry point deserialize with Args: {Args}", args); + _logger.Information("Running DotNet Tool entry point deserialize with Args: {Args}", args); using var processWrapper = _processFactory.Create( new ProcessStartInfo(exePath) { Arguments = args - }); + }, + killWithParent: !RuntimeInformation.IsOSPlatform(OSPlatform.Linux)); using var outputSub = processWrapper.Output .Subscribe(x => { diff --git a/Spriggit.Engine/Services/Singletons/ConstructDotNetToolEndpoint.cs b/Spriggit.Engine/Services/Singletons/ConstructDotNetToolEndpoint.cs index b4f8927..8275d61 100644 --- a/Spriggit.Engine/Services/Singletons/ConstructDotNetToolEndpoint.cs +++ b/Spriggit.Engine/Services/Singletons/ConstructDotNetToolEndpoint.cs @@ -37,13 +37,14 @@ public ConstructDotNetToolEndpoint( try { var args = $"tool install {ident.Id} --version {ident.Version} --tool-path \"{toolsPath}\""; - _logger.Information("Running DotNet Entry point serialize with Args: {Args}", args); + _logger.Information("Running DotNet Entry point install with Args: {Args}", args); using var processWrapper = _processFactory.Create( new ProcessStartInfo("dotnet") { Arguments = args, }, - cancel: cancellationToken); + cancel: cancellationToken, + killWithParent: false); using var outputSub = processWrapper.Output .Subscribe(x => {