From a645681cc8a3683876270af1d1a7b052a86e87e1 Mon Sep 17 00:00:00 2001 From: Qstick Date: Sat, 15 Oct 2022 10:54:38 -0500 Subject: [PATCH] Clean dual target code --- .../PathExtensionFixture.cs | 2 +- .../EnvironmentInfo/PlatformInfo.cs | 22 +------------------ .../Extensions/PathExtensions.cs | 13 ++++------- .../Update/InstallUpdateService.cs | 4 ++-- src/NzbDrone.Core/Update/UpdatePackage.cs | 3 +-- .../Update/UpdatePackageProvider.cs | 6 ++--- src/NzbDrone.Mono/Disk/DiskProvider.cs | 15 ++++--------- .../UpdateEngine/InstallUpdateService.cs | 2 +- src/Sonarr.Api.V3/System/SystemController.cs | 4 ++-- 9 files changed, 19 insertions(+), 52 deletions(-) diff --git a/src/NzbDrone.Common.Test/PathExtensionFixture.cs b/src/NzbDrone.Common.Test/PathExtensionFixture.cs index 2744271fc..c7696431f 100644 --- a/src/NzbDrone.Common.Test/PathExtensionFixture.cs +++ b/src/NzbDrone.Common.Test/PathExtensionFixture.cs @@ -279,7 +279,7 @@ namespace NzbDrone.Common.Test [Test] public void GetUpdateClientExePath() { - GetIAppDirectoryInfo().GetUpdateClientExePath(PlatformType.DotNet).Should().BeEquivalentTo(@"C:\Temp\sonarr_update\Sonarr.Update.exe".AsOsAgnostic()); + GetIAppDirectoryInfo().GetUpdateClientExePath().Should().BeEquivalentTo(@"C:\Temp\sonarr_update\Sonarr.Update".AsOsAgnostic()); } [Test] diff --git a/src/NzbDrone.Common/EnvironmentInfo/PlatformInfo.cs b/src/NzbDrone.Common/EnvironmentInfo/PlatformInfo.cs index 76f323652..68a0ca092 100644 --- a/src/NzbDrone.Common/EnvironmentInfo/PlatformInfo.cs +++ b/src/NzbDrone.Common/EnvironmentInfo/PlatformInfo.cs @@ -2,13 +2,6 @@ using System; namespace NzbDrone.Common.EnvironmentInfo { - public enum PlatformType - { - DotNet = 0, - Mono = 1, - NetCore = 2 - } - public interface IPlatformInfo { Version Version { get; } @@ -16,31 +9,18 @@ namespace NzbDrone.Common.EnvironmentInfo public class PlatformInfo : IPlatformInfo { - private static PlatformType _platform; private static Version _version; static PlatformInfo() { - _platform = PlatformType.NetCore; _version = Environment.Version; } - public static PlatformType Platform => _platform; - public static bool IsDotNet => Platform == PlatformType.DotNet; - public static bool IsNetCore => Platform == PlatformType.NetCore; - public static string PlatformName { get { - if (IsDotNet) - { - return ".NET"; - } - else - { - return ".NET Core"; - } + return ".NET"; } } diff --git a/src/NzbDrone.Common/Extensions/PathExtensions.cs b/src/NzbDrone.Common/Extensions/PathExtensions.cs index 949d12217..83da2e1ec 100644 --- a/src/NzbDrone.Common/Extensions/PathExtensions.cs +++ b/src/NzbDrone.Common/Extensions/PathExtensions.cs @@ -266,9 +266,9 @@ namespace NzbDrone.Common.Extensions return substring.Substring(0, lastSeparatorIndex); } - public static string ProcessNameToExe(this string processName, PlatformType runtime) + public static string ProcessNameToExe(this string processName) { - if (OsInfo.IsWindows || runtime != PlatformType.NetCore) + if (OsInfo.IsWindows) { processName += ".exe"; } @@ -276,11 +276,6 @@ namespace NzbDrone.Common.Extensions return processName; } - public static string ProcessNameToExe(this string processName) - { - return processName.ProcessNameToExe(PlatformInfo.Platform); - } - public static string GetAppDataPath(this IAppFolderInfo appFolderInfo) { return appFolderInfo.AppDataFolder; @@ -346,9 +341,9 @@ namespace NzbDrone.Common.Extensions return Path.Combine(GetUpdatePackageFolder(appFolderInfo), UPDATE_CLIENT_FOLDER_NAME); } - public static string GetUpdateClientExePath(this IAppFolderInfo appFolderInfo, PlatformType runtime) + public static string GetUpdateClientExePath(this IAppFolderInfo appFolderInfo) { - return Path.Combine(GetUpdateSandboxFolder(appFolderInfo), UPDATE_CLIENT_EXE_NAME).ProcessNameToExe(runtime); + return Path.Combine(GetUpdateSandboxFolder(appFolderInfo), UPDATE_CLIENT_EXE_NAME).ProcessNameToExe(); } public static string GetDatabase(this IAppFolderInfo appFolderInfo) diff --git a/src/NzbDrone.Core/Update/InstallUpdateService.cs b/src/NzbDrone.Core/Update/InstallUpdateService.cs index 74e063ef4..e195d4b14 100644 --- a/src/NzbDrone.Core/Update/InstallUpdateService.cs +++ b/src/NzbDrone.Core/Update/InstallUpdateService.cs @@ -146,7 +146,7 @@ namespace NzbDrone.Core.Update _logger.Info("Preparing client"); _diskTransferService.TransferFolder(_appFolderInfo.GetUpdateClientFolder(), updateSandboxFolder, TransferMode.Move); - var updateClientExePath = _appFolderInfo.GetUpdateClientExePath(updatePackage.Runtime); + var updateClientExePath = _appFolderInfo.GetUpdateClientExePath(); if (!_diskProvider.FileExists(updateClientExePath)) { @@ -155,7 +155,7 @@ namespace NzbDrone.Core.Update } // Set executable flag on update app - if (OsInfo.IsOsx || (OsInfo.IsLinux && PlatformInfo.IsNetCore)) + if (OsInfo.IsOsx || OsInfo.IsLinux) { _diskProvider.SetFilePermissions(updateClientExePath, "755", null); } diff --git a/src/NzbDrone.Core/Update/UpdatePackage.cs b/src/NzbDrone.Core/Update/UpdatePackage.cs index 016398d0f..ca97ad5d0 100644 --- a/src/NzbDrone.Core/Update/UpdatePackage.cs +++ b/src/NzbDrone.Core/Update/UpdatePackage.cs @@ -1,4 +1,4 @@ -using System; +using System; using NzbDrone.Common.EnvironmentInfo; namespace NzbDrone.Core.Update @@ -12,6 +12,5 @@ namespace NzbDrone.Core.Update public UpdateChanges Changes { get; set; } public string Hash { get; set; } public string Branch { get; set; } - public PlatformType Runtime { get; set; } } } diff --git a/src/NzbDrone.Core/Update/UpdatePackageProvider.cs b/src/NzbDrone.Core/Update/UpdatePackageProvider.cs index fc178eefd..e75f2d8e5 100644 --- a/src/NzbDrone.Core/Update/UpdatePackageProvider.cs +++ b/src/NzbDrone.Core/Update/UpdatePackageProvider.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Runtime.InteropServices; using NzbDrone.Common.Cloud; @@ -36,7 +36,7 @@ namespace NzbDrone.Core.Update .AddQueryParam("version", currentVersion) .AddQueryParam("os", OsInfo.Os.ToString().ToLowerInvariant()) .AddQueryParam("arch", RuntimeInformation.OSArchitecture) - .AddQueryParam("runtime", PlatformInfo.Platform.ToString().ToLowerInvariant()) + .AddQueryParam("runtime", "netcore") .AddQueryParam("runtimeVer", _platformInfo.Version) .SetSegment("branch", branch); @@ -63,7 +63,7 @@ namespace NzbDrone.Core.Update .AddQueryParam("version", currentVersion) .AddQueryParam("os", OsInfo.Os.ToString().ToLowerInvariant()) .AddQueryParam("arch", RuntimeInformation.OSArchitecture) - .AddQueryParam("runtime", PlatformInfo.Platform.ToString().ToLowerInvariant()) + .AddQueryParam("runtime", "netcore") .AddQueryParam("runtimeVer", _platformInfo.Version) .SetSegment("branch", branch); diff --git a/src/NzbDrone.Mono/Disk/DiskProvider.cs b/src/NzbDrone.Mono/Disk/DiskProvider.cs index e18332124..0ddee8441 100644 --- a/src/NzbDrone.Mono/Disk/DiskProvider.cs +++ b/src/NzbDrone.Mono/Disk/DiskProvider.cs @@ -247,9 +247,7 @@ namespace NzbDrone.Mono.Disk newFile.CreateSymbolicLinkTo(fullPath); } } - else if (((PlatformInfo.Platform == PlatformType.Mono && PlatformInfo.GetVersion() >= new Version(6, 0)) || - PlatformInfo.Platform == PlatformType.NetCore) && - (!FileExists(destination) || overwrite)) + else if (!FileExists(destination) || overwrite) { TransferFilePatched(source, destination, overwrite, false); } @@ -294,14 +292,9 @@ namespace NzbDrone.Mono.Disk throw; } } - else if ((PlatformInfo.Platform == PlatformType.Mono && PlatformInfo.GetVersion() >= new Version(6, 0)) || - PlatformInfo.Platform == PlatformType.NetCore) - { - TransferFilePatched(source, destination, false, true); - } else { - base.MoveFileInternal(source, destination); + TransferFilePatched(source, destination, false, true); } } @@ -313,7 +306,7 @@ namespace NzbDrone.Mono.Disk // Catch the exception and attempt to handle these edgecases // Mono 6.x till 6.10 doesn't properly try use rename first. - if (move && (PlatformInfo.Platform == PlatformType.NetCore)) + if (move) { if (Syscall.lstat(source, out var sourcestat) == 0 && Syscall.lstat(destination, out var deststat) != 0 && @@ -341,7 +334,7 @@ namespace NzbDrone.Mono.Disk var dstInfo = new FileInfo(destination); var exists = dstInfo.Exists && srcInfo.Exists; - if (PlatformInfo.Platform == PlatformType.NetCore && exists && dstInfo.Length == srcInfo.Length) + if (exists && dstInfo.Length == srcInfo.Length) { // mono 6.0, mono 6.4 and netcore 3.1 bug: full length file since utime and chmod happens at the end _logger.Debug("{3} failed to {2} file likely due to known {3} bug, attempting to {2} directly. '{0}' -> '{1}'", source, destination, move ? "move" : "copy", PlatformInfo.PlatformName); diff --git a/src/NzbDrone.Update/UpdateEngine/InstallUpdateService.cs b/src/NzbDrone.Update/UpdateEngine/InstallUpdateService.cs index 8dc52c2bc..ec2fa3bc2 100644 --- a/src/NzbDrone.Update/UpdateEngine/InstallUpdateService.cs +++ b/src/NzbDrone.Update/UpdateEngine/InstallUpdateService.cs @@ -126,7 +126,7 @@ namespace NzbDrone.Update.UpdateEngine _diskTransferService.MirrorFolder(_appFolderInfo.GetUpdatePackageFolder(), installationFolder); // Set executable flag on app and ffprobe - if (OsInfo.IsOsx || (OsInfo.IsLinux && PlatformInfo.IsNetCore)) + if (OsInfo.IsOsx || OsInfo.IsLinux) { _diskProvider.SetFilePermissions(Path.Combine(installationFolder, "Sonarr"), "755", null); _diskProvider.SetFilePermissions(Path.Combine(installationFolder, "ffprobe"), "755", null); diff --git a/src/Sonarr.Api.V3/System/SystemController.cs b/src/Sonarr.Api.V3/System/SystemController.cs index c5da73c4c..bc0632411 100644 --- a/src/Sonarr.Api.V3/System/SystemController.cs +++ b/src/Sonarr.Api.V3/System/SystemController.cs @@ -71,7 +71,7 @@ namespace Sonarr.Api.V3.System AppData = _appFolderInfo.GetAppDataPath(), OsName = _osInfo.Name, OsVersion = _osInfo.Version, - IsNetCore = PlatformInfo.IsNetCore, + IsNetCore = true, IsLinux = OsInfo.IsLinux, IsOsx = OsInfo.IsOsx, IsWindows = OsInfo.IsWindows, @@ -83,7 +83,7 @@ namespace Sonarr.Api.V3.System MigrationVersion = _database.Migration, UrlBase = _configFileProvider.UrlBase, RuntimeVersion = _platformInfo.Version, - RuntimeName = PlatformInfo.Platform, + RuntimeName = PlatformInfo.PlatformName, StartTime = _runtimeInfo.StartTime, PackageVersion = _deploymentInfoProvider.PackageVersion, PackageAuthor = _deploymentInfoProvider.PackageAuthor,