diff --git a/Emby.Naming/obj/Emby.Naming.csproj.nuget.dgspec.json b/Emby.Naming/obj/Emby.Naming.csproj.nuget.dgspec.json index b2e6d700..c5e78a26 100644 --- a/Emby.Naming/obj/Emby.Naming.csproj.nuget.dgspec.json +++ b/Emby.Naming/obj/Emby.Naming.csproj.nuget.dgspec.json @@ -39,20 +39,13 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } }, - "warningProperties": { - "allWarningsAsErrors": true, - "warnAsError": [ - "NU1605" - ], - "warnNotAsError": [ - "NU1902", - "NU1903" - ] - }, "restoreAuditProperties": { "enableAudit": "true", "auditLevel": "low", @@ -63,6 +56,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -473,6 +505,9 @@ "net11.0": { "targetAlias": "net11.0", "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -500,10 +535,47 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Logging": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -918,6 +990,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -942,6 +1017,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -1499,6 +1613,9 @@ "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj" } @@ -1526,17 +1643,49 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "MimeTypes": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", "target": "Package", "version": "[2.5.2, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -2063,6 +2212,216 @@ } } }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj", + "projectName": "Jellyfin.CodeAnalysis", + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj", + "packagesPath": "C:\\Users\\wjones\\.nuget\\packages\\", + "outputPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\obj\\", + "projectStyle": "PackageReference", + "centralPackageVersionsManagementEnabled": true, + "fallbackFolders": [ + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" + ], + "configFilePaths": [ + "E:\\Projects\\pgsql-jellyfin\\NuGet.Config", + "C:\\Users\\wjones\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + ], + "originalTargetFrameworks": [ + "netstandard2.0" + ], + "sources": { + "C:\\Program Files\\dotnet\\library-packs": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "netstandard2.0": { + "targetAlias": "netstandard2.0", + "projectReferences": {} + } + }, + "warningProperties": { + "allWarningsAsErrors": true, + "warnAsError": [ + "NU1605" + ], + "warnNotAsError": [ + "NU1902", + "NU1903" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + }, + "SdkAnalysisLevel": "11.0.100" + }, + "frameworks": { + "netstandard2.0": { + "targetAlias": "netstandard2.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[3.11.0, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.CSharp": { + "suppressParent": "All", + "target": "Package", + "version": "[5.0.0, )", + "versionCentrallyManaged": true + }, + "NETStandard.Library": { + "suppressParent": "All", + "target": "Package", + "version": "[2.0.3, )", + "autoReferenced": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, + "centralPackageVersions": { + "AsyncKeyedLock": "8.0.2", + "AutoFixture": "4.18.1", + "AutoFixture.AutoMoq": "4.18.1", + "AutoFixture.Xunit2": "4.18.1", + "BDInfo": "0.8.0", + "BitFaster.Caching": "2.5.4", + "BlurHashSharp": "1.4.0-pre.1", + "BlurHashSharp.SkiaSharp": "1.4.0-pre.1", + "CommandLineParser": "2.9.1", + "coverlet.collector": "8.0.0", + "Diacritics": "4.1.4", + "DiscUtils.Udf": "0.16.13", + "DotNet.Glob": "3.1.3", + "FsCheck.Xunit": "3.3.2", + "HarfBuzzSharp.NativeAssets.Linux": "8.3.1.1", + "ICU4N.Transliterator": "60.1.0-alpha.356", + "IDisposableAnalyzers": "4.0.8", + "Ignore": "0.2.1", + "Jellyfin.Sdk": "2025.10.21", + "Jellyfin.XmlTv": "10.8.0", + "libse": "4.0.12", + "LrcParser": "2025.623.0", + "MetaBrainz.MusicBrainz": "8.0.1", + "Microsoft.AspNetCore.Authorization": "11.0.0-preview.1.26104.118", + "Microsoft.AspNetCore.Mvc.Testing": "11.0.0-preview.1.26104.118", + "Microsoft.CodeAnalysis.Analyzers": "3.11.0", + "Microsoft.CodeAnalysis.BannedApiAnalyzers": "4.14.0", + "Microsoft.CodeAnalysis.Common": "5.0.0", + "Microsoft.CodeAnalysis.CSharp": "5.0.0", + "Microsoft.Data.Sqlite": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore.Design": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore.Sqlite": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore.Tools": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Caching.Abstractions": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Caching.Memory": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Configuration.Abstractions": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Configuration.Binder": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.DependencyInjection": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Hosting.Abstractions": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Http": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Options": "11.0.0-preview.1.26104.118", + "Microsoft.NET.Test.Sdk": "18.0.1", + "MimeTypes": "2.5.2", + "Moq": "4.18.4", + "Morestachio": "5.0.1.631", + "NEbml": "1.1.0.5", + "Newtonsoft.Json": "13.0.4", + "Npgsql.EntityFrameworkCore.PostgreSQL": "11.0.0-preview.1", + "PlaylistsNET": "1.4.1", + "Polly": "8.6.5", + "prometheus-net": "8.2.1", + "prometheus-net.AspNetCore": "8.2.1", + "prometheus-net.DotNetRuntime": "4.4.1", + "Serilog.AspNetCore": "10.0.0", + "Serilog.Enrichers.Thread": "4.0.0", + "Serilog.Expressions": "5.0.0", + "Serilog.Settings.Configuration": "10.0.0", + "Serilog.Sinks.Async": "2.1.0", + "Serilog.Sinks.Console": "6.1.1", + "Serilog.Sinks.File": "7.0.0", + "Serilog.Sinks.Graylog": "3.1.1", + "SerilogAnalyzer": "0.15.0", + "SharpFuzz": "2.2.0", + "SkiaSharp": "[3.116.1]", + "SkiaSharp.HarfBuzz": "[3.116.1]", + "SkiaSharp.NativeAssets.Linux": "[3.116.1]", + "SmartAnalyzers.MultithreadingAnalyzer": "1.1.31", + "StyleCop.Analyzers": "1.2.0-beta.556", + "Svg.Skia": "3.4.1", + "Swashbuckle.AspNetCore": "7.3.2", + "Swashbuckle.AspNetCore.ReDoc": "6.9.0", + "System.Text.Json": "11.0.0-preview.1.26104.118", + "TagLibSharp": "2.3.0", + "TMDbLib": "2.3.0", + "UTF.Unknown": "2.6.0", + "xunit": "2.9.3", + "Xunit.Priority": "1.1.6", + "xunit.runner.visualstudio": "2.8.2", + "Xunit.SkippableFact": "1.5.61", + "z440.atl.core": "7.11.0" + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\11.0.100-preview.1.26104.118\\RuntimeIdentifierGraph.json" + } + } + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "version": "10.11.0", "restore": { @@ -2092,7 +2451,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -2116,6 +2479,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -2139,6 +2516,24 @@ "target": "Package", "version": "[8.6.5, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -2550,7 +2945,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -2587,10 +2986,42 @@ "version": "[60.1.0-alpha.356, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { diff --git a/Emby.Naming/obj/Emby.Naming.csproj.nuget.g.props b/Emby.Naming/obj/Emby.Naming.csproj.nuget.g.props index 59d22c92..651d5bb6 100644 --- a/Emby.Naming/obj/Emby.Naming.csproj.nuget.g.props +++ b/Emby.Naming/obj/Emby.Naming.csproj.nuget.g.props @@ -15,5 +15,13 @@ + + + C:\Users\wjones\.nuget\packages\stylecop.analyzers.unstable\1.2.0.556 + C:\Users\wjones\.nuget\packages\smartanalyzers.multithreadinganalyzer\1.1.31 + C:\Users\wjones\.nuget\packages\seriloganalyzer\0.15.0 + C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.bannedapianalyzers\4.14.0 + C:\Users\wjones\.nuget\packages\idisposableanalyzers\4.0.8 + \ No newline at end of file diff --git a/Emby.Naming/obj/Emby.Naming.csproj.nuget.g.targets b/Emby.Naming/obj/Emby.Naming.csproj.nuget.g.targets index c9f67447..01ebd317 100644 --- a/Emby.Naming/obj/Emby.Naming.csproj.nuget.g.targets +++ b/Emby.Naming/obj/Emby.Naming.csproj.nuget.g.targets @@ -3,5 +3,6 @@ + \ No newline at end of file diff --git a/Emby.Naming/obj/project.assets.json b/Emby.Naming/obj/project.assets.json index 1cb9d537..3541cc94 100644 --- a/Emby.Naming/obj/project.assets.json +++ b/Emby.Naming/obj/project.assets.json @@ -48,6 +48,9 @@ } } }, + "IDisposableAnalyzers/4.0.8": { + "type": "package" + }, "J2N/2.0.0": { "type": "package", "compile": { @@ -82,6 +85,13 @@ } } }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": { + "type": "package", + "build": { + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props": {}, + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets": {} + } + }, "Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": { "type": "package", "dependencies": { @@ -436,6 +446,12 @@ } } }, + "SerilogAnalyzer/0.15.0": { + "type": "package" + }, + "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": { + "type": "package" + }, "Std.UriTemplate/2.0.5": { "type": "package", "compile": { @@ -445,11 +461,35 @@ "lib/net5.0/Std.UriTemplate.dll": {} } }, + "StyleCop.Analyzers/1.2.0-beta.556": { + "type": "package", + "dependencies": { + "StyleCop.Analyzers.Unstable": "1.2.0.556" + } + }, + "StyleCop.Analyzers.Unstable/1.2.0.556": { + "type": "package" + }, + "Jellyfin.CodeAnalysis/1.0.0": { + "type": "project", + "framework": ".NETStandard,Version=v2.0", + "dependencies": { + "Jellyfin.Sdk": "2025.10.21" + }, + "compile": { + "bin/placeholder/Jellyfin.CodeAnalysis.dll": {} + }, + "runtime": { + "bin/placeholder/Jellyfin.CodeAnalysis.dll": {} + } + }, "Jellyfin.Common/10.12.0": { "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { - "Jellyfin.Model": "10.12.0" + "Jellyfin.CodeAnalysis": "1.0.0", + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Common.dll": {} @@ -465,7 +505,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Database.Implementations": "10.11.0", + "Jellyfin.Sdk": "2025.10.21", "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118" }, "compile": { @@ -479,6 +521,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", "Polly": "8.6.5" }, @@ -495,6 +538,7 @@ "dependencies": { "Diacritics": "4.1.4", "ICU4N.Transliterator": "60.1.0-alpha.356", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Sdk": "2025.10.21" }, "compile": { @@ -508,6 +552,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Data": "10.12.0", "Jellyfin.Extensions": "10.12.0", "Jellyfin.Sdk": "2025.10.21" @@ -591,6 +636,21 @@ "unicode-icon-128x128.jpg" ] }, + "IDisposableAnalyzers/4.0.8": { + "sha512": "vNi4NMG0CcJyjXxiNDcQ21FwV/whM9o9OEZKD+oP7tuxAqFEzX/x5OhC3OZJqW/w+8GOtCmJPBquYgMWgz0rfQ==", + "type": "package", + "path": "idisposableanalyzers/4.0.8", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/IDisposableAnalyzers.dll", + "idisposableanalyzers.4.0.8.nupkg.sha512", + "idisposableanalyzers.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "J2N/2.0.0": { "sha512": "M5bwDajAARZiyqupU+rHQJnsVLxNBOHJ8vKYHd8LcLIb1FgLfzzcJvc31Qo5Xz/GEHFjDF9ScjKL/ks/zRTXuA==", "type": "package", @@ -638,6 +698,74 @@ "lib/netstandard2.1/Jellyfin.Sdk.xml" ] }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": { + "sha512": "gSWJlDWwmDhtbrEJGiHqvEjz9KthIiFD0qYB8zZ6a7z+xpMSPEtM9yTYELSa58iFWYlzSRqP9FXO6KoT3+ZMtg==", + "type": "package", + "path": "microsoft.codeanalysis.bannedapianalyzers/4.14.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "ThirdPartyNotices.txt", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.BannedApiAnalyzers.dll", + "analyzers/dotnet/cs/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.BannedApiAnalyzers.dll", + "analyzers/dotnet/vb/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props", + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets", + "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.md", + "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.sarif", + "editorconfig/AllRulesDefault/.editorconfig", + "editorconfig/AllRulesDisabled/.editorconfig", + "editorconfig/AllRulesEnabled/.editorconfig", + "editorconfig/ApiDesignRulesDefault/.editorconfig", + "editorconfig/ApiDesignRulesEnabled/.editorconfig", + "editorconfig/DataflowRulesDefault/.editorconfig", + "editorconfig/DataflowRulesEnabled/.editorconfig", + "editorconfig/PortedFromFxCopRulesDefault/.editorconfig", + "editorconfig/PortedFromFxCopRulesEnabled/.editorconfig", + "microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512", + "microsoft.codeanalysis.bannedapianalyzers.nuspec", + "rulesets/AllRulesDefault.ruleset", + "rulesets/AllRulesDisabled.ruleset", + "rulesets/AllRulesEnabled.ruleset", + "rulesets/ApiDesignRulesDefault.ruleset", + "rulesets/ApiDesignRulesEnabled.ruleset", + "rulesets/DataflowRulesDefault.ruleset", + "rulesets/DataflowRulesEnabled.ruleset", + "rulesets/PortedFromFxCopRulesDefault.ruleset", + "rulesets/PortedFromFxCopRulesEnabled.ruleset", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": { "sha512": "Nox5NDdfvErlYUc9dyMlI7OzyrVQPKBzaq9P+SqMbAOm+gdG5KjtxpIkk7I/6NhcQ85HYaug/tEEnb7RvYdEYA==", "type": "package", @@ -1198,6 +1326,36 @@ "polly.core.nuspec" ] }, + "SerilogAnalyzer/0.15.0": { + "sha512": "sVpwfls4MfNnwIXLSGCgaUnV+c9kgJ8ia6GsyRcpd4Vs3gLogSDtSYBYrre2K2u/PNMo8GgG09RehwVnze70Tw==", + "type": "package", + "path": "seriloganalyzer/0.15.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/SerilogAnalyzer.dll", + "seriloganalyzer.0.15.0.nupkg.sha512", + "seriloganalyzer.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, + "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": { + "sha512": "2f2k7bbhDd132ArglCKpzKoWBcp3uzbIFcb4aosnlqIKlfYKDE2HevBVRNVa+LkWFnjXFFWs47Bo96fu8iS//Q==", + "type": "package", + "path": "smartanalyzers.multithreadinganalyzer/1.1.31", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/SmartAnalyzers.MultithreadingAnalyzer.dll", + "smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512", + "smartanalyzers.multithreadinganalyzer.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Std.UriTemplate/2.0.5": { "sha512": "PtqPdWNBObRcDHjyjbgOz2XoCJQaiA+HNDPQve/O7yGCkospfHDCuH9ULVx1msImwHHG+uhpDjiZX7bpLN/cnw==", "type": "package", @@ -1212,6 +1370,50 @@ "std.uritemplate.nuspec" ] }, + "StyleCop.Analyzers/1.2.0-beta.556": { + "sha512": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==", + "type": "package", + "path": "stylecop.analyzers/1.2.0-beta.556", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "THIRD-PARTY-NOTICES.txt", + "stylecop.analyzers.1.2.0-beta.556.nupkg.sha512", + "stylecop.analyzers.nuspec" + ] + }, + "StyleCop.Analyzers.Unstable/1.2.0.556": { + "sha512": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==", + "type": "package", + "path": "stylecop.analyzers.unstable/1.2.0.556", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "THIRD-PARTY-NOTICES.txt", + "analyzers/dotnet/cs/StyleCop.Analyzers.CodeFixes.dll", + "analyzers/dotnet/cs/StyleCop.Analyzers.dll", + "analyzers/dotnet/cs/de-DE/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/en-GB/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/es-MX/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/fr-FR/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/pl-PL/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/pt-BR/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/ru-RU/StyleCop.Analyzers.resources.dll", + "rulesets/StyleCopAnalyzersDefault.ruleset", + "stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512", + "stylecop.analyzers.unstable.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, + "Jellyfin.CodeAnalysis/1.0.0": { + "type": "project", + "path": "../src/Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj", + "msbuildProject": "../src/Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj" + }, "Jellyfin.Common/10.12.0": { "type": "project", "path": "../MediaBrowser.Common/MediaBrowser.Common.csproj", @@ -1240,8 +1442,15 @@ }, "projectFileDependencyGroups": { "net11.0": [ + "IDisposableAnalyzers >= 4.0.8", + "Jellyfin.CodeAnalysis >= 1.0.0", "Jellyfin.Common >= 10.12.0", - "Jellyfin.Model >= 10.12.0" + "Jellyfin.Model >= 10.12.0", + "Jellyfin.Sdk >= 2025.10.21", + "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0", + "SerilogAnalyzer >= 0.15.0", + "SmartAnalyzers.MultithreadingAnalyzer >= 1.1.31", + "StyleCop.Analyzers >= 1.2.0-beta.556" ] }, "packageFolders": { @@ -1283,20 +1492,13 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } }, - "warningProperties": { - "allWarningsAsErrors": true, - "warnAsError": [ - "NU1605" - ], - "warnNotAsError": [ - "NU1902", - "NU1903" - ] - }, "restoreAuditProperties": { "enableAudit": "true", "auditLevel": "low", @@ -1307,6 +1509,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", diff --git a/Emby.Naming/obj/project.nuget.cache b/Emby.Naming/obj/project.nuget.cache index ee09b7f3..1ef4bf68 100644 --- a/Emby.Naming/obj/project.nuget.cache +++ b/Emby.Naming/obj/project.nuget.cache @@ -1,14 +1,16 @@ { "version": 2, - "dgSpecHash": "0fSD+F6e3Ek=", + "dgSpecHash": "qWdnDCktJdY=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\Emby.Naming\\Emby.Naming.csproj", "expectedPackageFiles": [ "C:\\Users\\wjones\\.nuget\\packages\\diacritics\\4.1.4\\diacritics.4.1.4.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\icu4n\\60.1.0-alpha.356\\icu4n.60.1.0-alpha.356.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\icu4n.transliterator\\60.1.0-alpha.356\\icu4n.transliterator.60.1.0-alpha.356.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\idisposableanalyzers\\4.0.8\\idisposableanalyzers.4.0.8.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\j2n\\2.0.0\\j2n.2.0.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\jellyfin.sdk\\2025.10.21\\jellyfin.sdk.2025.10.21.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.bannedapianalyzers\\4.14.0\\microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.11.0.0-preview.1.26104.118.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.abstractions.11.0.0-preview.1.26104.118.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.analyzers.11.0.0-preview.1.26104.118.nupkg.sha512", @@ -30,7 +32,11 @@ "C:\\Users\\wjones\\.nuget\\packages\\microsoft.kiota.serialization.text\\1.20.1\\microsoft.kiota.serialization.text.1.20.1.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\polly\\8.6.5\\polly.8.6.5.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\polly.core\\8.6.5\\polly.core.8.6.5.nupkg.sha512", - "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512" + "C:\\Users\\wjones\\.nuget\\packages\\seriloganalyzer\\0.15.0\\seriloganalyzer.0.15.0.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\smartanalyzers.multithreadinganalyzer\\1.1.31\\smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers\\1.2.0-beta.556\\stylecop.analyzers.1.2.0-beta.556.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers.unstable\\1.2.0.556\\stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512" ], "logs": [] } \ No newline at end of file diff --git a/Emby.Photos/obj/Emby.Photos.csproj.nuget.dgspec.json b/Emby.Photos/obj/Emby.Photos.csproj.nuget.dgspec.json index c2300092..22cbb000 100644 --- a/Emby.Photos/obj/Emby.Photos.csproj.nuget.dgspec.json +++ b/Emby.Photos/obj/Emby.Photos.csproj.nuget.dgspec.json @@ -39,20 +39,13 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } }, - "warningProperties": { - "allWarningsAsErrors": true, - "warnAsError": [ - "NU1605" - ], - "warnNotAsError": [ - "NU1902", - "NU1903" - ] - }, "restoreAuditProperties": { "enableAudit": "true", "auditLevel": "low", @@ -63,6 +56,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -478,6 +510,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -503,6 +538,38 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "TagLibSharp": { "target": "Package", "version": "[2.3.0, )", @@ -919,6 +986,9 @@ "net11.0": { "targetAlias": "net11.0", "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -946,10 +1016,47 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Logging": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -1364,6 +1471,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -1388,6 +1498,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -1951,6 +2100,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj" } @@ -1983,15 +2135,47 @@ "version": "[2.5.4, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Configuration.Binder": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -2407,6 +2591,9 @@ "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj" } @@ -2434,17 +2621,49 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "MimeTypes": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", "target": "Package", "version": "[2.5.2, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -3024,6 +3243,13 @@ "netstandard2.0": { "targetAlias": "netstandard2.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -3035,6 +3261,13 @@ "version": "[3.11.0, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.CodeAnalysis.CSharp": { "suppressParent": "All", "target": "Package", @@ -3046,6 +3279,24 @@ "target": "Package", "version": "[2.0.3, )", "autoReferenced": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -3178,7 +3429,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -3202,6 +3457,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -3225,6 +3494,24 @@ "target": "Package", "version": "[8.6.5, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -3636,7 +3923,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -3673,10 +3964,42 @@ "version": "[60.1.0-alpha.356, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { diff --git a/Emby.Photos/obj/Emby.Photos.csproj.nuget.g.props b/Emby.Photos/obj/Emby.Photos.csproj.nuget.g.props index 59d22c92..651d5bb6 100644 --- a/Emby.Photos/obj/Emby.Photos.csproj.nuget.g.props +++ b/Emby.Photos/obj/Emby.Photos.csproj.nuget.g.props @@ -15,5 +15,13 @@ + + + C:\Users\wjones\.nuget\packages\stylecop.analyzers.unstable\1.2.0.556 + C:\Users\wjones\.nuget\packages\smartanalyzers.multithreadinganalyzer\1.1.31 + C:\Users\wjones\.nuget\packages\seriloganalyzer\0.15.0 + C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.bannedapianalyzers\4.14.0 + C:\Users\wjones\.nuget\packages\idisposableanalyzers\4.0.8 + \ No newline at end of file diff --git a/Emby.Photos/obj/Emby.Photos.csproj.nuget.g.targets b/Emby.Photos/obj/Emby.Photos.csproj.nuget.g.targets index 693275db..fee5dc52 100644 --- a/Emby.Photos/obj/Emby.Photos.csproj.nuget.g.targets +++ b/Emby.Photos/obj/Emby.Photos.csproj.nuget.g.targets @@ -4,5 +4,6 @@ + \ No newline at end of file diff --git a/Emby.Photos/obj/project.assets.json b/Emby.Photos/obj/project.assets.json index d424921e..c8949983 100644 --- a/Emby.Photos/obj/project.assets.json +++ b/Emby.Photos/obj/project.assets.json @@ -61,6 +61,9 @@ } } }, + "IDisposableAnalyzers/4.0.8": { + "type": "package" + }, "J2N/2.0.0": { "type": "package", "compile": { @@ -95,6 +98,13 @@ } } }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": { + "type": "package", + "build": { + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props": {}, + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets": {} + } + }, "Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": { "type": "package", "dependencies": { @@ -502,6 +512,12 @@ } } }, + "SerilogAnalyzer/0.15.0": { + "type": "package" + }, + "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": { + "type": "package" + }, "Std.UriTemplate/2.0.5": { "type": "package", "compile": { @@ -511,6 +527,15 @@ "lib/net5.0/Std.UriTemplate.dll": {} } }, + "StyleCop.Analyzers/1.2.0-beta.556": { + "type": "package", + "dependencies": { + "StyleCop.Analyzers.Unstable": "1.2.0.556" + } + }, + "StyleCop.Analyzers.Unstable/1.2.0.556": { + "type": "package" + }, "TagLibSharp/2.3.0": { "type": "package", "compile": { @@ -541,7 +566,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { - "Jellyfin.Model": "10.12.0" + "Jellyfin.CodeAnalysis": "1.0.0", + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Common.dll": {} @@ -558,6 +585,7 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "BitFaster.Caching": "2.5.4", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.MediaEncoding.Keyframes": "10.11.0", "Jellyfin.Model": "10.12.0", @@ -576,7 +604,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Database.Implementations": "10.11.0", + "Jellyfin.Sdk": "2025.10.21", "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118" }, "compile": { @@ -590,6 +620,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", "Polly": "8.6.5" }, @@ -606,6 +637,7 @@ "dependencies": { "Diacritics": "4.1.4", "ICU4N.Transliterator": "60.1.0-alpha.356", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Sdk": "2025.10.21" }, "compile": { @@ -634,6 +666,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Data": "10.12.0", "Jellyfin.Extensions": "10.12.0", "Jellyfin.Sdk": "2025.10.21" @@ -652,8 +685,10 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", - "Jellyfin.Model": "10.12.0" + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Naming.dll": {} @@ -750,6 +785,21 @@ "unicode-icon-128x128.jpg" ] }, + "IDisposableAnalyzers/4.0.8": { + "sha512": "vNi4NMG0CcJyjXxiNDcQ21FwV/whM9o9OEZKD+oP7tuxAqFEzX/x5OhC3OZJqW/w+8GOtCmJPBquYgMWgz0rfQ==", + "type": "package", + "path": "idisposableanalyzers/4.0.8", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/IDisposableAnalyzers.dll", + "idisposableanalyzers.4.0.8.nupkg.sha512", + "idisposableanalyzers.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "J2N/2.0.0": { "sha512": "M5bwDajAARZiyqupU+rHQJnsVLxNBOHJ8vKYHd8LcLIb1FgLfzzcJvc31Qo5Xz/GEHFjDF9ScjKL/ks/zRTXuA==", "type": "package", @@ -797,6 +847,74 @@ "lib/netstandard2.1/Jellyfin.Sdk.xml" ] }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": { + "sha512": "gSWJlDWwmDhtbrEJGiHqvEjz9KthIiFD0qYB8zZ6a7z+xpMSPEtM9yTYELSa58iFWYlzSRqP9FXO6KoT3+ZMtg==", + "type": "package", + "path": "microsoft.codeanalysis.bannedapianalyzers/4.14.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "ThirdPartyNotices.txt", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.BannedApiAnalyzers.dll", + "analyzers/dotnet/cs/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.BannedApiAnalyzers.dll", + "analyzers/dotnet/vb/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props", + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets", + "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.md", + "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.sarif", + "editorconfig/AllRulesDefault/.editorconfig", + "editorconfig/AllRulesDisabled/.editorconfig", + "editorconfig/AllRulesEnabled/.editorconfig", + "editorconfig/ApiDesignRulesDefault/.editorconfig", + "editorconfig/ApiDesignRulesEnabled/.editorconfig", + "editorconfig/DataflowRulesDefault/.editorconfig", + "editorconfig/DataflowRulesEnabled/.editorconfig", + "editorconfig/PortedFromFxCopRulesDefault/.editorconfig", + "editorconfig/PortedFromFxCopRulesEnabled/.editorconfig", + "microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512", + "microsoft.codeanalysis.bannedapianalyzers.nuspec", + "rulesets/AllRulesDefault.ruleset", + "rulesets/AllRulesDisabled.ruleset", + "rulesets/AllRulesEnabled.ruleset", + "rulesets/ApiDesignRulesDefault.ruleset", + "rulesets/ApiDesignRulesEnabled.ruleset", + "rulesets/DataflowRulesDefault.ruleset", + "rulesets/DataflowRulesEnabled.ruleset", + "rulesets/PortedFromFxCopRulesDefault.ruleset", + "rulesets/PortedFromFxCopRulesEnabled.ruleset", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": { "sha512": "Nox5NDdfvErlYUc9dyMlI7OzyrVQPKBzaq9P+SqMbAOm+gdG5KjtxpIkk7I/6NhcQ85HYaug/tEEnb7RvYdEYA==", "type": "package", @@ -1438,6 +1556,36 @@ "polly.core.nuspec" ] }, + "SerilogAnalyzer/0.15.0": { + "sha512": "sVpwfls4MfNnwIXLSGCgaUnV+c9kgJ8ia6GsyRcpd4Vs3gLogSDtSYBYrre2K2u/PNMo8GgG09RehwVnze70Tw==", + "type": "package", + "path": "seriloganalyzer/0.15.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/SerilogAnalyzer.dll", + "seriloganalyzer.0.15.0.nupkg.sha512", + "seriloganalyzer.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, + "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": { + "sha512": "2f2k7bbhDd132ArglCKpzKoWBcp3uzbIFcb4aosnlqIKlfYKDE2HevBVRNVa+LkWFnjXFFWs47Bo96fu8iS//Q==", + "type": "package", + "path": "smartanalyzers.multithreadinganalyzer/1.1.31", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/SmartAnalyzers.MultithreadingAnalyzer.dll", + "smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512", + "smartanalyzers.multithreadinganalyzer.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Std.UriTemplate/2.0.5": { "sha512": "PtqPdWNBObRcDHjyjbgOz2XoCJQaiA+HNDPQve/O7yGCkospfHDCuH9ULVx1msImwHHG+uhpDjiZX7bpLN/cnw==", "type": "package", @@ -1452,6 +1600,45 @@ "std.uritemplate.nuspec" ] }, + "StyleCop.Analyzers/1.2.0-beta.556": { + "sha512": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==", + "type": "package", + "path": "stylecop.analyzers/1.2.0-beta.556", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "THIRD-PARTY-NOTICES.txt", + "stylecop.analyzers.1.2.0-beta.556.nupkg.sha512", + "stylecop.analyzers.nuspec" + ] + }, + "StyleCop.Analyzers.Unstable/1.2.0.556": { + "sha512": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==", + "type": "package", + "path": "stylecop.analyzers.unstable/1.2.0.556", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "THIRD-PARTY-NOTICES.txt", + "analyzers/dotnet/cs/StyleCop.Analyzers.CodeFixes.dll", + "analyzers/dotnet/cs/StyleCop.Analyzers.dll", + "analyzers/dotnet/cs/de-DE/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/en-GB/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/es-MX/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/fr-FR/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/pl-PL/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/pt-BR/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/ru-RU/StyleCop.Analyzers.resources.dll", + "rulesets/StyleCopAnalyzersDefault.ruleset", + "stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512", + "stylecop.analyzers.unstable.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "TagLibSharp/2.3.0": { "sha512": "Qo4z6ZjnIfbR3Us1Za5M2vQ97OWZPmODvVmepxZ8XW0UIVLGdO2T63/N3b23kCcyiwuIe0TQvMEQG8wUCCD1mA==", "type": "package", @@ -1517,8 +1704,14 @@ }, "projectFileDependencyGroups": { "net11.0": [ + "IDisposableAnalyzers >= 4.0.8", + "Jellyfin.CodeAnalysis >= 1.0.0", "Jellyfin.Controller >= 10.12.0", "Jellyfin.Model >= 10.12.0", + "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0", + "SerilogAnalyzer >= 0.15.0", + "SmartAnalyzers.MultithreadingAnalyzer >= 1.1.31", + "StyleCop.Analyzers >= 1.2.0-beta.556", "TagLibSharp >= 2.3.0" ] }, @@ -1561,6 +1754,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -1586,6 +1782,38 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "TagLibSharp": { "target": "Package", "version": "[2.3.0, )", diff --git a/Emby.Photos/obj/project.nuget.cache b/Emby.Photos/obj/project.nuget.cache index 93f9298a..db61bb8d 100644 --- a/Emby.Photos/obj/project.nuget.cache +++ b/Emby.Photos/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "13ZizSBE6dI=", + "dgSpecHash": "DaMoU2oavX0=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\Emby.Photos\\Emby.Photos.csproj", "expectedPackageFiles": [ @@ -8,8 +8,10 @@ "C:\\Users\\wjones\\.nuget\\packages\\diacritics\\4.1.4\\diacritics.4.1.4.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\icu4n\\60.1.0-alpha.356\\icu4n.60.1.0-alpha.356.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\icu4n.transliterator\\60.1.0-alpha.356\\icu4n.transliterator.60.1.0-alpha.356.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\idisposableanalyzers\\4.0.8\\idisposableanalyzers.4.0.8.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\j2n\\2.0.0\\j2n.2.0.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\jellyfin.sdk\\2025.10.21\\jellyfin.sdk.2025.10.21.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.bannedapianalyzers\\4.14.0\\microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.11.0.0-preview.1.26104.118.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.abstractions.11.0.0-preview.1.26104.118.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.analyzers.11.0.0-preview.1.26104.118.nupkg.sha512", @@ -34,7 +36,11 @@ "C:\\Users\\wjones\\.nuget\\packages\\nebml\\1.1.0.5\\nebml.1.1.0.5.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\polly\\8.6.5\\polly.8.6.5.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\polly.core\\8.6.5\\polly.core.8.6.5.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\seriloganalyzer\\0.15.0\\seriloganalyzer.0.15.0.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\smartanalyzers.multithreadinganalyzer\\1.1.31\\smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers\\1.2.0-beta.556\\stylecop.analyzers.1.2.0-beta.556.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers.unstable\\1.2.0.556\\stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\taglibsharp\\2.3.0\\taglibsharp.2.3.0.nupkg.sha512" ], "logs": [] diff --git a/Emby.Server.Implementations/obj/Emby.Server.Implementations.csproj.nuget.dgspec.json b/Emby.Server.Implementations/obj/Emby.Server.Implementations.csproj.nuget.dgspec.json index 462abd4d..e64fa6ee 100644 --- a/Emby.Server.Implementations/obj/Emby.Server.Implementations.csproj.nuget.dgspec.json +++ b/Emby.Server.Implementations/obj/Emby.Server.Implementations.csproj.nuget.dgspec.json @@ -39,20 +39,13 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } }, - "warningProperties": { - "allWarningsAsErrors": true, - "warnAsError": [ - "NU1605" - ], - "warnNotAsError": [ - "NU1902", - "NU1903" - ] - }, "restoreAuditProperties": { "enableAudit": "true", "auditLevel": "low", @@ -63,6 +56,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -478,6 +510,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -503,6 +538,38 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "TagLibSharp": { "target": "Package", "version": "[2.3.0, )", @@ -952,6 +1019,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.XbmcMetadata\\MediaBrowser.XbmcMetadata.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.XbmcMetadata\\MediaBrowser.XbmcMetadata.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" }, @@ -1002,6 +1072,13 @@ "version": "[0.2.1, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Data.Sqlite": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", @@ -1027,6 +1104,24 @@ "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "prometheus-net.DotNetRuntime": { "target": "Package", "version": "[4.4.1, )", @@ -1449,6 +1544,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.MediaEncoding\\MediaBrowser.MediaEncoding.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.MediaEncoding\\MediaBrowser.MediaEncoding.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Hls\\Jellyfin.MediaEncoding.Hls.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Hls\\Jellyfin.MediaEncoding.Hls.csproj" }, @@ -1479,6 +1577,13 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -1489,11 +1594,36 @@ "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Http": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "Swashbuckle.AspNetCore": { "target": "Package", "version": "[7.3.2, )", @@ -1915,6 +2045,9 @@ "net11.0": { "targetAlias": "net11.0", "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -1942,10 +2075,47 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Logging": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -2367,6 +2537,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" }, @@ -2405,10 +2578,47 @@ "version": "[8.0.2, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Relational": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -2823,6 +3033,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -2847,6 +3060,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -3410,6 +3662,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj" } @@ -3442,15 +3697,47 @@ "version": "[2.5.4, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Configuration.Binder": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -3868,6 +4155,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -3892,6 +4182,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -4310,6 +4639,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -4345,16 +4677,48 @@ "version": "[0.8.0, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Http": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "UTF.Unknown": { "target": "Package", "version": "[2.6.0, )", @@ -4779,6 +5143,9 @@ "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj" } @@ -4806,17 +5173,49 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "MimeTypes": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", "target": "Package", "version": "[2.5.2, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -5378,6 +5777,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -5408,6 +5810,13 @@ "version": "[8.0.2, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -5423,6 +5832,13 @@ "version": "[8.0.1, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Caching.Abstractions": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", @@ -5443,6 +5859,24 @@ "version": "[1.4.1, )", "versionCentrallyManaged": true }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "TMDbLib": { "target": "Package", "version": "[2.3.0, )", @@ -5869,6 +6303,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -5893,6 +6330,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -6326,6 +6802,13 @@ "netstandard2.0": { "targetAlias": "netstandard2.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -6337,6 +6820,13 @@ "version": "[3.11.0, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.CodeAnalysis.CSharp": { "suppressParent": "All", "target": "Package", @@ -6348,6 +6838,24 @@ "target": "Package", "version": "[2.0.3, )", "autoReferenced": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -6480,7 +6988,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -6504,6 +7016,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -6527,6 +7053,24 @@ "target": "Package", "version": "[8.6.5, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -6942,6 +7486,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -6969,6 +7516,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", @@ -6997,6 +7558,24 @@ "target": "Package", "version": "[11.0.0-preview.1, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -7412,6 +7991,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -7439,6 +8021,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -7462,6 +8058,24 @@ "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -7882,6 +8496,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -7912,10 +8529,42 @@ "version": "[8.0.2, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -8327,7 +8976,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -8364,10 +9017,42 @@ "version": "[60.1.0-alpha.356, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -9752,6 +10437,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -9776,6 +10464,40 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", diff --git a/Emby.Server.Implementations/obj/Emby.Server.Implementations.csproj.nuget.g.props b/Emby.Server.Implementations/obj/Emby.Server.Implementations.csproj.nuget.g.props index b0a11e53..091c7860 100644 --- a/Emby.Server.Implementations/obj/Emby.Server.Implementations.csproj.nuget.g.props +++ b/Emby.Server.Implementations/obj/Emby.Server.Implementations.csproj.nuget.g.props @@ -15,8 +15,13 @@ + C:\Users\wjones\.nuget\packages\microsoft.extensions.apidescription.server\6.0.5 + C:\Users\wjones\.nuget\packages\stylecop.analyzers.unstable\1.2.0.556 + C:\Users\wjones\.nuget\packages\smartanalyzers.multithreadinganalyzer\1.1.31 + C:\Users\wjones\.nuget\packages\seriloganalyzer\0.15.0 + C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.bannedapianalyzers\4.14.0 \ No newline at end of file diff --git a/Emby.Server.Implementations/obj/Emby.Server.Implementations.csproj.nuget.g.targets b/Emby.Server.Implementations/obj/Emby.Server.Implementations.csproj.nuget.g.targets index 0ca139dd..12299813 100644 --- a/Emby.Server.Implementations/obj/Emby.Server.Implementations.csproj.nuget.g.targets +++ b/Emby.Server.Implementations/obj/Emby.Server.Implementations.csproj.nuget.g.targets @@ -5,5 +5,6 @@ + \ No newline at end of file diff --git a/Emby.Server.Implementations/obj/project.assets.json b/Emby.Server.Implementations/obj/project.assets.json index 1114ba58..cf484bfd 100644 --- a/Emby.Server.Implementations/obj/project.assets.json +++ b/Emby.Server.Implementations/obj/project.assets.json @@ -309,6 +309,13 @@ } } }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": { + "type": "package", + "build": { + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props": {}, + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets": {} + } + }, "Microsoft.Data.Sqlite/11.0.0-preview.1.26104.118": { "type": "package", "dependencies": { @@ -1062,6 +1069,12 @@ } } }, + "SerilogAnalyzer/0.15.0": { + "type": "package" + }, + "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": { + "type": "package" + }, "SourceGear.sqlite3/3.50.4.2": { "type": "package", "compile": { @@ -1249,6 +1262,15 @@ "lib/net5.0/Std.UriTemplate.dll": {} } }, + "StyleCop.Analyzers/1.2.0-beta.556": { + "type": "package", + "dependencies": { + "StyleCop.Analyzers.Unstable": "1.2.0.556" + } + }, + "StyleCop.Analyzers.Unstable/1.2.0.556": { + "type": "package" + }, "Swashbuckle.AspNetCore/7.3.2": { "type": "package", "dependencies": { @@ -1436,6 +1458,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.Model": "10.12.0", "TagLibSharp": "2.3.0" @@ -1451,6 +1474,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.MediaEncoding.Hls": "1.0.0", "Jellyfin.Networking": "1.0.0", @@ -1485,7 +1509,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { - "Jellyfin.Model": "10.12.0" + "Jellyfin.CodeAnalysis": "1.0.0", + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Common.dll": {} @@ -1502,6 +1528,7 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "BitFaster.Caching": "2.5.4", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.MediaEncoding.Keyframes": "10.11.0", "Jellyfin.Model": "10.12.0", @@ -1520,7 +1547,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Database.Implementations": "10.11.0", + "Jellyfin.Sdk": "2025.10.21", "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118" }, "compile": { @@ -1534,6 +1563,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", "Polly": "8.6.5" }, @@ -1548,6 +1578,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Database.Implementations": "10.11.0", "Microsoft.EntityFrameworkCore": "11.0.0-preview.1.26104.118", @@ -1565,6 +1596,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Database.Implementations": "10.11.0", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", @@ -1582,6 +1614,7 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "AsyncKeyedLock": "8.0.2", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.Model": "10.12.0", @@ -1600,6 +1633,7 @@ "dependencies": { "Diacritics": "4.1.4", "ICU4N.Transliterator": "60.1.0-alpha.356", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Sdk": "2025.10.21" }, "compile": { @@ -1646,6 +1680,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Data": "10.12.0", "Jellyfin.Extensions": "10.12.0", "Jellyfin.Sdk": "2025.10.21" @@ -1664,8 +1699,10 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", - "Jellyfin.Model": "10.12.0" + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Naming.dll": {} @@ -1678,6 +1715,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Controller": "10.12.0" }, @@ -1693,12 +1731,14 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "AsyncKeyedLock": "8.0.2", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.Data": "10.12.0", "Jellyfin.Database.Implementations": "10.11.0", "Jellyfin.Database.Providers.Postgres": "1.0.0", "Jellyfin.Database.Providers.Sqlite": "1.0.0", "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118" }, "compile": { @@ -1712,8 +1752,10 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Controller": "10.12.0", - "Jellyfin.Model": "10.12.0" + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/MediaBrowser.LocalMetadata.dll": {} @@ -1728,6 +1770,7 @@ "dependencies": { "AsyncKeyedLock": "8.0.2", "BDInfo": "0.8.0", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.Model": "10.12.0", @@ -1748,6 +1791,7 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "AsyncKeyedLock": "8.0.2", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.Model": "10.12.0", "Jellyfin.Sdk": "2025.10.21", @@ -1771,8 +1815,10 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Controller": "10.12.0", - "Jellyfin.Model": "10.12.0" + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/MediaBrowser.XbmcMetadata.dll": {} @@ -2187,6 +2233,74 @@ "microsoft.aspnetcore.metadata.nuspec" ] }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": { + "sha512": "gSWJlDWwmDhtbrEJGiHqvEjz9KthIiFD0qYB8zZ6a7z+xpMSPEtM9yTYELSa58iFWYlzSRqP9FXO6KoT3+ZMtg==", + "type": "package", + "path": "microsoft.codeanalysis.bannedapianalyzers/4.14.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "ThirdPartyNotices.txt", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.BannedApiAnalyzers.dll", + "analyzers/dotnet/cs/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.BannedApiAnalyzers.dll", + "analyzers/dotnet/vb/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props", + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets", + "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.md", + "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.sarif", + "editorconfig/AllRulesDefault/.editorconfig", + "editorconfig/AllRulesDisabled/.editorconfig", + "editorconfig/AllRulesEnabled/.editorconfig", + "editorconfig/ApiDesignRulesDefault/.editorconfig", + "editorconfig/ApiDesignRulesEnabled/.editorconfig", + "editorconfig/DataflowRulesDefault/.editorconfig", + "editorconfig/DataflowRulesEnabled/.editorconfig", + "editorconfig/PortedFromFxCopRulesDefault/.editorconfig", + "editorconfig/PortedFromFxCopRulesEnabled/.editorconfig", + "microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512", + "microsoft.codeanalysis.bannedapianalyzers.nuspec", + "rulesets/AllRulesDefault.ruleset", + "rulesets/AllRulesDisabled.ruleset", + "rulesets/AllRulesEnabled.ruleset", + "rulesets/ApiDesignRulesDefault.ruleset", + "rulesets/ApiDesignRulesEnabled.ruleset", + "rulesets/DataflowRulesDefault.ruleset", + "rulesets/DataflowRulesEnabled.ruleset", + "rulesets/PortedFromFxCopRulesDefault.ruleset", + "rulesets/PortedFromFxCopRulesEnabled.ruleset", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Microsoft.Data.Sqlite/11.0.0-preview.1.26104.118": { "sha512": "Cf3KD0fmQWE5YjiaP2x9HDd7hsUleXq3mpSQMBxO8B62vLyG2j13Xhg/t++wmjKC6kp7G6N0OIxvKb2FqLyeFQ==", "type": "package", @@ -3474,6 +3588,36 @@ "prometheus-net.dotnetruntime.nuspec" ] }, + "SerilogAnalyzer/0.15.0": { + "sha512": "sVpwfls4MfNnwIXLSGCgaUnV+c9kgJ8ia6GsyRcpd4Vs3gLogSDtSYBYrre2K2u/PNMo8GgG09RehwVnze70Tw==", + "type": "package", + "path": "seriloganalyzer/0.15.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/SerilogAnalyzer.dll", + "seriloganalyzer.0.15.0.nupkg.sha512", + "seriloganalyzer.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, + "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": { + "sha512": "2f2k7bbhDd132ArglCKpzKoWBcp3uzbIFcb4aosnlqIKlfYKDE2HevBVRNVa+LkWFnjXFFWs47Bo96fu8iS//Q==", + "type": "package", + "path": "smartanalyzers.multithreadinganalyzer/1.1.31", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/SmartAnalyzers.MultithreadingAnalyzer.dll", + "smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512", + "smartanalyzers.multithreadinganalyzer.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "SourceGear.sqlite3/3.50.4.2": { "sha512": "eV9HwQ88WyoU+reGVxJz1SwME9NbYnl9h2LOY15j0LGdXN4JkTJDk8JRRg/yNgt00O3Cn5/qnska10FEZNoU5g==", "type": "package", @@ -3598,6 +3742,45 @@ "std.uritemplate.nuspec" ] }, + "StyleCop.Analyzers/1.2.0-beta.556": { + "sha512": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==", + "type": "package", + "path": "stylecop.analyzers/1.2.0-beta.556", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "THIRD-PARTY-NOTICES.txt", + "stylecop.analyzers.1.2.0-beta.556.nupkg.sha512", + "stylecop.analyzers.nuspec" + ] + }, + "StyleCop.Analyzers.Unstable/1.2.0.556": { + "sha512": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==", + "type": "package", + "path": "stylecop.analyzers.unstable/1.2.0.556", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "THIRD-PARTY-NOTICES.txt", + "analyzers/dotnet/cs/StyleCop.Analyzers.CodeFixes.dll", + "analyzers/dotnet/cs/StyleCop.Analyzers.dll", + "analyzers/dotnet/cs/de-DE/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/en-GB/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/es-MX/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/fr-FR/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/pl-PL/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/pt-BR/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/ru-RU/StyleCop.Analyzers.resources.dll", + "rulesets/StyleCopAnalyzersDefault.ruleset", + "stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512", + "stylecop.analyzers.unstable.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Swashbuckle.AspNetCore/7.3.2": { "sha512": "WEkW7Cl8bexT75eURuqrqM/TQx+ftWKOWlCHzmw3Fl3oAmxiBO/lDVOuuqZsaBCHQIBcZxA6BbyiG5dv2mD2tw==", "type": "package", @@ -3969,6 +4152,7 @@ "Emby.Photos >= 1.0.0", "Ignore >= 0.2.1", "Jellyfin.Api >= 1.0.0", + "Jellyfin.CodeAnalysis >= 1.0.0", "Jellyfin.Common >= 10.12.0", "Jellyfin.Controller >= 10.12.0", "Jellyfin.Database.Implementations >= 10.11.0", @@ -3980,11 +4164,15 @@ "MediaBrowser.MediaEncoding >= 1.0.0", "MediaBrowser.Providers >= 1.0.0", "MediaBrowser.XbmcMetadata >= 1.0.0", + "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0", "Microsoft.Data.Sqlite >= 11.0.0-preview.1.26104.118", "Microsoft.EntityFrameworkCore.Relational >= 11.0.0-preview.1.26104.118", "Microsoft.Extensions.Caching.Memory >= 11.0.0-preview.1.26104.118", "Microsoft.Extensions.DependencyInjection >= 11.0.0-preview.1.26104.118", "Microsoft.Extensions.Hosting.Abstractions >= 11.0.0-preview.1.26104.118", + "SerilogAnalyzer >= 0.15.0", + "SmartAnalyzers.MultithreadingAnalyzer >= 1.1.31", + "StyleCop.Analyzers >= 1.2.0-beta.556", "prometheus-net.DotNetRuntime >= 4.4.1" ] }, @@ -4055,6 +4243,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.XbmcMetadata\\MediaBrowser.XbmcMetadata.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.XbmcMetadata\\MediaBrowser.XbmcMetadata.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" }, @@ -4105,6 +4296,13 @@ "version": "[0.2.1, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Data.Sqlite": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", @@ -4130,6 +4328,24 @@ "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "prometheus-net.DotNetRuntime": { "target": "Package", "version": "[4.4.1, )", diff --git a/Emby.Server.Implementations/obj/project.nuget.cache b/Emby.Server.Implementations/obj/project.nuget.cache index 59fe7bbc..442aff73 100644 --- a/Emby.Server.Implementations/obj/project.nuget.cache +++ b/Emby.Server.Implementations/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "p4SpuIo9S1w=", + "dgSpecHash": "zPBm14Az/RI=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\Emby.Server.Implementations\\Emby.Server.Implementations.csproj", "expectedPackageFiles": [ @@ -25,6 +25,7 @@ "C:\\Users\\wjones\\.nuget\\packages\\metabrainz.musicbrainz\\8.0.1\\metabrainz.musicbrainz.8.0.1.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.aspnetcore.authorization\\11.0.0-preview.1.26104.118\\microsoft.aspnetcore.authorization.11.0.0-preview.1.26104.118.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.aspnetcore.metadata\\11.0.0-preview.1.26104.118\\microsoft.aspnetcore.metadata.11.0.0-preview.1.26104.118.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.bannedapianalyzers\\4.14.0\\microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.data.sqlite\\11.0.0-preview.1.26104.118\\microsoft.data.sqlite.11.0.0-preview.1.26104.118.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.data.sqlite.core\\11.0.0-preview.1.26104.118\\microsoft.data.sqlite.core.11.0.0-preview.1.26104.118.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.11.0.0-preview.1.26104.118.nupkg.sha512", @@ -69,12 +70,16 @@ "C:\\Users\\wjones\\.nuget\\packages\\polly.core\\8.6.5\\polly.core.8.6.5.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\prometheus-net\\3.1.2\\prometheus-net.3.1.2.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\prometheus-net.dotnetruntime\\4.4.1\\prometheus-net.dotnetruntime.4.4.1.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\seriloganalyzer\\0.15.0\\seriloganalyzer.0.15.0.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\smartanalyzers.multithreadinganalyzer\\1.1.31\\smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\sourcegear.sqlite3\\3.50.4.2\\sourcegear.sqlite3.3.50.4.2.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\sqlitepclraw.bundle_e_sqlite3\\3.0.2\\sqlitepclraw.bundle_e_sqlite3.3.0.2.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\sqlitepclraw.config.e_sqlite3\\3.0.2\\sqlitepclraw.config.e_sqlite3.3.0.2.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\sqlitepclraw.core\\3.0.2\\sqlitepclraw.core.3.0.2.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\sqlitepclraw.provider.e_sqlite3\\3.0.2\\sqlitepclraw.provider.e_sqlite3.3.0.2.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers\\1.2.0-beta.556\\stylecop.analyzers.1.2.0-beta.556.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers.unstable\\1.2.0.556\\stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\swashbuckle.aspnetcore\\7.3.2\\swashbuckle.aspnetcore.7.3.2.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\swashbuckle.aspnetcore.redoc\\6.9.0\\swashbuckle.aspnetcore.redoc.6.9.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\swashbuckle.aspnetcore.swagger\\7.3.2\\swashbuckle.aspnetcore.swagger.7.3.2.nupkg.sha512", diff --git a/Jellyfin.Api/obj/Jellyfin.Api.csproj.nuget.dgspec.json b/Jellyfin.Api/obj/Jellyfin.Api.csproj.nuget.dgspec.json index 7d36ac4c..694e475d 100644 --- a/Jellyfin.Api/obj/Jellyfin.Api.csproj.nuget.dgspec.json +++ b/Jellyfin.Api/obj/Jellyfin.Api.csproj.nuget.dgspec.json @@ -39,20 +39,13 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } }, - "warningProperties": { - "allWarningsAsErrors": true, - "warnAsError": [ - "NU1605" - ], - "warnNotAsError": [ - "NU1902", - "NU1903" - ] - }, "restoreAuditProperties": { "enableAudit": "true", "auditLevel": "low", @@ -63,6 +56,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -479,6 +511,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.MediaEncoding\\MediaBrowser.MediaEncoding.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.MediaEncoding\\MediaBrowser.MediaEncoding.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Hls\\Jellyfin.MediaEncoding.Hls.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Hls\\Jellyfin.MediaEncoding.Hls.csproj" }, @@ -509,6 +544,13 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -519,11 +561,36 @@ "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Http": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "Swashbuckle.AspNetCore": { "target": "Package", "version": "[7.3.2, )", @@ -945,6 +1012,9 @@ "net11.0": { "targetAlias": "net11.0", "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -972,10 +1042,47 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Logging": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -1390,6 +1497,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -1414,6 +1524,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -1977,6 +2126,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj" } @@ -2009,15 +2161,47 @@ "version": "[2.5.4, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Configuration.Binder": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -2438,6 +2622,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -2473,16 +2660,48 @@ "version": "[0.8.0, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Http": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "UTF.Unknown": { "target": "Package", "version": "[2.6.0, )", @@ -2907,6 +3126,9 @@ "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj" } @@ -2934,17 +3156,49 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "MimeTypes": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", "target": "Package", "version": "[2.5.2, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -3524,6 +3778,13 @@ "netstandard2.0": { "targetAlias": "netstandard2.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -3535,6 +3796,13 @@ "version": "[3.11.0, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.CodeAnalysis.CSharp": { "suppressParent": "All", "target": "Package", @@ -3546,6 +3814,24 @@ "target": "Package", "version": "[2.0.3, )", "autoReferenced": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -3678,7 +3964,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -3702,6 +3992,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -3725,6 +4029,24 @@ "target": "Package", "version": "[8.6.5, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -4136,7 +4458,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -4173,10 +4499,42 @@ "version": "[60.1.0-alpha.356, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -5561,6 +5919,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -5585,6 +5946,40 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", diff --git a/Jellyfin.Api/obj/Jellyfin.Api.csproj.nuget.g.props b/Jellyfin.Api/obj/Jellyfin.Api.csproj.nuget.g.props index b604d0b4..ba1ca20d 100644 --- a/Jellyfin.Api/obj/Jellyfin.Api.csproj.nuget.g.props +++ b/Jellyfin.Api/obj/Jellyfin.Api.csproj.nuget.g.props @@ -17,8 +17,14 @@ + C:\Users\wjones\.nuget\packages\microsoft.extensions.apidescription.server\6.0.5 + C:\Users\wjones\.nuget\packages\stylecop.analyzers.unstable\1.2.0.556 + C:\Users\wjones\.nuget\packages\smartanalyzers.multithreadinganalyzer\1.1.31 + C:\Users\wjones\.nuget\packages\seriloganalyzer\0.15.0 + C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.bannedapianalyzers\4.14.0 + C:\Users\wjones\.nuget\packages\idisposableanalyzers\4.0.8 \ No newline at end of file diff --git a/Jellyfin.Api/obj/Jellyfin.Api.csproj.nuget.g.targets b/Jellyfin.Api/obj/Jellyfin.Api.csproj.nuget.g.targets index 2d3f6fc4..a70c7b16 100644 --- a/Jellyfin.Api/obj/Jellyfin.Api.csproj.nuget.g.targets +++ b/Jellyfin.Api/obj/Jellyfin.Api.csproj.nuget.g.targets @@ -5,5 +5,6 @@ + \ No newline at end of file diff --git a/Jellyfin.Api/obj/project.assets.json b/Jellyfin.Api/obj/project.assets.json index df5bd67f..9b6562b2 100644 --- a/Jellyfin.Api/obj/project.assets.json +++ b/Jellyfin.Api/obj/project.assets.json @@ -83,6 +83,9 @@ } } }, + "IDisposableAnalyzers/4.0.8": { + "type": "package" + }, "J2N/2.0.0": { "type": "package", "compile": { @@ -170,6 +173,13 @@ } } }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": { + "type": "package", + "build": { + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props": {}, + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets": {} + } + }, "Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": { "type": "package", "dependencies": { @@ -711,6 +721,12 @@ } } }, + "SerilogAnalyzer/0.15.0": { + "type": "package" + }, + "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": { + "type": "package" + }, "Std.UriTemplate/2.0.5": { "type": "package", "compile": { @@ -720,6 +736,15 @@ "lib/net5.0/Std.UriTemplate.dll": {} } }, + "StyleCop.Analyzers/1.2.0-beta.556": { + "type": "package", + "dependencies": { + "StyleCop.Analyzers.Unstable": "1.2.0.556" + } + }, + "StyleCop.Analyzers.Unstable/1.2.0.556": { + "type": "package" + }, "Swashbuckle.AspNetCore/7.3.2": { "type": "package", "dependencies": { @@ -866,7 +891,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { - "Jellyfin.Model": "10.12.0" + "Jellyfin.CodeAnalysis": "1.0.0", + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Common.dll": {} @@ -883,6 +910,7 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "BitFaster.Caching": "2.5.4", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.MediaEncoding.Keyframes": "10.11.0", "Jellyfin.Model": "10.12.0", @@ -901,7 +929,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Database.Implementations": "10.11.0", + "Jellyfin.Sdk": "2025.10.21", "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118" }, "compile": { @@ -915,6 +945,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", "Polly": "8.6.5" }, @@ -931,6 +962,7 @@ "dependencies": { "Diacritics": "4.1.4", "ICU4N.Transliterator": "60.1.0-alpha.356", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Sdk": "2025.10.21" }, "compile": { @@ -977,6 +1009,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Data": "10.12.0", "Jellyfin.Extensions": "10.12.0", "Jellyfin.Sdk": "2025.10.21" @@ -995,8 +1028,10 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", - "Jellyfin.Model": "10.12.0" + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Naming.dll": {} @@ -1009,6 +1044,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Controller": "10.12.0" }, @@ -1025,6 +1061,7 @@ "dependencies": { "AsyncKeyedLock": "8.0.2", "BDInfo": "0.8.0", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.Model": "10.12.0", @@ -1168,6 +1205,21 @@ "unicode-icon-128x128.jpg" ] }, + "IDisposableAnalyzers/4.0.8": { + "sha512": "vNi4NMG0CcJyjXxiNDcQ21FwV/whM9o9OEZKD+oP7tuxAqFEzX/x5OhC3OZJqW/w+8GOtCmJPBquYgMWgz0rfQ==", + "type": "package", + "path": "idisposableanalyzers/4.0.8", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/IDisposableAnalyzers.dll", + "idisposableanalyzers.4.0.8.nupkg.sha512", + "idisposableanalyzers.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "J2N/2.0.0": { "sha512": "M5bwDajAARZiyqupU+rHQJnsVLxNBOHJ8vKYHd8LcLIb1FgLfzzcJvc31Qo5Xz/GEHFjDF9ScjKL/ks/zRTXuA==", "type": "package", @@ -1272,6 +1324,74 @@ "microsoft.aspnetcore.metadata.nuspec" ] }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": { + "sha512": "gSWJlDWwmDhtbrEJGiHqvEjz9KthIiFD0qYB8zZ6a7z+xpMSPEtM9yTYELSa58iFWYlzSRqP9FXO6KoT3+ZMtg==", + "type": "package", + "path": "microsoft.codeanalysis.bannedapianalyzers/4.14.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "ThirdPartyNotices.txt", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.BannedApiAnalyzers.dll", + "analyzers/dotnet/cs/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.BannedApiAnalyzers.dll", + "analyzers/dotnet/vb/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props", + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets", + "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.md", + "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.sarif", + "editorconfig/AllRulesDefault/.editorconfig", + "editorconfig/AllRulesDisabled/.editorconfig", + "editorconfig/AllRulesEnabled/.editorconfig", + "editorconfig/ApiDesignRulesDefault/.editorconfig", + "editorconfig/ApiDesignRulesEnabled/.editorconfig", + "editorconfig/DataflowRulesDefault/.editorconfig", + "editorconfig/DataflowRulesEnabled/.editorconfig", + "editorconfig/PortedFromFxCopRulesDefault/.editorconfig", + "editorconfig/PortedFromFxCopRulesEnabled/.editorconfig", + "microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512", + "microsoft.codeanalysis.bannedapianalyzers.nuspec", + "rulesets/AllRulesDefault.ruleset", + "rulesets/AllRulesDisabled.ruleset", + "rulesets/AllRulesEnabled.ruleset", + "rulesets/ApiDesignRulesDefault.ruleset", + "rulesets/ApiDesignRulesEnabled.ruleset", + "rulesets/DataflowRulesDefault.ruleset", + "rulesets/DataflowRulesEnabled.ruleset", + "rulesets/PortedFromFxCopRulesDefault.ruleset", + "rulesets/PortedFromFxCopRulesEnabled.ruleset", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": { "sha512": "Nox5NDdfvErlYUc9dyMlI7OzyrVQPKBzaq9P+SqMbAOm+gdG5KjtxpIkk7I/6NhcQ85HYaug/tEEnb7RvYdEYA==", "type": "package", @@ -2297,6 +2417,36 @@ "polly.core.nuspec" ] }, + "SerilogAnalyzer/0.15.0": { + "sha512": "sVpwfls4MfNnwIXLSGCgaUnV+c9kgJ8ia6GsyRcpd4Vs3gLogSDtSYBYrre2K2u/PNMo8GgG09RehwVnze70Tw==", + "type": "package", + "path": "seriloganalyzer/0.15.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/SerilogAnalyzer.dll", + "seriloganalyzer.0.15.0.nupkg.sha512", + "seriloganalyzer.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, + "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": { + "sha512": "2f2k7bbhDd132ArglCKpzKoWBcp3uzbIFcb4aosnlqIKlfYKDE2HevBVRNVa+LkWFnjXFFWs47Bo96fu8iS//Q==", + "type": "package", + "path": "smartanalyzers.multithreadinganalyzer/1.1.31", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/SmartAnalyzers.MultithreadingAnalyzer.dll", + "smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512", + "smartanalyzers.multithreadinganalyzer.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Std.UriTemplate/2.0.5": { "sha512": "PtqPdWNBObRcDHjyjbgOz2XoCJQaiA+HNDPQve/O7yGCkospfHDCuH9ULVx1msImwHHG+uhpDjiZX7bpLN/cnw==", "type": "package", @@ -2311,6 +2461,45 @@ "std.uritemplate.nuspec" ] }, + "StyleCop.Analyzers/1.2.0-beta.556": { + "sha512": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==", + "type": "package", + "path": "stylecop.analyzers/1.2.0-beta.556", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "THIRD-PARTY-NOTICES.txt", + "stylecop.analyzers.1.2.0-beta.556.nupkg.sha512", + "stylecop.analyzers.nuspec" + ] + }, + "StyleCop.Analyzers.Unstable/1.2.0.556": { + "sha512": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==", + "type": "package", + "path": "stylecop.analyzers.unstable/1.2.0.556", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "THIRD-PARTY-NOTICES.txt", + "analyzers/dotnet/cs/StyleCop.Analyzers.CodeFixes.dll", + "analyzers/dotnet/cs/StyleCop.Analyzers.dll", + "analyzers/dotnet/cs/de-DE/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/en-GB/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/es-MX/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/fr-FR/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/pl-PL/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/pt-BR/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/ru-RU/StyleCop.Analyzers.resources.dll", + "rulesets/StyleCopAnalyzersDefault.ruleset", + "stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512", + "stylecop.analyzers.unstable.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Swashbuckle.AspNetCore/7.3.2": { "sha512": "WEkW7Cl8bexT75eURuqrqM/TQx+ftWKOWlCHzmw3Fl3oAmxiBO/lDVOuuqZsaBCHQIBcZxA6BbyiG5dv2mD2tw==", "type": "package", @@ -2564,13 +2753,19 @@ }, "projectFileDependencyGroups": { "net11.0": [ + "IDisposableAnalyzers >= 4.0.8", + "Jellyfin.CodeAnalysis >= 1.0.0", "Jellyfin.Controller >= 10.12.0", "Jellyfin.MediaEncoding.Hls >= 1.0.0", "Jellyfin.Networking >= 1.0.0", "Jellyfin.Sdk >= 2025.10.21", "MediaBrowser.MediaEncoding >= 1.0.0", "Microsoft.AspNetCore.Authorization >= 11.0.0-preview.1.26104.118", + "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0", "Microsoft.Extensions.Http >= 11.0.0-preview.1.26104.118", + "SerilogAnalyzer >= 0.15.0", + "SmartAnalyzers.MultithreadingAnalyzer >= 1.1.31", + "StyleCop.Analyzers >= 1.2.0-beta.556", "Swashbuckle.AspNetCore >= 7.3.2", "Swashbuckle.AspNetCore.ReDoc >= 6.9.0" ] @@ -2615,6 +2810,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.MediaEncoding\\MediaBrowser.MediaEncoding.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.MediaEncoding\\MediaBrowser.MediaEncoding.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Hls\\Jellyfin.MediaEncoding.Hls.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Hls\\Jellyfin.MediaEncoding.Hls.csproj" }, @@ -2645,6 +2843,13 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -2655,11 +2860,36 @@ "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Http": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "Swashbuckle.AspNetCore": { "target": "Package", "version": "[7.3.2, )", diff --git a/Jellyfin.Api/obj/project.nuget.cache b/Jellyfin.Api/obj/project.nuget.cache index d5c7e415..3b4b499f 100644 --- a/Jellyfin.Api/obj/project.nuget.cache +++ b/Jellyfin.Api/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "dj1RpwTBXfw=", + "dgSpecHash": "sEpjYe2J48k=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Api\\Jellyfin.Api.csproj", "expectedPackageFiles": [ @@ -10,11 +10,13 @@ "C:\\Users\\wjones\\.nuget\\packages\\diacritics\\4.1.4\\diacritics.4.1.4.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\icu4n\\60.1.0-alpha.356\\icu4n.60.1.0-alpha.356.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\icu4n.transliterator\\60.1.0-alpha.356\\icu4n.transliterator.60.1.0-alpha.356.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\idisposableanalyzers\\4.0.8\\idisposableanalyzers.4.0.8.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\j2n\\2.0.0\\j2n.2.0.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\jellyfin.sdk\\2025.10.21\\jellyfin.sdk.2025.10.21.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\libse\\4.0.12\\libse.4.0.12.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.aspnetcore.authorization\\11.0.0-preview.1.26104.118\\microsoft.aspnetcore.authorization.11.0.0-preview.1.26104.118.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.aspnetcore.metadata\\11.0.0-preview.1.26104.118\\microsoft.aspnetcore.metadata.11.0.0-preview.1.26104.118.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.bannedapianalyzers\\4.14.0\\microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.11.0.0-preview.1.26104.118.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.abstractions.11.0.0-preview.1.26104.118.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.analyzers.11.0.0-preview.1.26104.118.nupkg.sha512", @@ -46,7 +48,11 @@ "C:\\Users\\wjones\\.nuget\\packages\\nebml\\1.1.0.5\\nebml.1.1.0.5.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\polly\\8.6.5\\polly.8.6.5.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\polly.core\\8.6.5\\polly.core.8.6.5.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\seriloganalyzer\\0.15.0\\seriloganalyzer.0.15.0.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\smartanalyzers.multithreadinganalyzer\\1.1.31\\smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers\\1.2.0-beta.556\\stylecop.analyzers.1.2.0-beta.556.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers.unstable\\1.2.0.556\\stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\swashbuckle.aspnetcore\\7.3.2\\swashbuckle.aspnetcore.7.3.2.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\swashbuckle.aspnetcore.redoc\\6.9.0\\swashbuckle.aspnetcore.redoc.6.9.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\swashbuckle.aspnetcore.swagger\\7.3.2\\swashbuckle.aspnetcore.swagger.7.3.2.nupkg.sha512", diff --git a/Jellyfin.Data/obj/Jellyfin.Data.csproj.nuget.dgspec.json b/Jellyfin.Data/obj/Jellyfin.Data.csproj.nuget.dgspec.json index 112d1417..cd4cea17 100644 --- a/Jellyfin.Data/obj/Jellyfin.Data.csproj.nuget.dgspec.json +++ b/Jellyfin.Data/obj/Jellyfin.Data.csproj.nuget.dgspec.json @@ -34,6 +34,9 @@ "net11.0": { "targetAlias": "net11.0", "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -61,10 +64,47 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Logging": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -447,6 +487,216 @@ } } }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj", + "projectName": "Jellyfin.CodeAnalysis", + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj", + "packagesPath": "C:\\Users\\wjones\\.nuget\\packages\\", + "outputPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\obj\\", + "projectStyle": "PackageReference", + "centralPackageVersionsManagementEnabled": true, + "fallbackFolders": [ + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" + ], + "configFilePaths": [ + "E:\\Projects\\pgsql-jellyfin\\NuGet.Config", + "C:\\Users\\wjones\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + ], + "originalTargetFrameworks": [ + "netstandard2.0" + ], + "sources": { + "C:\\Program Files\\dotnet\\library-packs": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "netstandard2.0": { + "targetAlias": "netstandard2.0", + "projectReferences": {} + } + }, + "warningProperties": { + "allWarningsAsErrors": true, + "warnAsError": [ + "NU1605" + ], + "warnNotAsError": [ + "NU1902", + "NU1903" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + }, + "SdkAnalysisLevel": "11.0.100" + }, + "frameworks": { + "netstandard2.0": { + "targetAlias": "netstandard2.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[3.11.0, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.CSharp": { + "suppressParent": "All", + "target": "Package", + "version": "[5.0.0, )", + "versionCentrallyManaged": true + }, + "NETStandard.Library": { + "suppressParent": "All", + "target": "Package", + "version": "[2.0.3, )", + "autoReferenced": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, + "centralPackageVersions": { + "AsyncKeyedLock": "8.0.2", + "AutoFixture": "4.18.1", + "AutoFixture.AutoMoq": "4.18.1", + "AutoFixture.Xunit2": "4.18.1", + "BDInfo": "0.8.0", + "BitFaster.Caching": "2.5.4", + "BlurHashSharp": "1.4.0-pre.1", + "BlurHashSharp.SkiaSharp": "1.4.0-pre.1", + "CommandLineParser": "2.9.1", + "coverlet.collector": "8.0.0", + "Diacritics": "4.1.4", + "DiscUtils.Udf": "0.16.13", + "DotNet.Glob": "3.1.3", + "FsCheck.Xunit": "3.3.2", + "HarfBuzzSharp.NativeAssets.Linux": "8.3.1.1", + "ICU4N.Transliterator": "60.1.0-alpha.356", + "IDisposableAnalyzers": "4.0.8", + "Ignore": "0.2.1", + "Jellyfin.Sdk": "2025.10.21", + "Jellyfin.XmlTv": "10.8.0", + "libse": "4.0.12", + "LrcParser": "2025.623.0", + "MetaBrainz.MusicBrainz": "8.0.1", + "Microsoft.AspNetCore.Authorization": "11.0.0-preview.1.26104.118", + "Microsoft.AspNetCore.Mvc.Testing": "11.0.0-preview.1.26104.118", + "Microsoft.CodeAnalysis.Analyzers": "3.11.0", + "Microsoft.CodeAnalysis.BannedApiAnalyzers": "4.14.0", + "Microsoft.CodeAnalysis.Common": "5.0.0", + "Microsoft.CodeAnalysis.CSharp": "5.0.0", + "Microsoft.Data.Sqlite": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore.Design": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore.Sqlite": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore.Tools": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Caching.Abstractions": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Caching.Memory": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Configuration.Abstractions": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Configuration.Binder": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.DependencyInjection": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Hosting.Abstractions": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Http": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Options": "11.0.0-preview.1.26104.118", + "Microsoft.NET.Test.Sdk": "18.0.1", + "MimeTypes": "2.5.2", + "Moq": "4.18.4", + "Morestachio": "5.0.1.631", + "NEbml": "1.1.0.5", + "Newtonsoft.Json": "13.0.4", + "Npgsql.EntityFrameworkCore.PostgreSQL": "11.0.0-preview.1", + "PlaylistsNET": "1.4.1", + "Polly": "8.6.5", + "prometheus-net": "8.2.1", + "prometheus-net.AspNetCore": "8.2.1", + "prometheus-net.DotNetRuntime": "4.4.1", + "Serilog.AspNetCore": "10.0.0", + "Serilog.Enrichers.Thread": "4.0.0", + "Serilog.Expressions": "5.0.0", + "Serilog.Settings.Configuration": "10.0.0", + "Serilog.Sinks.Async": "2.1.0", + "Serilog.Sinks.Console": "6.1.1", + "Serilog.Sinks.File": "7.0.0", + "Serilog.Sinks.Graylog": "3.1.1", + "SerilogAnalyzer": "0.15.0", + "SharpFuzz": "2.2.0", + "SkiaSharp": "[3.116.1]", + "SkiaSharp.HarfBuzz": "[3.116.1]", + "SkiaSharp.NativeAssets.Linux": "[3.116.1]", + "SmartAnalyzers.MultithreadingAnalyzer": "1.1.31", + "StyleCop.Analyzers": "1.2.0-beta.556", + "Svg.Skia": "3.4.1", + "Swashbuckle.AspNetCore": "7.3.2", + "Swashbuckle.AspNetCore.ReDoc": "6.9.0", + "System.Text.Json": "11.0.0-preview.1.26104.118", + "TagLibSharp": "2.3.0", + "TMDbLib": "2.3.0", + "UTF.Unknown": "2.6.0", + "xunit": "2.9.3", + "Xunit.Priority": "1.1.6", + "xunit.runner.visualstudio": "2.8.2", + "Xunit.SkippableFact": "1.5.61", + "z440.atl.core": "7.11.0" + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\11.0.100-preview.1.26104.118\\RuntimeIdentifierGraph.json" + } + } + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "version": "10.11.0", "restore": { @@ -476,7 +726,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -500,6 +754,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -523,6 +791,24 @@ "target": "Package", "version": "[8.6.5, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { diff --git a/Jellyfin.Data/obj/Jellyfin.Data.csproj.nuget.g.props b/Jellyfin.Data/obj/Jellyfin.Data.csproj.nuget.g.props index 59d22c92..651d5bb6 100644 --- a/Jellyfin.Data/obj/Jellyfin.Data.csproj.nuget.g.props +++ b/Jellyfin.Data/obj/Jellyfin.Data.csproj.nuget.g.props @@ -15,5 +15,13 @@ + + + C:\Users\wjones\.nuget\packages\stylecop.analyzers.unstable\1.2.0.556 + C:\Users\wjones\.nuget\packages\smartanalyzers.multithreadinganalyzer\1.1.31 + C:\Users\wjones\.nuget\packages\seriloganalyzer\0.15.0 + C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.bannedapianalyzers\4.14.0 + C:\Users\wjones\.nuget\packages\idisposableanalyzers\4.0.8 + \ No newline at end of file diff --git a/Jellyfin.Data/obj/Jellyfin.Data.csproj.nuget.g.targets b/Jellyfin.Data/obj/Jellyfin.Data.csproj.nuget.g.targets index c9f67447..01ebd317 100644 --- a/Jellyfin.Data/obj/Jellyfin.Data.csproj.nuget.g.targets +++ b/Jellyfin.Data/obj/Jellyfin.Data.csproj.nuget.g.targets @@ -3,5 +3,6 @@ + \ No newline at end of file diff --git a/Jellyfin.Data/obj/project.assets.json b/Jellyfin.Data/obj/project.assets.json index 14ecf0d5..2f81ca09 100644 --- a/Jellyfin.Data/obj/project.assets.json +++ b/Jellyfin.Data/obj/project.assets.json @@ -2,6 +2,37 @@ "version": 3, "targets": { "net11.0": { + "IDisposableAnalyzers/4.0.8": { + "type": "package" + }, + "Jellyfin.Sdk/2025.10.21": { + "type": "package", + "dependencies": { + "Microsoft.Kiota.Abstractions": "1.20.1", + "Microsoft.Kiota.Http.HttpClientLibrary": "1.20.1", + "Microsoft.Kiota.Serialization.Form": "1.20.1", + "Microsoft.Kiota.Serialization.Json": "1.20.1", + "Microsoft.Kiota.Serialization.Multipart": "1.20.1", + "Microsoft.Kiota.Serialization.Text": "1.20.1" + }, + "compile": { + "lib/net8.0/Jellyfin.Sdk.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Jellyfin.Sdk.dll": { + "related": ".xml" + } + } + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": { + "type": "package", + "build": { + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props": {}, + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets": {} + } + }, "Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": { "type": "package", "dependencies": { @@ -231,6 +262,102 @@ "buildTransitive/net10.0/_._": {} } }, + "Microsoft.Kiota.Abstractions/1.20.1": { + "type": "package", + "dependencies": { + "Std.UriTemplate": "2.0.5" + }, + "compile": { + "lib/net8.0/Microsoft.Kiota.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Kiota.Abstractions.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Kiota.Http.HttpClientLibrary/1.20.1": { + "type": "package", + "dependencies": { + "Microsoft.Kiota.Abstractions": "1.20.1" + }, + "compile": { + "lib/net8.0/Microsoft.Kiota.Http.HttpClientLibrary.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Kiota.Http.HttpClientLibrary.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Kiota.Serialization.Form/1.20.1": { + "type": "package", + "dependencies": { + "Microsoft.Kiota.Abstractions": "1.20.1" + }, + "compile": { + "lib/net8.0/Microsoft.Kiota.Serialization.Form.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Kiota.Serialization.Form.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Kiota.Serialization.Json/1.20.1": { + "type": "package", + "dependencies": { + "Microsoft.Kiota.Abstractions": "1.20.1" + }, + "compile": { + "lib/net8.0/Microsoft.Kiota.Serialization.Json.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Kiota.Serialization.Json.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Kiota.Serialization.Multipart/1.20.1": { + "type": "package", + "dependencies": { + "Microsoft.Kiota.Abstractions": "1.20.1" + }, + "compile": { + "lib/net8.0/Microsoft.Kiota.Serialization.Multipart.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Kiota.Serialization.Multipart.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Kiota.Serialization.Text/1.20.1": { + "type": "package", + "dependencies": { + "Microsoft.Kiota.Abstractions": "1.20.1" + }, + "compile": { + "lib/net8.0/Microsoft.Kiota.Serialization.Text.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Kiota.Serialization.Text.dll": { + "related": ".xml" + } + } + }, "Polly/8.6.5": { "type": "package", "dependencies": { @@ -260,10 +387,48 @@ } } }, + "SerilogAnalyzer/0.15.0": { + "type": "package" + }, + "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": { + "type": "package" + }, + "Std.UriTemplate/2.0.5": { + "type": "package", + "compile": { + "lib/net5.0/Std.UriTemplate.dll": {} + }, + "runtime": { + "lib/net5.0/Std.UriTemplate.dll": {} + } + }, + "StyleCop.Analyzers/1.2.0-beta.556": { + "type": "package", + "dependencies": { + "StyleCop.Analyzers.Unstable": "1.2.0.556" + } + }, + "StyleCop.Analyzers.Unstable/1.2.0.556": { + "type": "package" + }, + "Jellyfin.CodeAnalysis/1.0.0": { + "type": "project", + "framework": ".NETStandard,Version=v2.0", + "dependencies": { + "Jellyfin.Sdk": "2025.10.21" + }, + "compile": { + "bin/placeholder/Jellyfin.CodeAnalysis.dll": {} + }, + "runtime": { + "bin/placeholder/Jellyfin.CodeAnalysis.dll": {} + } + }, "Jellyfin.Database.Implementations/10.11.0": { "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", "Polly": "8.6.5" }, @@ -277,6 +442,108 @@ } }, "libraries": { + "IDisposableAnalyzers/4.0.8": { + "sha512": "vNi4NMG0CcJyjXxiNDcQ21FwV/whM9o9OEZKD+oP7tuxAqFEzX/x5OhC3OZJqW/w+8GOtCmJPBquYgMWgz0rfQ==", + "type": "package", + "path": "idisposableanalyzers/4.0.8", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/IDisposableAnalyzers.dll", + "idisposableanalyzers.4.0.8.nupkg.sha512", + "idisposableanalyzers.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, + "Jellyfin.Sdk/2025.10.21": { + "sha512": "1pG60suEiV3v77zqLd5fO9S8m8qryxj9mZYb24Me1XgSXlaCIt0SC1V1sbFKyoG70Q3n915wT4Ko4BUanorRug==", + "type": "package", + "path": "jellyfin.sdk/2025.10.21", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "jellyfin.sdk.2025.10.21.nupkg.sha512", + "jellyfin.sdk.nuspec", + "lib/net6.0/Jellyfin.Sdk.dll", + "lib/net6.0/Jellyfin.Sdk.xml", + "lib/net8.0/Jellyfin.Sdk.dll", + "lib/net8.0/Jellyfin.Sdk.xml", + "lib/netstandard2.0/Jellyfin.Sdk.dll", + "lib/netstandard2.0/Jellyfin.Sdk.xml", + "lib/netstandard2.1/Jellyfin.Sdk.dll", + "lib/netstandard2.1/Jellyfin.Sdk.xml" + ] + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": { + "sha512": "gSWJlDWwmDhtbrEJGiHqvEjz9KthIiFD0qYB8zZ6a7z+xpMSPEtM9yTYELSa58iFWYlzSRqP9FXO6KoT3+ZMtg==", + "type": "package", + "path": "microsoft.codeanalysis.bannedapianalyzers/4.14.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "ThirdPartyNotices.txt", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.BannedApiAnalyzers.dll", + "analyzers/dotnet/cs/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.BannedApiAnalyzers.dll", + "analyzers/dotnet/vb/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props", + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets", + "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.md", + "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.sarif", + "editorconfig/AllRulesDefault/.editorconfig", + "editorconfig/AllRulesDisabled/.editorconfig", + "editorconfig/AllRulesEnabled/.editorconfig", + "editorconfig/ApiDesignRulesDefault/.editorconfig", + "editorconfig/ApiDesignRulesEnabled/.editorconfig", + "editorconfig/DataflowRulesDefault/.editorconfig", + "editorconfig/DataflowRulesEnabled/.editorconfig", + "editorconfig/PortedFromFxCopRulesDefault/.editorconfig", + "editorconfig/PortedFromFxCopRulesEnabled/.editorconfig", + "microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512", + "microsoft.codeanalysis.bannedapianalyzers.nuspec", + "rulesets/AllRulesDefault.ruleset", + "rulesets/AllRulesDisabled.ruleset", + "rulesets/AllRulesEnabled.ruleset", + "rulesets/ApiDesignRulesDefault.ruleset", + "rulesets/ApiDesignRulesEnabled.ruleset", + "rulesets/DataflowRulesDefault.ruleset", + "rulesets/DataflowRulesEnabled.ruleset", + "rulesets/PortedFromFxCopRulesDefault.ruleset", + "rulesets/PortedFromFxCopRulesEnabled.ruleset", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": { "sha512": "Nox5NDdfvErlYUc9dyMlI7OzyrVQPKBzaq9P+SqMbAOm+gdG5KjtxpIkk7I/6NhcQ85HYaug/tEEnb7RvYdEYA==", "type": "package", @@ -646,6 +913,142 @@ "useSharedDesignerContext.txt" ] }, + "Microsoft.Kiota.Abstractions/1.20.1": { + "sha512": "bv1n2gnxA/O+1a26h3YB6bgcc3ZSLCjRumMh7sVkFmksLaVonhcrJpUrEtBlnnYPrnHwzm/1BYQnYjCVG7A+fA==", + "type": "package", + "path": "microsoft.kiota.abstractions/1.20.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "README.md", + "lib/net5.0/Microsoft.Kiota.Abstractions.dll", + "lib/net5.0/Microsoft.Kiota.Abstractions.xml", + "lib/net6.0/Microsoft.Kiota.Abstractions.dll", + "lib/net6.0/Microsoft.Kiota.Abstractions.xml", + "lib/net8.0/Microsoft.Kiota.Abstractions.dll", + "lib/net8.0/Microsoft.Kiota.Abstractions.xml", + "lib/netstandard2.0/Microsoft.Kiota.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Kiota.Abstractions.xml", + "lib/netstandard2.1/Microsoft.Kiota.Abstractions.dll", + "lib/netstandard2.1/Microsoft.Kiota.Abstractions.xml", + "microsoft.kiota.abstractions.1.20.1.nupkg.sha512", + "microsoft.kiota.abstractions.nuspec" + ] + }, + "Microsoft.Kiota.Http.HttpClientLibrary/1.20.1": { + "sha512": "pQzs+9n3QAG/FKFwgIaRE0EqOXfW3rWliOdk9XZbghyRdeAtiQjSbJbpascdZlf7uatLpPYA145q6MYpLxvsgA==", + "type": "package", + "path": "microsoft.kiota.http.httpclientlibrary/1.20.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "README.md", + "lib/net462/Microsoft.Kiota.Http.HttpClientLibrary.dll", + "lib/net462/Microsoft.Kiota.Http.HttpClientLibrary.xml", + "lib/net5.0/Microsoft.Kiota.Http.HttpClientLibrary.dll", + "lib/net5.0/Microsoft.Kiota.Http.HttpClientLibrary.xml", + "lib/net6.0/Microsoft.Kiota.Http.HttpClientLibrary.dll", + "lib/net6.0/Microsoft.Kiota.Http.HttpClientLibrary.xml", + "lib/net8.0-browser1.0/Microsoft.Kiota.Http.HttpClientLibrary.dll", + "lib/net8.0-browser1.0/Microsoft.Kiota.Http.HttpClientLibrary.xml", + "lib/net8.0/Microsoft.Kiota.Http.HttpClientLibrary.dll", + "lib/net8.0/Microsoft.Kiota.Http.HttpClientLibrary.xml", + "lib/netstandard2.0/Microsoft.Kiota.Http.HttpClientLibrary.dll", + "lib/netstandard2.0/Microsoft.Kiota.Http.HttpClientLibrary.xml", + "lib/netstandard2.1/Microsoft.Kiota.Http.HttpClientLibrary.dll", + "lib/netstandard2.1/Microsoft.Kiota.Http.HttpClientLibrary.xml", + "microsoft.kiota.http.httpclientlibrary.1.20.1.nupkg.sha512", + "microsoft.kiota.http.httpclientlibrary.nuspec" + ] + }, + "Microsoft.Kiota.Serialization.Form/1.20.1": { + "sha512": "n7izb8GZSoatmFSpMaHmh78U3oW+YdYb2gDwhkG86COHuiGWV9s0BKBeUlFakAV00CDwaH9iFqxCQ0veYVkG1A==", + "type": "package", + "path": "microsoft.kiota.serialization.form/1.20.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "README.md", + "lib/net5.0/Microsoft.Kiota.Serialization.Form.dll", + "lib/net5.0/Microsoft.Kiota.Serialization.Form.xml", + "lib/net6.0/Microsoft.Kiota.Serialization.Form.dll", + "lib/net6.0/Microsoft.Kiota.Serialization.Form.xml", + "lib/net8.0/Microsoft.Kiota.Serialization.Form.dll", + "lib/net8.0/Microsoft.Kiota.Serialization.Form.xml", + "lib/netstandard2.0/Microsoft.Kiota.Serialization.Form.dll", + "lib/netstandard2.0/Microsoft.Kiota.Serialization.Form.xml", + "lib/netstandard2.1/Microsoft.Kiota.Serialization.Form.dll", + "lib/netstandard2.1/Microsoft.Kiota.Serialization.Form.xml", + "microsoft.kiota.serialization.form.1.20.1.nupkg.sha512", + "microsoft.kiota.serialization.form.nuspec" + ] + }, + "Microsoft.Kiota.Serialization.Json/1.20.1": { + "sha512": "4MumZe45DI/o1YP+hq7wyArOHDhjkSiu14ysN4xWKe6vwlu43BUYydA/yT0CtjoPwbFW/6jfx/NVSvM3DzBzbg==", + "type": "package", + "path": "microsoft.kiota.serialization.json/1.20.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "README.md", + "lib/net5.0/Microsoft.Kiota.Serialization.Json.dll", + "lib/net5.0/Microsoft.Kiota.Serialization.Json.xml", + "lib/net6.0/Microsoft.Kiota.Serialization.Json.dll", + "lib/net6.0/Microsoft.Kiota.Serialization.Json.xml", + "lib/net8.0/Microsoft.Kiota.Serialization.Json.dll", + "lib/net8.0/Microsoft.Kiota.Serialization.Json.xml", + "lib/netstandard2.0/Microsoft.Kiota.Serialization.Json.dll", + "lib/netstandard2.0/Microsoft.Kiota.Serialization.Json.xml", + "lib/netstandard2.1/Microsoft.Kiota.Serialization.Json.dll", + "lib/netstandard2.1/Microsoft.Kiota.Serialization.Json.xml", + "microsoft.kiota.serialization.json.1.20.1.nupkg.sha512", + "microsoft.kiota.serialization.json.nuspec" + ] + }, + "Microsoft.Kiota.Serialization.Multipart/1.20.1": { + "sha512": "tP7ZxA1zsIi3FE8CHwfA5JnzlW1NYld+LpFihFq+S7IXFDv1x37I968lPKGIdEpWW9vWacuqDQVKIyJiKZ257A==", + "type": "package", + "path": "microsoft.kiota.serialization.multipart/1.20.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "README.md", + "lib/net5.0/Microsoft.Kiota.Serialization.Multipart.dll", + "lib/net5.0/Microsoft.Kiota.Serialization.Multipart.xml", + "lib/net6.0/Microsoft.Kiota.Serialization.Multipart.dll", + "lib/net6.0/Microsoft.Kiota.Serialization.Multipart.xml", + "lib/net8.0/Microsoft.Kiota.Serialization.Multipart.dll", + "lib/net8.0/Microsoft.Kiota.Serialization.Multipart.xml", + "lib/netstandard2.0/Microsoft.Kiota.Serialization.Multipart.dll", + "lib/netstandard2.0/Microsoft.Kiota.Serialization.Multipart.xml", + "lib/netstandard2.1/Microsoft.Kiota.Serialization.Multipart.dll", + "lib/netstandard2.1/Microsoft.Kiota.Serialization.Multipart.xml", + "microsoft.kiota.serialization.multipart.1.20.1.nupkg.sha512", + "microsoft.kiota.serialization.multipart.nuspec" + ] + }, + "Microsoft.Kiota.Serialization.Text/1.20.1": { + "sha512": "Cue4l9AeU0WgL2CdUW8K58BMwQOyiHgT7aCov2qGEKpmpeWQj7cmAWCgxDfPHYPkZtz1Ccbrw4/6KrDgCmrC3Q==", + "type": "package", + "path": "microsoft.kiota.serialization.text/1.20.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "README.md", + "lib/net5.0/Microsoft.Kiota.Serialization.Text.dll", + "lib/net5.0/Microsoft.Kiota.Serialization.Text.xml", + "lib/net6.0/Microsoft.Kiota.Serialization.Text.dll", + "lib/net6.0/Microsoft.Kiota.Serialization.Text.xml", + "lib/net8.0/Microsoft.Kiota.Serialization.Text.dll", + "lib/net8.0/Microsoft.Kiota.Serialization.Text.xml", + "lib/netstandard2.0/Microsoft.Kiota.Serialization.Text.dll", + "lib/netstandard2.0/Microsoft.Kiota.Serialization.Text.xml", + "lib/netstandard2.1/Microsoft.Kiota.Serialization.Text.dll", + "lib/netstandard2.1/Microsoft.Kiota.Serialization.Text.xml", + "microsoft.kiota.serialization.text.1.20.1.nupkg.sha512", + "microsoft.kiota.serialization.text.nuspec" + ] + }, "Polly/8.6.5": { "sha512": "VqtW2ZE/ALvQMAH1cQY3qZ2cF2OXa3oe/HKMdOv6Q02HCoEW0rsFNfcBONXlHBe1TnjWW1vdRxBEkPeq0/2FHA==", "type": "package", @@ -701,6 +1104,94 @@ "polly.core.nuspec" ] }, + "SerilogAnalyzer/0.15.0": { + "sha512": "sVpwfls4MfNnwIXLSGCgaUnV+c9kgJ8ia6GsyRcpd4Vs3gLogSDtSYBYrre2K2u/PNMo8GgG09RehwVnze70Tw==", + "type": "package", + "path": "seriloganalyzer/0.15.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/SerilogAnalyzer.dll", + "seriloganalyzer.0.15.0.nupkg.sha512", + "seriloganalyzer.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, + "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": { + "sha512": "2f2k7bbhDd132ArglCKpzKoWBcp3uzbIFcb4aosnlqIKlfYKDE2HevBVRNVa+LkWFnjXFFWs47Bo96fu8iS//Q==", + "type": "package", + "path": "smartanalyzers.multithreadinganalyzer/1.1.31", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/SmartAnalyzers.MultithreadingAnalyzer.dll", + "smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512", + "smartanalyzers.multithreadinganalyzer.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, + "Std.UriTemplate/2.0.5": { + "sha512": "PtqPdWNBObRcDHjyjbgOz2XoCJQaiA+HNDPQve/O7yGCkospfHDCuH9ULVx1msImwHHG+uhpDjiZX7bpLN/cnw==", + "type": "package", + "path": "std.uritemplate/2.0.5", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Readme.md", + "lib/net5.0/Std.UriTemplate.dll", + "lib/netstandard2.0/Std.UriTemplate.dll", + "std.uritemplate.2.0.5.nupkg.sha512", + "std.uritemplate.nuspec" + ] + }, + "StyleCop.Analyzers/1.2.0-beta.556": { + "sha512": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==", + "type": "package", + "path": "stylecop.analyzers/1.2.0-beta.556", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "THIRD-PARTY-NOTICES.txt", + "stylecop.analyzers.1.2.0-beta.556.nupkg.sha512", + "stylecop.analyzers.nuspec" + ] + }, + "StyleCop.Analyzers.Unstable/1.2.0.556": { + "sha512": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==", + "type": "package", + "path": "stylecop.analyzers.unstable/1.2.0.556", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "THIRD-PARTY-NOTICES.txt", + "analyzers/dotnet/cs/StyleCop.Analyzers.CodeFixes.dll", + "analyzers/dotnet/cs/StyleCop.Analyzers.dll", + "analyzers/dotnet/cs/de-DE/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/en-GB/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/es-MX/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/fr-FR/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/pl-PL/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/pt-BR/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/ru-RU/StyleCop.Analyzers.resources.dll", + "rulesets/StyleCopAnalyzersDefault.ruleset", + "stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512", + "stylecop.analyzers.unstable.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, + "Jellyfin.CodeAnalysis/1.0.0": { + "type": "project", + "path": "../src/Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj", + "msbuildProject": "../src/Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj" + }, "Jellyfin.Database.Implementations/10.11.0": { "type": "project", "path": "../src/Jellyfin.Database/Jellyfin.Database.Implementations/Jellyfin.Database.Implementations.csproj", @@ -709,8 +1200,15 @@ }, "projectFileDependencyGroups": { "net11.0": [ + "IDisposableAnalyzers >= 4.0.8", + "Jellyfin.CodeAnalysis >= 1.0.0", "Jellyfin.Database.Implementations >= 10.11.0", - "Microsoft.Extensions.Logging >= 11.0.0-preview.1.26104.118" + "Jellyfin.Sdk >= 2025.10.21", + "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0", + "Microsoft.Extensions.Logging >= 11.0.0-preview.1.26104.118", + "SerilogAnalyzer >= 0.15.0", + "SmartAnalyzers.MultithreadingAnalyzer >= 1.1.31", + "StyleCop.Analyzers >= 1.2.0-beta.556" ] }, "packageFolders": { @@ -747,6 +1245,9 @@ "net11.0": { "targetAlias": "net11.0", "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -774,10 +1275,47 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Logging": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { diff --git a/Jellyfin.Data/obj/project.nuget.cache b/Jellyfin.Data/obj/project.nuget.cache index 42c9eafc..a35ad6a2 100644 --- a/Jellyfin.Data/obj/project.nuget.cache +++ b/Jellyfin.Data/obj/project.nuget.cache @@ -1,9 +1,12 @@ { "version": 2, - "dgSpecHash": "LTl0S9bshg4=", + "dgSpecHash": "V+/rEcS1v1k=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj", "expectedPackageFiles": [ + "C:\\Users\\wjones\\.nuget\\packages\\idisposableanalyzers\\4.0.8\\idisposableanalyzers.4.0.8.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\jellyfin.sdk\\2025.10.21\\jellyfin.sdk.2025.10.21.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.bannedapianalyzers\\4.14.0\\microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.11.0.0-preview.1.26104.118.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.abstractions.11.0.0-preview.1.26104.118.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.analyzers.11.0.0-preview.1.26104.118.nupkg.sha512", @@ -17,8 +20,19 @@ "C:\\Users\\wjones\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\11.0.0-preview.1.26104.118\\microsoft.extensions.logging.abstractions.11.0.0-preview.1.26104.118.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.extensions.options\\11.0.0-preview.1.26104.118\\microsoft.extensions.options.11.0.0-preview.1.26104.118.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.extensions.primitives\\11.0.0-preview.1.26104.118\\microsoft.extensions.primitives.11.0.0-preview.1.26104.118.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\microsoft.kiota.abstractions\\1.20.1\\microsoft.kiota.abstractions.1.20.1.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\microsoft.kiota.http.httpclientlibrary\\1.20.1\\microsoft.kiota.http.httpclientlibrary.1.20.1.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\microsoft.kiota.serialization.form\\1.20.1\\microsoft.kiota.serialization.form.1.20.1.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\microsoft.kiota.serialization.json\\1.20.1\\microsoft.kiota.serialization.json.1.20.1.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\microsoft.kiota.serialization.multipart\\1.20.1\\microsoft.kiota.serialization.multipart.1.20.1.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\microsoft.kiota.serialization.text\\1.20.1\\microsoft.kiota.serialization.text.1.20.1.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\polly\\8.6.5\\polly.8.6.5.nupkg.sha512", - "C:\\Users\\wjones\\.nuget\\packages\\polly.core\\8.6.5\\polly.core.8.6.5.nupkg.sha512" + "C:\\Users\\wjones\\.nuget\\packages\\polly.core\\8.6.5\\polly.core.8.6.5.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\seriloganalyzer\\0.15.0\\seriloganalyzer.0.15.0.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\smartanalyzers.multithreadinganalyzer\\1.1.31\\smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers\\1.2.0-beta.556\\stylecop.analyzers.1.2.0-beta.556.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers.unstable\\1.2.0.556\\stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512" ], "logs": [] } \ No newline at end of file diff --git a/Jellyfin.Server.Implementations/obj/Jellyfin.Server.Implementations.csproj.nuget.dgspec.json b/Jellyfin.Server.Implementations/obj/Jellyfin.Server.Implementations.csproj.nuget.dgspec.json index e3baef69..2f60dd70 100644 --- a/Jellyfin.Server.Implementations/obj/Jellyfin.Server.Implementations.csproj.nuget.dgspec.json +++ b/Jellyfin.Server.Implementations/obj/Jellyfin.Server.Implementations.csproj.nuget.dgspec.json @@ -39,20 +39,13 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } }, - "warningProperties": { - "allWarningsAsErrors": true, - "warnAsError": [ - "NU1605" - ], - "warnNotAsError": [ - "NU1902", - "NU1903" - ] - }, "restoreAuditProperties": { "enableAudit": "true", "auditLevel": "low", @@ -63,6 +56,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -473,6 +505,9 @@ "net11.0": { "targetAlias": "net11.0", "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -500,10 +535,47 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Logging": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -925,6 +997,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" }, @@ -963,10 +1038,47 @@ "version": "[8.0.2, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Relational": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -1381,6 +1493,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -1405,6 +1520,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -1968,6 +2122,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj" } @@ -2000,15 +2157,47 @@ "version": "[2.5.4, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Configuration.Binder": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -2424,6 +2613,9 @@ "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj" } @@ -2451,17 +2643,49 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "MimeTypes": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", "target": "Package", "version": "[2.5.2, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -3041,6 +3265,13 @@ "netstandard2.0": { "targetAlias": "netstandard2.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -3052,6 +3283,13 @@ "version": "[3.11.0, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.CodeAnalysis.CSharp": { "suppressParent": "All", "target": "Package", @@ -3063,6 +3301,24 @@ "target": "Package", "version": "[2.0.3, )", "autoReferenced": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -3195,7 +3451,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -3219,6 +3479,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -3242,6 +3516,24 @@ "target": "Package", "version": "[8.6.5, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -3657,6 +3949,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -3684,6 +3979,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", @@ -3712,6 +4021,24 @@ "target": "Package", "version": "[11.0.0-preview.1, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -4127,6 +4454,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -4154,6 +4484,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -4177,6 +4521,24 @@ "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -4588,7 +4950,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -4625,10 +4991,42 @@ "version": "[60.1.0-alpha.356, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { diff --git a/Jellyfin.Server.Implementations/obj/Jellyfin.Server.Implementations.csproj.nuget.g.props b/Jellyfin.Server.Implementations/obj/Jellyfin.Server.Implementations.csproj.nuget.g.props index 59d22c92..651d5bb6 100644 --- a/Jellyfin.Server.Implementations/obj/Jellyfin.Server.Implementations.csproj.nuget.g.props +++ b/Jellyfin.Server.Implementations/obj/Jellyfin.Server.Implementations.csproj.nuget.g.props @@ -15,5 +15,13 @@ + + + C:\Users\wjones\.nuget\packages\stylecop.analyzers.unstable\1.2.0.556 + C:\Users\wjones\.nuget\packages\smartanalyzers.multithreadinganalyzer\1.1.31 + C:\Users\wjones\.nuget\packages\seriloganalyzer\0.15.0 + C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.bannedapianalyzers\4.14.0 + C:\Users\wjones\.nuget\packages\idisposableanalyzers\4.0.8 + \ No newline at end of file diff --git a/Jellyfin.Server.Implementations/obj/Jellyfin.Server.Implementations.csproj.nuget.g.targets b/Jellyfin.Server.Implementations/obj/Jellyfin.Server.Implementations.csproj.nuget.g.targets index 0ca139dd..12299813 100644 --- a/Jellyfin.Server.Implementations/obj/Jellyfin.Server.Implementations.csproj.nuget.g.targets +++ b/Jellyfin.Server.Implementations/obj/Jellyfin.Server.Implementations.csproj.nuget.g.targets @@ -5,5 +5,6 @@ + \ No newline at end of file diff --git a/Jellyfin.Server.Implementations/obj/project.assets.json b/Jellyfin.Server.Implementations/obj/project.assets.json index f9b75139..c06665d1 100644 --- a/Jellyfin.Server.Implementations/obj/project.assets.json +++ b/Jellyfin.Server.Implementations/obj/project.assets.json @@ -74,6 +74,9 @@ } } }, + "IDisposableAnalyzers/4.0.8": { + "type": "package" + }, "J2N/2.0.0": { "type": "package", "compile": { @@ -108,6 +111,13 @@ } } }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": { + "type": "package", + "build": { + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props": {}, + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets": {} + } + }, "Microsoft.Data.Sqlite.Core/11.0.0-preview.1.26104.118": { "type": "package", "dependencies": { @@ -621,6 +631,12 @@ } } }, + "SerilogAnalyzer/0.15.0": { + "type": "package" + }, + "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": { + "type": "package" + }, "SourceGear.sqlite3/3.50.4.2": { "type": "package", "compile": { @@ -808,6 +824,15 @@ "lib/net5.0/Std.UriTemplate.dll": {} } }, + "StyleCop.Analyzers/1.2.0-beta.556": { + "type": "package", + "dependencies": { + "StyleCop.Analyzers.Unstable": "1.2.0.556" + } + }, + "StyleCop.Analyzers.Unstable/1.2.0.556": { + "type": "package" + }, "Jellyfin.CodeAnalysis/1.0.0": { "type": "project", "framework": ".NETStandard,Version=v2.0", @@ -825,7 +850,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { - "Jellyfin.Model": "10.12.0" + "Jellyfin.CodeAnalysis": "1.0.0", + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Common.dll": {} @@ -842,6 +869,7 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "BitFaster.Caching": "2.5.4", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.MediaEncoding.Keyframes": "10.11.0", "Jellyfin.Model": "10.12.0", @@ -860,7 +888,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Database.Implementations": "10.11.0", + "Jellyfin.Sdk": "2025.10.21", "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118" }, "compile": { @@ -874,6 +904,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", "Polly": "8.6.5" }, @@ -888,6 +919,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Database.Implementations": "10.11.0", "Microsoft.EntityFrameworkCore": "11.0.0-preview.1.26104.118", @@ -905,6 +937,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Database.Implementations": "10.11.0", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", @@ -923,6 +956,7 @@ "dependencies": { "Diacritics": "4.1.4", "ICU4N.Transliterator": "60.1.0-alpha.356", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Sdk": "2025.10.21" }, "compile": { @@ -951,6 +985,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Data": "10.12.0", "Jellyfin.Extensions": "10.12.0", "Jellyfin.Sdk": "2025.10.21" @@ -969,8 +1004,10 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", - "Jellyfin.Model": "10.12.0" + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Naming.dll": {} @@ -1094,6 +1131,21 @@ "unicode-icon-128x128.jpg" ] }, + "IDisposableAnalyzers/4.0.8": { + "sha512": "vNi4NMG0CcJyjXxiNDcQ21FwV/whM9o9OEZKD+oP7tuxAqFEzX/x5OhC3OZJqW/w+8GOtCmJPBquYgMWgz0rfQ==", + "type": "package", + "path": "idisposableanalyzers/4.0.8", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/IDisposableAnalyzers.dll", + "idisposableanalyzers.4.0.8.nupkg.sha512", + "idisposableanalyzers.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "J2N/2.0.0": { "sha512": "M5bwDajAARZiyqupU+rHQJnsVLxNBOHJ8vKYHd8LcLIb1FgLfzzcJvc31Qo5Xz/GEHFjDF9ScjKL/ks/zRTXuA==", "type": "package", @@ -1141,6 +1193,74 @@ "lib/netstandard2.1/Jellyfin.Sdk.xml" ] }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": { + "sha512": "gSWJlDWwmDhtbrEJGiHqvEjz9KthIiFD0qYB8zZ6a7z+xpMSPEtM9yTYELSa58iFWYlzSRqP9FXO6KoT3+ZMtg==", + "type": "package", + "path": "microsoft.codeanalysis.bannedapianalyzers/4.14.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "ThirdPartyNotices.txt", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.BannedApiAnalyzers.dll", + "analyzers/dotnet/cs/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.BannedApiAnalyzers.dll", + "analyzers/dotnet/vb/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props", + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets", + "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.md", + "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.sarif", + "editorconfig/AllRulesDefault/.editorconfig", + "editorconfig/AllRulesDisabled/.editorconfig", + "editorconfig/AllRulesEnabled/.editorconfig", + "editorconfig/ApiDesignRulesDefault/.editorconfig", + "editorconfig/ApiDesignRulesEnabled/.editorconfig", + "editorconfig/DataflowRulesDefault/.editorconfig", + "editorconfig/DataflowRulesEnabled/.editorconfig", + "editorconfig/PortedFromFxCopRulesDefault/.editorconfig", + "editorconfig/PortedFromFxCopRulesEnabled/.editorconfig", + "microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512", + "microsoft.codeanalysis.bannedapianalyzers.nuspec", + "rulesets/AllRulesDefault.ruleset", + "rulesets/AllRulesDisabled.ruleset", + "rulesets/AllRulesEnabled.ruleset", + "rulesets/ApiDesignRulesDefault.ruleset", + "rulesets/ApiDesignRulesEnabled.ruleset", + "rulesets/DataflowRulesDefault.ruleset", + "rulesets/DataflowRulesEnabled.ruleset", + "rulesets/PortedFromFxCopRulesDefault.ruleset", + "rulesets/PortedFromFxCopRulesEnabled.ruleset", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Microsoft.Data.Sqlite.Core/11.0.0-preview.1.26104.118": { "sha512": "Wq/TlVr4AClalGUro9wS+5qmvPS9zteDo+zc7AOICye0TxgHbdwU46Ux4W0IaLKl5vTj9vXQrTK5t9OM1vJpLQ==", "type": "package", @@ -1889,6 +2009,36 @@ "polly.core.nuspec" ] }, + "SerilogAnalyzer/0.15.0": { + "sha512": "sVpwfls4MfNnwIXLSGCgaUnV+c9kgJ8ia6GsyRcpd4Vs3gLogSDtSYBYrre2K2u/PNMo8GgG09RehwVnze70Tw==", + "type": "package", + "path": "seriloganalyzer/0.15.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/SerilogAnalyzer.dll", + "seriloganalyzer.0.15.0.nupkg.sha512", + "seriloganalyzer.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, + "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": { + "sha512": "2f2k7bbhDd132ArglCKpzKoWBcp3uzbIFcb4aosnlqIKlfYKDE2HevBVRNVa+LkWFnjXFFWs47Bo96fu8iS//Q==", + "type": "package", + "path": "smartanalyzers.multithreadinganalyzer/1.1.31", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/SmartAnalyzers.MultithreadingAnalyzer.dll", + "smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512", + "smartanalyzers.multithreadinganalyzer.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "SourceGear.sqlite3/3.50.4.2": { "sha512": "eV9HwQ88WyoU+reGVxJz1SwME9NbYnl9h2LOY15j0LGdXN4JkTJDk8JRRg/yNgt00O3Cn5/qnska10FEZNoU5g==", "type": "package", @@ -2013,6 +2163,45 @@ "std.uritemplate.nuspec" ] }, + "StyleCop.Analyzers/1.2.0-beta.556": { + "sha512": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==", + "type": "package", + "path": "stylecop.analyzers/1.2.0-beta.556", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "THIRD-PARTY-NOTICES.txt", + "stylecop.analyzers.1.2.0-beta.556.nupkg.sha512", + "stylecop.analyzers.nuspec" + ] + }, + "StyleCop.Analyzers.Unstable/1.2.0.556": { + "sha512": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==", + "type": "package", + "path": "stylecop.analyzers.unstable/1.2.0.556", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "THIRD-PARTY-NOTICES.txt", + "analyzers/dotnet/cs/StyleCop.Analyzers.CodeFixes.dll", + "analyzers/dotnet/cs/StyleCop.Analyzers.dll", + "analyzers/dotnet/cs/de-DE/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/en-GB/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/es-MX/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/fr-FR/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/pl-PL/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/pt-BR/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/ru-RU/StyleCop.Analyzers.resources.dll", + "rulesets/StyleCopAnalyzersDefault.ruleset", + "stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512", + "stylecop.analyzers.unstable.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Jellyfin.CodeAnalysis/1.0.0": { "type": "project", "path": "../src/Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj", @@ -2072,13 +2261,20 @@ "projectFileDependencyGroups": { "net11.0": [ "AsyncKeyedLock >= 8.0.2", + "IDisposableAnalyzers >= 4.0.8", + "Jellyfin.CodeAnalysis >= 1.0.0", "Jellyfin.Controller >= 10.12.0", "Jellyfin.Data >= 10.12.0", "Jellyfin.Database.Implementations >= 10.11.0", "Jellyfin.Database.Providers.Postgres >= 1.0.0", "Jellyfin.Database.Providers.Sqlite >= 1.0.0", "Jellyfin.Model >= 10.12.0", - "Microsoft.EntityFrameworkCore.Relational >= 11.0.0-preview.1.26104.118" + "Jellyfin.Sdk >= 2025.10.21", + "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0", + "Microsoft.EntityFrameworkCore.Relational >= 11.0.0-preview.1.26104.118", + "SerilogAnalyzer >= 0.15.0", + "SmartAnalyzers.MultithreadingAnalyzer >= 1.1.31", + "StyleCop.Analyzers >= 1.2.0-beta.556" ] }, "packageFolders": { @@ -2124,6 +2320,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" }, @@ -2162,10 +2361,47 @@ "version": "[8.0.2, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Relational": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { diff --git a/Jellyfin.Server.Implementations/obj/project.nuget.cache b/Jellyfin.Server.Implementations/obj/project.nuget.cache index b08b80b0..289a7b28 100644 --- a/Jellyfin.Server.Implementations/obj/project.nuget.cache +++ b/Jellyfin.Server.Implementations/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "0qHzAH13fno=", + "dgSpecHash": "q38UsTgstaw=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server.Implementations\\Jellyfin.Server.Implementations.csproj", "expectedPackageFiles": [ @@ -9,8 +9,10 @@ "C:\\Users\\wjones\\.nuget\\packages\\diacritics\\4.1.4\\diacritics.4.1.4.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\icu4n\\60.1.0-alpha.356\\icu4n.60.1.0-alpha.356.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\icu4n.transliterator\\60.1.0-alpha.356\\icu4n.transliterator.60.1.0-alpha.356.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\idisposableanalyzers\\4.0.8\\idisposableanalyzers.4.0.8.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\j2n\\2.0.0\\j2n.2.0.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\jellyfin.sdk\\2025.10.21\\jellyfin.sdk.2025.10.21.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.bannedapianalyzers\\4.14.0\\microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.data.sqlite.core\\11.0.0-preview.1.26104.118\\microsoft.data.sqlite.core.11.0.0-preview.1.26104.118.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.11.0.0-preview.1.26104.118.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.abstractions.11.0.0-preview.1.26104.118.nupkg.sha512", @@ -41,12 +43,16 @@ "C:\\Users\\wjones\\.nuget\\packages\\npgsql.entityframeworkcore.postgresql\\11.0.0-preview.1\\npgsql.entityframeworkcore.postgresql.11.0.0-preview.1.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\polly\\8.6.5\\polly.8.6.5.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\polly.core\\8.6.5\\polly.core.8.6.5.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\seriloganalyzer\\0.15.0\\seriloganalyzer.0.15.0.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\smartanalyzers.multithreadinganalyzer\\1.1.31\\smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\sourcegear.sqlite3\\3.50.4.2\\sourcegear.sqlite3.3.50.4.2.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\sqlitepclraw.bundle_e_sqlite3\\3.0.2\\sqlitepclraw.bundle_e_sqlite3.3.0.2.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\sqlitepclraw.config.e_sqlite3\\3.0.2\\sqlitepclraw.config.e_sqlite3.3.0.2.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\sqlitepclraw.core\\3.0.2\\sqlitepclraw.core.3.0.2.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\sqlitepclraw.provider.e_sqlite3\\3.0.2\\sqlitepclraw.provider.e_sqlite3.3.0.2.nupkg.sha512", - "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512" + "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers\\1.2.0-beta.556\\stylecop.analyzers.1.2.0-beta.556.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers.unstable\\1.2.0.556\\stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512" ], "logs": [] } \ No newline at end of file diff --git a/Jellyfin.Server/Migrations/JellyfinMigrationAttribute.cs b/Jellyfin.Server/Migrations/JellyfinMigrationAttribute.cs index 9a0535e7..20527e13 100644 --- a/Jellyfin.Server/Migrations/JellyfinMigrationAttribute.cs +++ b/Jellyfin.Server/Migrations/JellyfinMigrationAttribute.cs @@ -50,6 +50,12 @@ public sealed class JellyfinMigrationAttribute : Attribute /// public bool RunMigrationOnSetup { get; set; } + /// + /// Gets or Sets a value indicating whether the migration requires SQLite (legacy library.db). + /// If true, the migration will be skipped when using non-SQLite database providers. + /// + public bool RequiresSqlite { get; set; } + /// /// Gets or Sets the stage the annoated migration should be executed at. Defaults to . /// diff --git a/Jellyfin.Server/Migrations/JellyfinMigrationService.cs b/Jellyfin.Server/Migrations/JellyfinMigrationService.cs index f428bcb7..3f6d11f8 100644 --- a/Jellyfin.Server/Migrations/JellyfinMigrationService.cs +++ b/Jellyfin.Server/Migrations/JellyfinMigrationService.cs @@ -219,6 +219,18 @@ internal class JellyfinMigrationService ICollection migrationStage = (Migrations.FirstOrDefault(e => e.Stage == stage) as ICollection) ?? []; + // Filter out SQLite-specific migrations when using non-SQLite providers + bool isSqliteProvider = _jellyfinDatabaseProvider is Jellyfin.Database.Providers.Sqlite.SqliteDatabaseProvider; + if (!isSqliteProvider) + { + var sqliteSpecificMigrations = migrationStage.Where(m => m.Metadata.RequiresSqlite).ToList(); + if (sqliteSpecificMigrations.Any()) + { + logger.LogInformation("Skipping {Count} SQLite-specific migrations because current provider is not SQLite", sqliteSpecificMigrations.Count); + migrationStage = migrationStage.Where(m => !m.Metadata.RequiresSqlite).ToList(); + } + } + var dbContext = await _dbContextFactory.CreateDbContextAsync().ConfigureAwait(false); await using (dbContext.ConfigureAwait(false)) { diff --git a/Jellyfin.Server/Migrations/Routines/MigrateActivityLogDb.cs b/Jellyfin.Server/Migrations/Routines/MigrateActivityLogDb.cs index d8511750..85b828c4 100644 --- a/Jellyfin.Server/Migrations/Routines/MigrateActivityLogDb.cs +++ b/Jellyfin.Server/Migrations/Routines/MigrateActivityLogDb.cs @@ -19,7 +19,7 @@ namespace Jellyfin.Server.Migrations.Routines /// The migration routine for migrating the activity log database to EF Core. /// #pragma warning disable CS0618 // Type or member is obsolete - [JellyfinMigration("2025-04-20T07:00:00", nameof(MigrateActivityLogDb), "3793eb59-bc8c-456c-8b9f-bd5a62a42978")] + [JellyfinMigration("2025-04-20T07:00:00", nameof(MigrateActivityLogDb), "3793eb59-bc8c-456c-8b9f-bd5a62a42978", RequiresSqlite = true)] public class MigrateActivityLogDb : IMigrationRoutine #pragma warning restore CS0618 // Type or member is obsolete { diff --git a/Jellyfin.Server/Migrations/Routines/MigrateAuthenticationDb.cs b/Jellyfin.Server/Migrations/Routines/MigrateAuthenticationDb.cs index c3d8e950..16419ab9 100644 --- a/Jellyfin.Server/Migrations/Routines/MigrateAuthenticationDb.cs +++ b/Jellyfin.Server/Migrations/Routines/MigrateAuthenticationDb.cs @@ -20,7 +20,7 @@ namespace Jellyfin.Server.Migrations.Routines /// A migration that moves data from the authentication database into the new schema. /// #pragma warning disable CS0618 // Type or member is obsolete - [JellyfinMigration("2025-04-20T14:00:00", nameof(MigrateAuthenticationDb), "5BD72F41-E6F3-4F60-90AA-09869ABE0E22")] + [JellyfinMigration("2025-04-20T14:00:00", nameof(MigrateAuthenticationDb), "5BD72F41-E6F3-4F60-90AA-09869ABE0E22", RequiresSqlite = true)] public class MigrateAuthenticationDb : IMigrationRoutine #pragma warning restore CS0618 // Type or member is obsolete { diff --git a/Jellyfin.Server/Migrations/Routines/MigrateDisplayPreferencesDb.cs b/Jellyfin.Server/Migrations/Routines/MigrateDisplayPreferencesDb.cs index e241a82d..e1ce036b 100644 --- a/Jellyfin.Server/Migrations/Routines/MigrateDisplayPreferencesDb.cs +++ b/Jellyfin.Server/Migrations/Routines/MigrateDisplayPreferencesDb.cs @@ -25,7 +25,7 @@ namespace Jellyfin.Server.Migrations.Routines /// The migration routine for migrating the display preferences database to EF Core. /// #pragma warning disable CS0618 // Type or member is obsolete - [JellyfinMigration("2025-04-20T12:00:00", nameof(MigrateDisplayPreferencesDb), "06387815-C3CC-421F-A888-FB5F9992BEA8")] + [JellyfinMigration("2025-04-20T12:00:00", nameof(MigrateDisplayPreferencesDb), "06387815-C3CC-421F-A888-FB5F9992BEA8", RequiresSqlite = true)] public class MigrateDisplayPreferencesDb : IMigrationRoutine #pragma warning restore CS0618 // Type or member is obsolete { diff --git a/Jellyfin.Server/Migrations/Routines/MigrateLibraryDb.cs b/Jellyfin.Server/Migrations/Routines/MigrateLibraryDb.cs index e1fa4951..c40b3b0f 100644 --- a/Jellyfin.Server/Migrations/Routines/MigrateLibraryDb.cs +++ b/Jellyfin.Server/Migrations/Routines/MigrateLibraryDb.cs @@ -33,7 +33,7 @@ namespace Jellyfin.Server.Migrations.Routines; /// /// The migration routine for migrating the userdata database to EF Core. /// -[JellyfinMigration("2025-04-20T20:00:00", nameof(MigrateLibraryDb))] +[JellyfinMigration("2025-04-20T20:00:00", nameof(MigrateLibraryDb), RequiresSqlite = true)] [JellyfinMigrationBackup(JellyfinDb = true, LegacyLibraryDb = true)] internal class MigrateLibraryDb : IDatabaseMigrationRoutine { diff --git a/Jellyfin.Server/Migrations/Routines/MigrateLibraryDbCompatibilityCheck.cs b/Jellyfin.Server/Migrations/Routines/MigrateLibraryDbCompatibilityCheck.cs index f50e6a84..11118cec 100644 --- a/Jellyfin.Server/Migrations/Routines/MigrateLibraryDbCompatibilityCheck.cs +++ b/Jellyfin.Server/Migrations/Routines/MigrateLibraryDbCompatibilityCheck.cs @@ -18,7 +18,7 @@ namespace Jellyfin.Server.Migrations.Routines; /// /// The migration routine for checking if the current instance of Jellyfin is compatiable to be upgraded. /// -[JellyfinMigration("2025-04-20T19:30:00", nameof(MigrateLibraryDbCompatibilityCheck))] +[JellyfinMigration("2025-04-20T19:30:00", nameof(MigrateLibraryDbCompatibilityCheck), RequiresSqlite = true)] public class MigrateLibraryDbCompatibilityCheck : IAsyncMigrationRoutine { private const string DbFilename = "library.db"; diff --git a/Jellyfin.Server/Migrations/Routines/MigrateLibraryUserData.cs b/Jellyfin.Server/Migrations/Routines/MigrateLibraryUserData.cs index 5e5988de..3996ca03 100644 --- a/Jellyfin.Server/Migrations/Routines/MigrateLibraryUserData.cs +++ b/Jellyfin.Server/Migrations/Routines/MigrateLibraryUserData.cs @@ -22,7 +22,7 @@ using Microsoft.Extensions.Logging; namespace Jellyfin.Server.Migrations.Routines; -[JellyfinMigration("2025-06-18T01:00:00", nameof(MigrateLibraryUserData))] +[JellyfinMigration("2025-06-18T01:00:00", nameof(MigrateLibraryUserData), RequiresSqlite = true)] [JellyfinMigrationBackup(JellyfinDb = true)] internal class MigrateLibraryUserData : IAsyncMigrationRoutine { diff --git a/Jellyfin.Server/Migrations/Routines/MigrateUserDb.cs b/Jellyfin.Server/Migrations/Routines/MigrateUserDb.cs index bb847af2..9d263f31 100644 --- a/Jellyfin.Server/Migrations/Routines/MigrateUserDb.cs +++ b/Jellyfin.Server/Migrations/Routines/MigrateUserDb.cs @@ -27,7 +27,7 @@ using JsonSerializer = System.Text.Json.JsonSerializer; /// The migration routine for migrating the user database to EF Core. /// #pragma warning disable CS0618 // Type or member is obsolete -[JellyfinMigration("2025-04-20T10:00:00", nameof(MigrateUserDb), "5C4B82A2-F053-4009-BD05-B6FCAD82F14C")] +[JellyfinMigration("2025-04-20T10:00:00", nameof(MigrateUserDb), "5C4B82A2-F053-4009-BD05-B6FCAD82F14C", RequiresSqlite = true)] public class MigrateUserDb : IMigrationRoutine #pragma warning restore CS0618 // Type or member is obsolete { diff --git a/Jellyfin.Server/Migrations/Routines/RemoveDuplicateExtras.cs b/Jellyfin.Server/Migrations/Routines/RemoveDuplicateExtras.cs index 398b371e..1080bbd2 100644 --- a/Jellyfin.Server/Migrations/Routines/RemoveDuplicateExtras.cs +++ b/Jellyfin.Server/Migrations/Routines/RemoveDuplicateExtras.cs @@ -17,7 +17,7 @@ using Microsoft.Extensions.Logging; /// Remove duplicate entries which were caused by a bug where a file was considered to be an "Extra" to itself. /// #pragma warning disable CS0618 // Type or member is obsolete -[JellyfinMigration("2025-04-20T08:00:00", nameof(RemoveDuplicateExtras), "ACBE17B7-8435-4A83-8B64-6FCF162CB9BD")] +[JellyfinMigration("2025-04-20T08:00:00", nameof(RemoveDuplicateExtras), "ACBE17B7-8435-4A83-8B64-6FCF162CB9BD", RequiresSqlite = true)] internal class RemoveDuplicateExtras : IMigrationRoutine #pragma warning restore CS0618 // Type or member is obsolete { @@ -36,6 +36,14 @@ internal class RemoveDuplicateExtras : IMigrationRoutine { var dataPath = _paths.DataPath; var dbPath = Path.Combine(dataPath, DbFilename); + + // Skip this migration if using PostgreSQL or if library.db doesn't exist + if (!File.Exists(dbPath)) + { + _logger.LogInformation("SQLite library.db not found, skipping SQLite-specific migration."); + return; + } + using var connection = new SqliteConnection($"Filename={dbPath}"); connection.Open(); using (var transaction = connection.BeginTransaction()) diff --git a/Jellyfin.Server/Migrations/Routines/ReseedFolderFlag.cs b/Jellyfin.Server/Migrations/Routines/ReseedFolderFlag.cs index ed606075..46a16ce0 100644 --- a/Jellyfin.Server/Migrations/Routines/ReseedFolderFlag.cs +++ b/Jellyfin.Server/Migrations/Routines/ReseedFolderFlag.cs @@ -17,7 +17,7 @@ using Microsoft.Extensions.Logging; namespace Jellyfin.Server.Migrations.Routines; -[JellyfinMigration("2025-07-30T21:50:00", nameof(ReseedFolderFlag))] +[JellyfinMigration("2025-07-30T21:50:00", nameof(ReseedFolderFlag), RequiresSqlite = true)] [JellyfinMigrationBackup(JellyfinDb = true)] internal class ReseedFolderFlag : IAsyncMigrationRoutine { diff --git a/Jellyfin.Server/obj/Jellyfin.Server.csproj.nuget.dgspec.json b/Jellyfin.Server/obj/Jellyfin.Server.csproj.nuget.dgspec.json index 411ce350..7c642616 100644 --- a/Jellyfin.Server/obj/Jellyfin.Server.csproj.nuget.dgspec.json +++ b/Jellyfin.Server/obj/Jellyfin.Server.csproj.nuget.dgspec.json @@ -39,20 +39,13 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } }, - "warningProperties": { - "allWarningsAsErrors": true, - "warnAsError": [ - "NU1605" - ], - "warnNotAsError": [ - "NU1902", - "NU1903" - ] - }, "restoreAuditProperties": { "enableAudit": "true", "auditLevel": "low", @@ -63,6 +56,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -478,6 +510,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -503,6 +538,38 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "TagLibSharp": { "target": "Package", "version": "[2.3.0, )", @@ -952,6 +1019,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.XbmcMetadata\\MediaBrowser.XbmcMetadata.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.XbmcMetadata\\MediaBrowser.XbmcMetadata.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" }, @@ -1002,6 +1072,13 @@ "version": "[0.2.1, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Data.Sqlite": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", @@ -1027,6 +1104,24 @@ "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "prometheus-net.DotNetRuntime": { "target": "Package", "version": "[4.4.1, )", @@ -1449,6 +1544,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.MediaEncoding\\MediaBrowser.MediaEncoding.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.MediaEncoding\\MediaBrowser.MediaEncoding.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Hls\\Jellyfin.MediaEncoding.Hls.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Hls\\Jellyfin.MediaEncoding.Hls.csproj" }, @@ -1479,6 +1577,13 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -1489,11 +1594,36 @@ "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Http": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "Swashbuckle.AspNetCore": { "target": "Package", "version": "[7.3.2, )", @@ -1915,6 +2045,9 @@ "net11.0": { "targetAlias": "net11.0", "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -1942,10 +2075,47 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Logging": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -2367,6 +2537,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" }, @@ -2405,10 +2578,47 @@ "version": "[8.0.2, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Relational": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -2827,6 +3037,9 @@ "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server.Implementations\\Jellyfin.Server.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server.Implementations\\Jellyfin.Server.Implementations.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" }, @@ -2874,6 +3087,25 @@ "version": "[2.9.1, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", @@ -2924,6 +3156,24 @@ "version": "[3.1.1, )", "versionCentrallyManaged": true }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "prometheus-net": { "target": "Package", "version": "[8.2.1, )", @@ -3491,6 +3741,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -3515,6 +3768,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -4078,6 +4370,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj" } @@ -4110,15 +4405,47 @@ "version": "[2.5.4, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Configuration.Binder": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -4536,6 +4863,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -4560,6 +4890,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -4978,6 +5347,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -5013,16 +5385,48 @@ "version": "[0.8.0, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Http": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "UTF.Unknown": { "target": "Package", "version": "[2.6.0, )", @@ -5447,6 +5851,9 @@ "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj" } @@ -5474,17 +5881,49 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "MimeTypes": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", "target": "Package", "version": "[2.5.2, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -6046,6 +6485,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -6076,6 +6518,13 @@ "version": "[8.0.2, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -6091,6 +6540,13 @@ "version": "[8.0.1, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Caching.Abstractions": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", @@ -6111,6 +6567,24 @@ "version": "[1.4.1, )", "versionCentrallyManaged": true }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "TMDbLib": { "target": "Package", "version": "[2.3.0, )", @@ -6537,6 +7011,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -6561,6 +7038,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -6994,6 +7510,13 @@ "netstandard2.0": { "targetAlias": "netstandard2.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -7005,6 +7528,13 @@ "version": "[3.11.0, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.CodeAnalysis.CSharp": { "suppressParent": "All", "target": "Package", @@ -7016,6 +7546,24 @@ "target": "Package", "version": "[2.0.3, )", "autoReferenced": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -7148,7 +7696,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -7172,6 +7724,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -7195,6 +7761,24 @@ "target": "Package", "version": "[8.6.5, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -7610,6 +8194,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -7637,6 +8224,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", @@ -7665,6 +8266,24 @@ "target": "Package", "version": "[11.0.0-preview.1, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -8080,6 +8699,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -8107,6 +8729,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -8130,6 +8766,24 @@ "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -8550,6 +9204,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -8593,11 +9250,31 @@ "version": "[8.3.1.1, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, "SkiaSharp": { "target": "Package", "version": "[3.116.1, 3.116.1]", @@ -8613,6 +9290,18 @@ "version": "[3.116.1, 3.116.1]", "versionCentrallyManaged": true }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "Svg.Skia": { "target": "Package", "version": "[3.4.1, )", @@ -9037,6 +9726,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -9067,10 +9759,42 @@ "version": "[8.0.2, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -9482,7 +10206,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -9519,10 +10247,42 @@ "version": "[60.1.0-alpha.356, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -9943,6 +10703,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -9973,6 +10736,13 @@ "version": "[8.0.2, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -9982,6 +10752,31 @@ "target": "Package", "version": "[10.8.0, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -11366,6 +12161,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -11390,6 +12188,40 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", diff --git a/Jellyfin.Server/obj/Jellyfin.Server.csproj.nuget.g.props b/Jellyfin.Server/obj/Jellyfin.Server.csproj.nuget.g.props index b0a11e53..ef668030 100644 --- a/Jellyfin.Server/obj/Jellyfin.Server.csproj.nuget.g.props +++ b/Jellyfin.Server/obj/Jellyfin.Server.csproj.nuget.g.props @@ -15,8 +15,14 @@ + C:\Users\wjones\.nuget\packages\microsoft.extensions.apidescription.server\6.0.5 + C:\Users\wjones\.nuget\packages\stylecop.analyzers.unstable\1.2.0.556 + C:\Users\wjones\.nuget\packages\smartanalyzers.multithreadinganalyzer\1.1.31 + C:\Users\wjones\.nuget\packages\seriloganalyzer\0.15.0 + C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.bannedapianalyzers\4.14.0 + C:\Users\wjones\.nuget\packages\idisposableanalyzers\4.0.8 \ No newline at end of file diff --git a/Jellyfin.Server/obj/Jellyfin.Server.csproj.nuget.g.targets b/Jellyfin.Server/obj/Jellyfin.Server.csproj.nuget.g.targets index d678fb5c..5a84dd95 100644 --- a/Jellyfin.Server/obj/Jellyfin.Server.csproj.nuget.g.targets +++ b/Jellyfin.Server/obj/Jellyfin.Server.csproj.nuget.g.targets @@ -2,5 +2,6 @@ + \ No newline at end of file diff --git a/Jellyfin.Server/obj/project.assets.json b/Jellyfin.Server/obj/project.assets.json index 95ca8a51..a6521394 100644 --- a/Jellyfin.Server/obj/project.assets.json +++ b/Jellyfin.Server/obj/project.assets.json @@ -315,6 +315,9 @@ } } }, + "IDisposableAnalyzers/4.0.8": { + "type": "package" + }, "Ignore/0.2.1": { "type": "package", "compile": { @@ -451,6 +454,13 @@ } } }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": { + "type": "package", + "build": { + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props": {}, + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets": {} + } + }, "Microsoft.Data.Sqlite/11.0.0-preview.1.26104.118": { "type": "package", "dependencies": { @@ -1109,6 +1119,9 @@ "lib/net7.0/Serilog.Sinks.Graylog.dll": {} } }, + "SerilogAnalyzer/0.15.0": { + "type": "package" + }, "ShimSkiaSharp/3.4.1": { "type": "package", "compile": { @@ -1231,6 +1244,9 @@ } } }, + "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": { + "type": "package" + }, "SourceGear.sqlite3/3.50.4.2": { "type": "package", "compile": { @@ -1418,6 +1434,15 @@ "lib/net5.0/Std.UriTemplate.dll": {} } }, + "StyleCop.Analyzers/1.2.0-beta.556": { + "type": "package", + "dependencies": { + "StyleCop.Analyzers.Unstable": "1.2.0.556" + } + }, + "StyleCop.Analyzers.Unstable/1.2.0.556": { + "type": "package" + }, "Svg.Custom/3.4.1": { "type": "package", "dependencies": { @@ -1644,6 +1669,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.Model": "10.12.0", "TagLibSharp": "2.3.0" @@ -1665,6 +1691,7 @@ "Emby.Photos": "1.0.0", "Ignore": "0.2.1", "Jellyfin.Api": "1.0.0", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.Database.Implementations": "10.11.0", @@ -1691,6 +1718,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.MediaEncoding.Hls": "1.0.0", "Jellyfin.Networking": "1.0.0", @@ -1723,7 +1751,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { - "Jellyfin.Model": "10.12.0" + "Jellyfin.CodeAnalysis": "1.0.0", + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Common.dll": {} @@ -1740,6 +1770,7 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "BitFaster.Caching": "2.5.4", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.MediaEncoding.Keyframes": "10.11.0", "Jellyfin.Model": "10.12.0", @@ -1757,7 +1788,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { - "Jellyfin.Database.Implementations": "10.11.0" + "Jellyfin.CodeAnalysis": "1.0.0", + "Jellyfin.Database.Implementations": "10.11.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Data.dll": {} @@ -1770,6 +1803,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", "Polly": "8.6.5" }, @@ -1784,6 +1818,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Database.Implementations": "10.11.0", "Microsoft.EntityFrameworkCore": "11.0.0-preview.1.26104.118", @@ -1801,6 +1836,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Database.Implementations": "10.11.0", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", @@ -1818,6 +1854,7 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "AsyncKeyedLock": "8.0.2", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.Model": "10.12.0", @@ -1837,6 +1874,7 @@ "BlurHashSharp": "1.4.0-pre.1", "BlurHashSharp.SkiaSharp": "1.4.0-pre.1", "HarfBuzzSharp.NativeAssets.Linux": "8.3.1.1", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.Model": "10.12.0", @@ -1859,6 +1897,7 @@ "dependencies": { "Diacritics": "4.1.4", "ICU4N.Transliterator": "60.1.0-alpha.356", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Sdk": "2025.10.21" }, "compile": { @@ -1873,6 +1912,7 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "AsyncKeyedLock": "8.0.2", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.Model": "10.12.0", @@ -1923,6 +1963,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Data": "10.12.0", "Jellyfin.Extensions": "10.12.0", "Jellyfin.Sdk": "2025.10.21" @@ -1941,8 +1982,10 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", - "Jellyfin.Model": "10.12.0" + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Naming.dll": {} @@ -1955,6 +1998,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Controller": "10.12.0" }, @@ -1970,12 +2014,14 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "AsyncKeyedLock": "8.0.2", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.Data": "10.12.0", "Jellyfin.Database.Implementations": "10.11.0", "Jellyfin.Database.Providers.Postgres": "1.0.0", "Jellyfin.Database.Providers.Sqlite": "1.0.0", "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118" }, "compile": { @@ -1989,8 +2035,10 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Controller": "10.12.0", - "Jellyfin.Model": "10.12.0" + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/MediaBrowser.LocalMetadata.dll": {} @@ -2005,6 +2053,7 @@ "dependencies": { "AsyncKeyedLock": "8.0.2", "BDInfo": "0.8.0", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.Model": "10.12.0", @@ -2024,6 +2073,7 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "AsyncKeyedLock": "8.0.2", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.Model": "10.12.0", "Jellyfin.Sdk": "2025.10.21", @@ -2045,8 +2095,10 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Controller": "10.12.0", - "Jellyfin.Model": "10.12.0" + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/MediaBrowser.XbmcMetadata.dll": {} @@ -2475,6 +2527,21 @@ "unicode-icon-128x128.jpg" ] }, + "IDisposableAnalyzers/4.0.8": { + "sha512": "vNi4NMG0CcJyjXxiNDcQ21FwV/whM9o9OEZKD+oP7tuxAqFEzX/x5OhC3OZJqW/w+8GOtCmJPBquYgMWgz0rfQ==", + "type": "package", + "path": "idisposableanalyzers/4.0.8", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/IDisposableAnalyzers.dll", + "idisposableanalyzers.4.0.8.nupkg.sha512", + "idisposableanalyzers.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Ignore/0.2.1": { "sha512": "Qw3s0pTwK3o6Iv6kTMjmxzOt91pczU533OmtAvFRsJ7PdCVMhGCRyUkMsCOI7ejxOtHJdRsj141HeZWeedlqkQ==", "type": "package", @@ -2637,6 +2704,74 @@ "package-icon.png" ] }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": { + "sha512": "gSWJlDWwmDhtbrEJGiHqvEjz9KthIiFD0qYB8zZ6a7z+xpMSPEtM9yTYELSa58iFWYlzSRqP9FXO6KoT3+ZMtg==", + "type": "package", + "path": "microsoft.codeanalysis.bannedapianalyzers/4.14.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "ThirdPartyNotices.txt", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.BannedApiAnalyzers.dll", + "analyzers/dotnet/cs/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.BannedApiAnalyzers.dll", + "analyzers/dotnet/vb/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props", + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets", + "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.md", + "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.sarif", + "editorconfig/AllRulesDefault/.editorconfig", + "editorconfig/AllRulesDisabled/.editorconfig", + "editorconfig/AllRulesEnabled/.editorconfig", + "editorconfig/ApiDesignRulesDefault/.editorconfig", + "editorconfig/ApiDesignRulesEnabled/.editorconfig", + "editorconfig/DataflowRulesDefault/.editorconfig", + "editorconfig/DataflowRulesEnabled/.editorconfig", + "editorconfig/PortedFromFxCopRulesDefault/.editorconfig", + "editorconfig/PortedFromFxCopRulesEnabled/.editorconfig", + "microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512", + "microsoft.codeanalysis.bannedapianalyzers.nuspec", + "rulesets/AllRulesDefault.ruleset", + "rulesets/AllRulesDisabled.ruleset", + "rulesets/AllRulesEnabled.ruleset", + "rulesets/ApiDesignRulesDefault.ruleset", + "rulesets/ApiDesignRulesEnabled.ruleset", + "rulesets/DataflowRulesDefault.ruleset", + "rulesets/DataflowRulesEnabled.ruleset", + "rulesets/PortedFromFxCopRulesDefault.ruleset", + "rulesets/PortedFromFxCopRulesEnabled.ruleset", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Microsoft.Data.Sqlite/11.0.0-preview.1.26104.118": { "sha512": "Cf3KD0fmQWE5YjiaP2x9HDd7hsUleXq3mpSQMBxO8B62vLyG2j13Xhg/t++wmjKC6kp7G6N0OIxvKb2FqLyeFQ==", "type": "package", @@ -3754,6 +3889,21 @@ "serilog.sinks.graylog.nuspec" ] }, + "SerilogAnalyzer/0.15.0": { + "sha512": "sVpwfls4MfNnwIXLSGCgaUnV+c9kgJ8ia6GsyRcpd4Vs3gLogSDtSYBYrre2K2u/PNMo8GgG09RehwVnze70Tw==", + "type": "package", + "path": "seriloganalyzer/0.15.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/SerilogAnalyzer.dll", + "seriloganalyzer.0.15.0.nupkg.sha512", + "seriloganalyzer.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "ShimSkiaSharp/3.4.1": { "sha512": "ab3J5OGdwYLyXnom90OghS9NyRPH9dtsRtW5B3mL+F43YTlxido3nUtiR9NjB/sI3jvG/J744C29bsSBQ28AfQ==", "type": "package", @@ -3925,6 +4075,21 @@ "skiasharp.nativeassets.win32.nuspec" ] }, + "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": { + "sha512": "2f2k7bbhDd132ArglCKpzKoWBcp3uzbIFcb4aosnlqIKlfYKDE2HevBVRNVa+LkWFnjXFFWs47Bo96fu8iS//Q==", + "type": "package", + "path": "smartanalyzers.multithreadinganalyzer/1.1.31", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/SmartAnalyzers.MultithreadingAnalyzer.dll", + "smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512", + "smartanalyzers.multithreadinganalyzer.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "SourceGear.sqlite3/3.50.4.2": { "sha512": "eV9HwQ88WyoU+reGVxJz1SwME9NbYnl9h2LOY15j0LGdXN4JkTJDk8JRRg/yNgt00O3Cn5/qnska10FEZNoU5g==", "type": "package", @@ -4049,6 +4214,45 @@ "std.uritemplate.nuspec" ] }, + "StyleCop.Analyzers/1.2.0-beta.556": { + "sha512": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==", + "type": "package", + "path": "stylecop.analyzers/1.2.0-beta.556", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "THIRD-PARTY-NOTICES.txt", + "stylecop.analyzers.1.2.0-beta.556.nupkg.sha512", + "stylecop.analyzers.nuspec" + ] + }, + "StyleCop.Analyzers.Unstable/1.2.0.556": { + "sha512": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==", + "type": "package", + "path": "stylecop.analyzers.unstable/1.2.0.556", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "THIRD-PARTY-NOTICES.txt", + "analyzers/dotnet/cs/StyleCop.Analyzers.CodeFixes.dll", + "analyzers/dotnet/cs/StyleCop.Analyzers.dll", + "analyzers/dotnet/cs/de-DE/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/en-GB/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/es-MX/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/fr-FR/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/pl-PL/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/pt-BR/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/ru-RU/StyleCop.Analyzers.resources.dll", + "rulesets/StyleCopAnalyzersDefault.ruleset", + "stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512", + "stylecop.analyzers.unstable.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Svg.Custom/3.4.1": { "sha512": "ksHa7Zv8X1InxSWAeM0sSSvZM2W6FWgneXjU0bdYrQ20Q6q0nl3g0uaSWe53i/CC1OmR+/JAxsp8E3/wigtcng==", "type": "package", @@ -4478,13 +4682,17 @@ "net11.0": [ "CommandLineParser >= 2.9.1", "Emby.Server.Implementations >= 1.0.0", + "IDisposableAnalyzers >= 4.0.8", + "Jellyfin.CodeAnalysis >= 1.0.0", "Jellyfin.Database.Implementations >= 10.11.0", "Jellyfin.Database.Providers.Postgres >= 1.0.0", "Jellyfin.Drawing >= 1.0.0", "Jellyfin.Drawing.Skia >= 1.0.0", "Jellyfin.LiveTv >= 1.0.0", "Jellyfin.MediaEncoding.Hls >= 1.0.0", + "Jellyfin.Sdk >= 2025.10.21", "Jellyfin.Server.Implementations >= 1.0.0", + "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0", "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore >= 11.0.0-preview.1.26104.118", "Morestachio >= 5.0.1.631", "Serilog.AspNetCore >= 10.0.0", @@ -4495,6 +4703,9 @@ "Serilog.Sinks.Console >= 6.1.1", "Serilog.Sinks.File >= 7.0.0", "Serilog.Sinks.Graylog >= 3.1.1", + "SerilogAnalyzer >= 0.15.0", + "SmartAnalyzers.MultithreadingAnalyzer >= 1.1.31", + "StyleCop.Analyzers >= 1.2.0-beta.556", "prometheus-net >= 8.2.1", "prometheus-net.AspNetCore >= 8.2.1" ] @@ -4539,6 +4750,9 @@ "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server.Implementations\\Jellyfin.Server.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server.Implementations\\Jellyfin.Server.Implementations.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" }, @@ -4586,6 +4800,25 @@ "version": "[2.9.1, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", @@ -4636,6 +4869,24 @@ "version": "[3.1.1, )", "versionCentrallyManaged": true }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "prometheus-net": { "target": "Package", "version": "[8.2.1, )", diff --git a/Jellyfin.Server/obj/project.nuget.cache b/Jellyfin.Server/obj/project.nuget.cache index e3d7f781..9e7ac7f0 100644 --- a/Jellyfin.Server/obj/project.nuget.cache +++ b/Jellyfin.Server/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "01XaPNthLPs=", + "dgSpecHash": "t6WzRXE+TSE=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server\\Jellyfin.Server.csproj", "expectedPackageFiles": [ @@ -23,6 +23,7 @@ "C:\\Users\\wjones\\.nuget\\packages\\harfbuzzsharp.nativeassets.win32\\8.3.0.1\\harfbuzzsharp.nativeassets.win32.8.3.0.1.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\icu4n\\60.1.0-alpha.356\\icu4n.60.1.0-alpha.356.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\icu4n.transliterator\\60.1.0-alpha.356\\icu4n.transliterator.60.1.0-alpha.356.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\idisposableanalyzers\\4.0.8\\idisposableanalyzers.4.0.8.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\ignore\\0.2.1\\ignore.0.2.1.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\j2n\\2.0.0\\j2n.2.0.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\jellyfin.sdk\\2025.10.21\\jellyfin.sdk.2025.10.21.nupkg.sha512", @@ -32,6 +33,7 @@ "C:\\Users\\wjones\\.nuget\\packages\\metabrainz.common\\4.1.1\\metabrainz.common.4.1.1.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\metabrainz.common.json\\7.2.0\\metabrainz.common.json.7.2.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\metabrainz.musicbrainz\\8.0.1\\metabrainz.musicbrainz.8.0.1.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.bannedapianalyzers\\4.14.0\\microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.data.sqlite\\11.0.0-preview.1.26104.118\\microsoft.data.sqlite.11.0.0-preview.1.26104.118.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.data.sqlite.core\\11.0.0-preview.1.26104.118\\microsoft.data.sqlite.core.11.0.0-preview.1.26104.118.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.11.0.0-preview.1.26104.118.nupkg.sha512", @@ -75,18 +77,22 @@ "C:\\Users\\wjones\\.nuget\\packages\\serilog.sinks.debug\\3.0.0\\serilog.sinks.debug.3.0.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\serilog.sinks.file\\7.0.0\\serilog.sinks.file.7.0.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\serilog.sinks.graylog\\3.1.1\\serilog.sinks.graylog.3.1.1.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\seriloganalyzer\\0.15.0\\seriloganalyzer.0.15.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\shimskiasharp\\3.4.1\\shimskiasharp.3.4.1.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\skiasharp\\3.116.1\\skiasharp.3.116.1.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\skiasharp.harfbuzz\\3.116.1\\skiasharp.harfbuzz.3.116.1.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\skiasharp.nativeassets.linux\\3.116.1\\skiasharp.nativeassets.linux.3.116.1.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\skiasharp.nativeassets.macos\\3.116.1\\skiasharp.nativeassets.macos.3.116.1.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\skiasharp.nativeassets.win32\\3.116.1\\skiasharp.nativeassets.win32.3.116.1.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\smartanalyzers.multithreadinganalyzer\\1.1.31\\smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\sourcegear.sqlite3\\3.50.4.2\\sourcegear.sqlite3.3.50.4.2.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\sqlitepclraw.bundle_e_sqlite3\\3.0.2\\sqlitepclraw.bundle_e_sqlite3.3.0.2.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\sqlitepclraw.config.e_sqlite3\\3.0.2\\sqlitepclraw.config.e_sqlite3.3.0.2.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\sqlitepclraw.core\\3.0.2\\sqlitepclraw.core.3.0.2.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\sqlitepclraw.provider.e_sqlite3\\3.0.2\\sqlitepclraw.provider.e_sqlite3.3.0.2.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers\\1.2.0-beta.556\\stylecop.analyzers.1.2.0-beta.556.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers.unstable\\1.2.0.556\\stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\svg.custom\\3.4.1\\svg.custom.3.4.1.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\svg.model\\3.4.1\\svg.model.3.4.1.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\svg.skia\\3.4.1\\svg.skia.3.4.1.nupkg.sha512", diff --git a/MediaBrowser.Common/obj/MediaBrowser.Common.csproj.nuget.dgspec.json b/MediaBrowser.Common/obj/MediaBrowser.Common.csproj.nuget.dgspec.json index 72219970..e71d2654 100644 --- a/MediaBrowser.Common/obj/MediaBrowser.Common.csproj.nuget.dgspec.json +++ b/MediaBrowser.Common/obj/MediaBrowser.Common.csproj.nuget.dgspec.json @@ -34,6 +34,9 @@ "net11.0": { "targetAlias": "net11.0", "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -61,10 +64,47 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Logging": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -479,6 +519,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -503,6 +546,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -1060,6 +1142,9 @@ "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj" } @@ -1087,17 +1172,49 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "MimeTypes": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", "target": "Package", "version": "[2.5.2, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -1624,6 +1741,216 @@ } } }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj", + "projectName": "Jellyfin.CodeAnalysis", + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj", + "packagesPath": "C:\\Users\\wjones\\.nuget\\packages\\", + "outputPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\obj\\", + "projectStyle": "PackageReference", + "centralPackageVersionsManagementEnabled": true, + "fallbackFolders": [ + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" + ], + "configFilePaths": [ + "E:\\Projects\\pgsql-jellyfin\\NuGet.Config", + "C:\\Users\\wjones\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + ], + "originalTargetFrameworks": [ + "netstandard2.0" + ], + "sources": { + "C:\\Program Files\\dotnet\\library-packs": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "netstandard2.0": { + "targetAlias": "netstandard2.0", + "projectReferences": {} + } + }, + "warningProperties": { + "allWarningsAsErrors": true, + "warnAsError": [ + "NU1605" + ], + "warnNotAsError": [ + "NU1902", + "NU1903" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + }, + "SdkAnalysisLevel": "11.0.100" + }, + "frameworks": { + "netstandard2.0": { + "targetAlias": "netstandard2.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[3.11.0, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.CSharp": { + "suppressParent": "All", + "target": "Package", + "version": "[5.0.0, )", + "versionCentrallyManaged": true + }, + "NETStandard.Library": { + "suppressParent": "All", + "target": "Package", + "version": "[2.0.3, )", + "autoReferenced": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, + "centralPackageVersions": { + "AsyncKeyedLock": "8.0.2", + "AutoFixture": "4.18.1", + "AutoFixture.AutoMoq": "4.18.1", + "AutoFixture.Xunit2": "4.18.1", + "BDInfo": "0.8.0", + "BitFaster.Caching": "2.5.4", + "BlurHashSharp": "1.4.0-pre.1", + "BlurHashSharp.SkiaSharp": "1.4.0-pre.1", + "CommandLineParser": "2.9.1", + "coverlet.collector": "8.0.0", + "Diacritics": "4.1.4", + "DiscUtils.Udf": "0.16.13", + "DotNet.Glob": "3.1.3", + "FsCheck.Xunit": "3.3.2", + "HarfBuzzSharp.NativeAssets.Linux": "8.3.1.1", + "ICU4N.Transliterator": "60.1.0-alpha.356", + "IDisposableAnalyzers": "4.0.8", + "Ignore": "0.2.1", + "Jellyfin.Sdk": "2025.10.21", + "Jellyfin.XmlTv": "10.8.0", + "libse": "4.0.12", + "LrcParser": "2025.623.0", + "MetaBrainz.MusicBrainz": "8.0.1", + "Microsoft.AspNetCore.Authorization": "11.0.0-preview.1.26104.118", + "Microsoft.AspNetCore.Mvc.Testing": "11.0.0-preview.1.26104.118", + "Microsoft.CodeAnalysis.Analyzers": "3.11.0", + "Microsoft.CodeAnalysis.BannedApiAnalyzers": "4.14.0", + "Microsoft.CodeAnalysis.Common": "5.0.0", + "Microsoft.CodeAnalysis.CSharp": "5.0.0", + "Microsoft.Data.Sqlite": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore.Design": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore.Sqlite": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore.Tools": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Caching.Abstractions": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Caching.Memory": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Configuration.Abstractions": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Configuration.Binder": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.DependencyInjection": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Hosting.Abstractions": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Http": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Options": "11.0.0-preview.1.26104.118", + "Microsoft.NET.Test.Sdk": "18.0.1", + "MimeTypes": "2.5.2", + "Moq": "4.18.4", + "Morestachio": "5.0.1.631", + "NEbml": "1.1.0.5", + "Newtonsoft.Json": "13.0.4", + "Npgsql.EntityFrameworkCore.PostgreSQL": "11.0.0-preview.1", + "PlaylistsNET": "1.4.1", + "Polly": "8.6.5", + "prometheus-net": "8.2.1", + "prometheus-net.AspNetCore": "8.2.1", + "prometheus-net.DotNetRuntime": "4.4.1", + "Serilog.AspNetCore": "10.0.0", + "Serilog.Enrichers.Thread": "4.0.0", + "Serilog.Expressions": "5.0.0", + "Serilog.Settings.Configuration": "10.0.0", + "Serilog.Sinks.Async": "2.1.0", + "Serilog.Sinks.Console": "6.1.1", + "Serilog.Sinks.File": "7.0.0", + "Serilog.Sinks.Graylog": "3.1.1", + "SerilogAnalyzer": "0.15.0", + "SharpFuzz": "2.2.0", + "SkiaSharp": "[3.116.1]", + "SkiaSharp.HarfBuzz": "[3.116.1]", + "SkiaSharp.NativeAssets.Linux": "[3.116.1]", + "SmartAnalyzers.MultithreadingAnalyzer": "1.1.31", + "StyleCop.Analyzers": "1.2.0-beta.556", + "Svg.Skia": "3.4.1", + "Swashbuckle.AspNetCore": "7.3.2", + "Swashbuckle.AspNetCore.ReDoc": "6.9.0", + "System.Text.Json": "11.0.0-preview.1.26104.118", + "TagLibSharp": "2.3.0", + "TMDbLib": "2.3.0", + "UTF.Unknown": "2.6.0", + "xunit": "2.9.3", + "Xunit.Priority": "1.1.6", + "xunit.runner.visualstudio": "2.8.2", + "Xunit.SkippableFact": "1.5.61", + "z440.atl.core": "7.11.0" + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\11.0.100-preview.1.26104.118\\RuntimeIdentifierGraph.json" + } + } + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "version": "10.11.0", "restore": { @@ -1653,7 +1980,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -1677,6 +2008,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -1700,6 +2045,24 @@ "target": "Package", "version": "[8.6.5, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -2111,7 +2474,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -2148,10 +2515,42 @@ "version": "[60.1.0-alpha.356, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { diff --git a/MediaBrowser.Common/obj/MediaBrowser.Common.csproj.nuget.g.props b/MediaBrowser.Common/obj/MediaBrowser.Common.csproj.nuget.g.props index 59d22c92..651d5bb6 100644 --- a/MediaBrowser.Common/obj/MediaBrowser.Common.csproj.nuget.g.props +++ b/MediaBrowser.Common/obj/MediaBrowser.Common.csproj.nuget.g.props @@ -15,5 +15,13 @@ + + + C:\Users\wjones\.nuget\packages\stylecop.analyzers.unstable\1.2.0.556 + C:\Users\wjones\.nuget\packages\smartanalyzers.multithreadinganalyzer\1.1.31 + C:\Users\wjones\.nuget\packages\seriloganalyzer\0.15.0 + C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.bannedapianalyzers\4.14.0 + C:\Users\wjones\.nuget\packages\idisposableanalyzers\4.0.8 + \ No newline at end of file diff --git a/MediaBrowser.Common/obj/MediaBrowser.Common.csproj.nuget.g.targets b/MediaBrowser.Common/obj/MediaBrowser.Common.csproj.nuget.g.targets index 3dc06ef3..d513a57a 100644 --- a/MediaBrowser.Common/obj/MediaBrowser.Common.csproj.nuget.g.targets +++ b/MediaBrowser.Common/obj/MediaBrowser.Common.csproj.nuget.g.targets @@ -1,2 +1,6 @@  - \ No newline at end of file + + + + + \ No newline at end of file diff --git a/MediaBrowser.Common/obj/project.assets.json b/MediaBrowser.Common/obj/project.assets.json index 7ea6f1f9..1d6653ae 100644 --- a/MediaBrowser.Common/obj/project.assets.json +++ b/MediaBrowser.Common/obj/project.assets.json @@ -47,6 +47,9 @@ } } }, + "IDisposableAnalyzers/4.0.8": { + "type": "package" + }, "J2N/2.0.0": { "type": "package", "compile": { @@ -81,6 +84,13 @@ } } }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": { + "type": "package", + "build": { + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props": {}, + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets": {} + } + }, "Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": { "type": "package", "dependencies": { @@ -258,6 +268,12 @@ } } }, + "SerilogAnalyzer/0.15.0": { + "type": "package" + }, + "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": { + "type": "package" + }, "Std.UriTemplate/2.0.5": { "type": "package", "compile": { @@ -267,11 +283,35 @@ "lib/net5.0/Std.UriTemplate.dll": {} } }, + "StyleCop.Analyzers/1.2.0-beta.556": { + "type": "package", + "dependencies": { + "StyleCop.Analyzers.Unstable": "1.2.0.556" + } + }, + "StyleCop.Analyzers.Unstable/1.2.0.556": { + "type": "package" + }, + "Jellyfin.CodeAnalysis/1.0.0": { + "type": "project", + "framework": ".NETStandard,Version=v2.0", + "dependencies": { + "Jellyfin.Sdk": "2025.10.21" + }, + "compile": { + "bin/placeholder/Jellyfin.CodeAnalysis.dll": {} + }, + "runtime": { + "bin/placeholder/Jellyfin.CodeAnalysis.dll": {} + } + }, "Jellyfin.Data/10.12.0": { "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { - "Jellyfin.Database.Implementations": "10.11.0" + "Jellyfin.CodeAnalysis": "1.0.0", + "Jellyfin.Database.Implementations": "10.11.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Data.dll": {} @@ -284,6 +324,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", "Polly": "8.6.5" }, @@ -300,6 +341,7 @@ "dependencies": { "Diacritics": "4.1.4", "ICU4N.Transliterator": "60.1.0-alpha.356", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Sdk": "2025.10.21" }, "compile": { @@ -313,6 +355,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Data": "10.12.0", "Jellyfin.Extensions": "10.12.0", "Jellyfin.Sdk": "2025.10.21" @@ -396,6 +439,21 @@ "unicode-icon-128x128.jpg" ] }, + "IDisposableAnalyzers/4.0.8": { + "sha512": "vNi4NMG0CcJyjXxiNDcQ21FwV/whM9o9OEZKD+oP7tuxAqFEzX/x5OhC3OZJqW/w+8GOtCmJPBquYgMWgz0rfQ==", + "type": "package", + "path": "idisposableanalyzers/4.0.8", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/IDisposableAnalyzers.dll", + "idisposableanalyzers.4.0.8.nupkg.sha512", + "idisposableanalyzers.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "J2N/2.0.0": { "sha512": "M5bwDajAARZiyqupU+rHQJnsVLxNBOHJ8vKYHd8LcLIb1FgLfzzcJvc31Qo5Xz/GEHFjDF9ScjKL/ks/zRTXuA==", "type": "package", @@ -443,6 +501,74 @@ "lib/netstandard2.1/Jellyfin.Sdk.xml" ] }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": { + "sha512": "gSWJlDWwmDhtbrEJGiHqvEjz9KthIiFD0qYB8zZ6a7z+xpMSPEtM9yTYELSa58iFWYlzSRqP9FXO6KoT3+ZMtg==", + "type": "package", + "path": "microsoft.codeanalysis.bannedapianalyzers/4.14.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "ThirdPartyNotices.txt", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.BannedApiAnalyzers.dll", + "analyzers/dotnet/cs/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.BannedApiAnalyzers.dll", + "analyzers/dotnet/vb/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props", + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets", + "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.md", + "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.sarif", + "editorconfig/AllRulesDefault/.editorconfig", + "editorconfig/AllRulesDisabled/.editorconfig", + "editorconfig/AllRulesEnabled/.editorconfig", + "editorconfig/ApiDesignRulesDefault/.editorconfig", + "editorconfig/ApiDesignRulesEnabled/.editorconfig", + "editorconfig/DataflowRulesDefault/.editorconfig", + "editorconfig/DataflowRulesEnabled/.editorconfig", + "editorconfig/PortedFromFxCopRulesDefault/.editorconfig", + "editorconfig/PortedFromFxCopRulesEnabled/.editorconfig", + "microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512", + "microsoft.codeanalysis.bannedapianalyzers.nuspec", + "rulesets/AllRulesDefault.ruleset", + "rulesets/AllRulesDisabled.ruleset", + "rulesets/AllRulesEnabled.ruleset", + "rulesets/ApiDesignRulesDefault.ruleset", + "rulesets/ApiDesignRulesEnabled.ruleset", + "rulesets/DataflowRulesDefault.ruleset", + "rulesets/DataflowRulesEnabled.ruleset", + "rulesets/PortedFromFxCopRulesDefault.ruleset", + "rulesets/PortedFromFxCopRulesEnabled.ruleset", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": { "sha512": "Nox5NDdfvErlYUc9dyMlI7OzyrVQPKBzaq9P+SqMbAOm+gdG5KjtxpIkk7I/6NhcQ85HYaug/tEEnb7RvYdEYA==", "type": "package", @@ -694,6 +820,36 @@ "polly.core.nuspec" ] }, + "SerilogAnalyzer/0.15.0": { + "sha512": "sVpwfls4MfNnwIXLSGCgaUnV+c9kgJ8ia6GsyRcpd4Vs3gLogSDtSYBYrre2K2u/PNMo8GgG09RehwVnze70Tw==", + "type": "package", + "path": "seriloganalyzer/0.15.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/SerilogAnalyzer.dll", + "seriloganalyzer.0.15.0.nupkg.sha512", + "seriloganalyzer.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, + "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": { + "sha512": "2f2k7bbhDd132ArglCKpzKoWBcp3uzbIFcb4aosnlqIKlfYKDE2HevBVRNVa+LkWFnjXFFWs47Bo96fu8iS//Q==", + "type": "package", + "path": "smartanalyzers.multithreadinganalyzer/1.1.31", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/SmartAnalyzers.MultithreadingAnalyzer.dll", + "smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512", + "smartanalyzers.multithreadinganalyzer.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Std.UriTemplate/2.0.5": { "sha512": "PtqPdWNBObRcDHjyjbgOz2XoCJQaiA+HNDPQve/O7yGCkospfHDCuH9ULVx1msImwHHG+uhpDjiZX7bpLN/cnw==", "type": "package", @@ -708,6 +864,50 @@ "std.uritemplate.nuspec" ] }, + "StyleCop.Analyzers/1.2.0-beta.556": { + "sha512": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==", + "type": "package", + "path": "stylecop.analyzers/1.2.0-beta.556", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "THIRD-PARTY-NOTICES.txt", + "stylecop.analyzers.1.2.0-beta.556.nupkg.sha512", + "stylecop.analyzers.nuspec" + ] + }, + "StyleCop.Analyzers.Unstable/1.2.0.556": { + "sha512": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==", + "type": "package", + "path": "stylecop.analyzers.unstable/1.2.0.556", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "THIRD-PARTY-NOTICES.txt", + "analyzers/dotnet/cs/StyleCop.Analyzers.CodeFixes.dll", + "analyzers/dotnet/cs/StyleCop.Analyzers.dll", + "analyzers/dotnet/cs/de-DE/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/en-GB/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/es-MX/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/fr-FR/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/pl-PL/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/pt-BR/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/ru-RU/StyleCop.Analyzers.resources.dll", + "rulesets/StyleCopAnalyzersDefault.ruleset", + "stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512", + "stylecop.analyzers.unstable.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, + "Jellyfin.CodeAnalysis/1.0.0": { + "type": "project", + "path": "../src/Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj", + "msbuildProject": "../src/Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj" + }, "Jellyfin.Data/10.12.0": { "type": "project", "path": "../Jellyfin.Data/Jellyfin.Data.csproj", @@ -731,7 +931,14 @@ }, "projectFileDependencyGroups": { "net11.0": [ - "Jellyfin.Model >= 10.12.0" + "IDisposableAnalyzers >= 4.0.8", + "Jellyfin.CodeAnalysis >= 1.0.0", + "Jellyfin.Model >= 10.12.0", + "Jellyfin.Sdk >= 2025.10.21", + "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0", + "SerilogAnalyzer >= 0.15.0", + "SmartAnalyzers.MultithreadingAnalyzer >= 1.1.31", + "StyleCop.Analyzers >= 1.2.0-beta.556" ] }, "packageFolders": { @@ -770,6 +977,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -794,6 +1004,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", diff --git a/MediaBrowser.Common/obj/project.nuget.cache b/MediaBrowser.Common/obj/project.nuget.cache index 04c56074..a1d2a890 100644 --- a/MediaBrowser.Common/obj/project.nuget.cache +++ b/MediaBrowser.Common/obj/project.nuget.cache @@ -1,14 +1,16 @@ { "version": 2, - "dgSpecHash": "SyyOF/vUOXI=", + "dgSpecHash": "JKxQaRKDB/g=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj", "expectedPackageFiles": [ "C:\\Users\\wjones\\.nuget\\packages\\diacritics\\4.1.4\\diacritics.4.1.4.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\icu4n\\60.1.0-alpha.356\\icu4n.60.1.0-alpha.356.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\icu4n.transliterator\\60.1.0-alpha.356\\icu4n.transliterator.60.1.0-alpha.356.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\idisposableanalyzers\\4.0.8\\idisposableanalyzers.4.0.8.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\j2n\\2.0.0\\j2n.2.0.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\jellyfin.sdk\\2025.10.21\\jellyfin.sdk.2025.10.21.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.bannedapianalyzers\\4.14.0\\microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.11.0.0-preview.1.26104.118.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.abstractions.11.0.0-preview.1.26104.118.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.analyzers.11.0.0-preview.1.26104.118.nupkg.sha512", @@ -21,7 +23,11 @@ "C:\\Users\\wjones\\.nuget\\packages\\microsoft.kiota.serialization.text\\1.20.1\\microsoft.kiota.serialization.text.1.20.1.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\polly\\8.6.5\\polly.8.6.5.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\polly.core\\8.6.5\\polly.core.8.6.5.nupkg.sha512", - "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512" + "C:\\Users\\wjones\\.nuget\\packages\\seriloganalyzer\\0.15.0\\seriloganalyzer.0.15.0.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\smartanalyzers.multithreadinganalyzer\\1.1.31\\smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers\\1.2.0-beta.556\\stylecop.analyzers.1.2.0-beta.556.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers.unstable\\1.2.0.556\\stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512" ], "logs": [] } \ No newline at end of file diff --git a/MediaBrowser.Controller/obj/MediaBrowser.Controller.csproj.nuget.dgspec.json b/MediaBrowser.Controller/obj/MediaBrowser.Controller.csproj.nuget.dgspec.json index a7f63c9b..3d3434f2 100644 --- a/MediaBrowser.Controller/obj/MediaBrowser.Controller.csproj.nuget.dgspec.json +++ b/MediaBrowser.Controller/obj/MediaBrowser.Controller.csproj.nuget.dgspec.json @@ -39,20 +39,13 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } }, - "warningProperties": { - "allWarningsAsErrors": true, - "warnAsError": [ - "NU1605" - ], - "warnNotAsError": [ - "NU1902", - "NU1903" - ] - }, "restoreAuditProperties": { "enableAudit": "true", "auditLevel": "low", @@ -63,6 +56,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -473,6 +505,9 @@ "net11.0": { "targetAlias": "net11.0", "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -500,10 +535,47 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Logging": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -918,6 +990,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -942,6 +1017,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -1505,6 +1619,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj" } @@ -1537,15 +1654,47 @@ "version": "[2.5.4, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Configuration.Binder": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -1961,6 +2110,9 @@ "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj" } @@ -1988,17 +2140,49 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "MimeTypes": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", "target": "Package", "version": "[2.5.2, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -2578,6 +2762,13 @@ "netstandard2.0": { "targetAlias": "netstandard2.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -2589,6 +2780,13 @@ "version": "[3.11.0, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.CodeAnalysis.CSharp": { "suppressParent": "All", "target": "Package", @@ -2600,6 +2798,24 @@ "target": "Package", "version": "[2.0.3, )", "autoReferenced": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -2732,7 +2948,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -2756,6 +2976,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -2779,6 +3013,24 @@ "target": "Package", "version": "[8.6.5, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -3190,7 +3442,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -3227,10 +3483,42 @@ "version": "[60.1.0-alpha.356, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { diff --git a/MediaBrowser.Controller/obj/MediaBrowser.Controller.csproj.nuget.g.props b/MediaBrowser.Controller/obj/MediaBrowser.Controller.csproj.nuget.g.props index 59d22c92..651d5bb6 100644 --- a/MediaBrowser.Controller/obj/MediaBrowser.Controller.csproj.nuget.g.props +++ b/MediaBrowser.Controller/obj/MediaBrowser.Controller.csproj.nuget.g.props @@ -15,5 +15,13 @@ + + + C:\Users\wjones\.nuget\packages\stylecop.analyzers.unstable\1.2.0.556 + C:\Users\wjones\.nuget\packages\smartanalyzers.multithreadinganalyzer\1.1.31 + C:\Users\wjones\.nuget\packages\seriloganalyzer\0.15.0 + C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.bannedapianalyzers\4.14.0 + C:\Users\wjones\.nuget\packages\idisposableanalyzers\4.0.8 + \ No newline at end of file diff --git a/MediaBrowser.Controller/obj/MediaBrowser.Controller.csproj.nuget.g.targets b/MediaBrowser.Controller/obj/MediaBrowser.Controller.csproj.nuget.g.targets index 693275db..fee5dc52 100644 --- a/MediaBrowser.Controller/obj/MediaBrowser.Controller.csproj.nuget.g.targets +++ b/MediaBrowser.Controller/obj/MediaBrowser.Controller.csproj.nuget.g.targets @@ -4,5 +4,6 @@ + \ No newline at end of file diff --git a/MediaBrowser.Controller/obj/project.assets.json b/MediaBrowser.Controller/obj/project.assets.json index 81fab8ef..4750d705 100644 --- a/MediaBrowser.Controller/obj/project.assets.json +++ b/MediaBrowser.Controller/obj/project.assets.json @@ -61,6 +61,9 @@ } } }, + "IDisposableAnalyzers/4.0.8": { + "type": "package" + }, "J2N/2.0.0": { "type": "package", "compile": { @@ -95,6 +98,13 @@ } } }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": { + "type": "package", + "build": { + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props": {}, + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets": {} + } + }, "Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": { "type": "package", "dependencies": { @@ -502,6 +512,12 @@ } } }, + "SerilogAnalyzer/0.15.0": { + "type": "package" + }, + "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": { + "type": "package" + }, "Std.UriTemplate/2.0.5": { "type": "package", "compile": { @@ -511,6 +527,15 @@ "lib/net5.0/Std.UriTemplate.dll": {} } }, + "StyleCop.Analyzers/1.2.0-beta.556": { + "type": "package", + "dependencies": { + "StyleCop.Analyzers.Unstable": "1.2.0.556" + } + }, + "StyleCop.Analyzers.Unstable/1.2.0.556": { + "type": "package" + }, "Jellyfin.CodeAnalysis/1.0.0": { "type": "project", "framework": ".NETStandard,Version=v2.0", @@ -528,7 +553,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { - "Jellyfin.Model": "10.12.0" + "Jellyfin.CodeAnalysis": "1.0.0", + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Common.dll": {} @@ -544,7 +571,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Database.Implementations": "10.11.0", + "Jellyfin.Sdk": "2025.10.21", "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118" }, "compile": { @@ -558,6 +587,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", "Polly": "8.6.5" }, @@ -574,6 +604,7 @@ "dependencies": { "Diacritics": "4.1.4", "ICU4N.Transliterator": "60.1.0-alpha.356", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Sdk": "2025.10.21" }, "compile": { @@ -602,6 +633,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Data": "10.12.0", "Jellyfin.Extensions": "10.12.0", "Jellyfin.Sdk": "2025.10.21" @@ -620,8 +652,10 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", - "Jellyfin.Model": "10.12.0" + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Naming.dll": {} @@ -718,6 +752,21 @@ "unicode-icon-128x128.jpg" ] }, + "IDisposableAnalyzers/4.0.8": { + "sha512": "vNi4NMG0CcJyjXxiNDcQ21FwV/whM9o9OEZKD+oP7tuxAqFEzX/x5OhC3OZJqW/w+8GOtCmJPBquYgMWgz0rfQ==", + "type": "package", + "path": "idisposableanalyzers/4.0.8", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/IDisposableAnalyzers.dll", + "idisposableanalyzers.4.0.8.nupkg.sha512", + "idisposableanalyzers.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "J2N/2.0.0": { "sha512": "M5bwDajAARZiyqupU+rHQJnsVLxNBOHJ8vKYHd8LcLIb1FgLfzzcJvc31Qo5Xz/GEHFjDF9ScjKL/ks/zRTXuA==", "type": "package", @@ -765,6 +814,74 @@ "lib/netstandard2.1/Jellyfin.Sdk.xml" ] }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": { + "sha512": "gSWJlDWwmDhtbrEJGiHqvEjz9KthIiFD0qYB8zZ6a7z+xpMSPEtM9yTYELSa58iFWYlzSRqP9FXO6KoT3+ZMtg==", + "type": "package", + "path": "microsoft.codeanalysis.bannedapianalyzers/4.14.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "ThirdPartyNotices.txt", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.BannedApiAnalyzers.dll", + "analyzers/dotnet/cs/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.BannedApiAnalyzers.dll", + "analyzers/dotnet/vb/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props", + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets", + "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.md", + "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.sarif", + "editorconfig/AllRulesDefault/.editorconfig", + "editorconfig/AllRulesDisabled/.editorconfig", + "editorconfig/AllRulesEnabled/.editorconfig", + "editorconfig/ApiDesignRulesDefault/.editorconfig", + "editorconfig/ApiDesignRulesEnabled/.editorconfig", + "editorconfig/DataflowRulesDefault/.editorconfig", + "editorconfig/DataflowRulesEnabled/.editorconfig", + "editorconfig/PortedFromFxCopRulesDefault/.editorconfig", + "editorconfig/PortedFromFxCopRulesEnabled/.editorconfig", + "microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512", + "microsoft.codeanalysis.bannedapianalyzers.nuspec", + "rulesets/AllRulesDefault.ruleset", + "rulesets/AllRulesDisabled.ruleset", + "rulesets/AllRulesEnabled.ruleset", + "rulesets/ApiDesignRulesDefault.ruleset", + "rulesets/ApiDesignRulesEnabled.ruleset", + "rulesets/DataflowRulesDefault.ruleset", + "rulesets/DataflowRulesEnabled.ruleset", + "rulesets/PortedFromFxCopRulesDefault.ruleset", + "rulesets/PortedFromFxCopRulesEnabled.ruleset", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": { "sha512": "Nox5NDdfvErlYUc9dyMlI7OzyrVQPKBzaq9P+SqMbAOm+gdG5KjtxpIkk7I/6NhcQ85HYaug/tEEnb7RvYdEYA==", "type": "package", @@ -1406,6 +1523,36 @@ "polly.core.nuspec" ] }, + "SerilogAnalyzer/0.15.0": { + "sha512": "sVpwfls4MfNnwIXLSGCgaUnV+c9kgJ8ia6GsyRcpd4Vs3gLogSDtSYBYrre2K2u/PNMo8GgG09RehwVnze70Tw==", + "type": "package", + "path": "seriloganalyzer/0.15.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/SerilogAnalyzer.dll", + "seriloganalyzer.0.15.0.nupkg.sha512", + "seriloganalyzer.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, + "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": { + "sha512": "2f2k7bbhDd132ArglCKpzKoWBcp3uzbIFcb4aosnlqIKlfYKDE2HevBVRNVa+LkWFnjXFFWs47Bo96fu8iS//Q==", + "type": "package", + "path": "smartanalyzers.multithreadinganalyzer/1.1.31", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/SmartAnalyzers.MultithreadingAnalyzer.dll", + "smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512", + "smartanalyzers.multithreadinganalyzer.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Std.UriTemplate/2.0.5": { "sha512": "PtqPdWNBObRcDHjyjbgOz2XoCJQaiA+HNDPQve/O7yGCkospfHDCuH9ULVx1msImwHHG+uhpDjiZX7bpLN/cnw==", "type": "package", @@ -1420,6 +1567,45 @@ "std.uritemplate.nuspec" ] }, + "StyleCop.Analyzers/1.2.0-beta.556": { + "sha512": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==", + "type": "package", + "path": "stylecop.analyzers/1.2.0-beta.556", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "THIRD-PARTY-NOTICES.txt", + "stylecop.analyzers.1.2.0-beta.556.nupkg.sha512", + "stylecop.analyzers.nuspec" + ] + }, + "StyleCop.Analyzers.Unstable/1.2.0.556": { + "sha512": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==", + "type": "package", + "path": "stylecop.analyzers.unstable/1.2.0.556", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "THIRD-PARTY-NOTICES.txt", + "analyzers/dotnet/cs/StyleCop.Analyzers.CodeFixes.dll", + "analyzers/dotnet/cs/StyleCop.Analyzers.dll", + "analyzers/dotnet/cs/de-DE/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/en-GB/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/es-MX/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/fr-FR/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/pl-PL/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/pt-BR/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/ru-RU/StyleCop.Analyzers.resources.dll", + "rulesets/StyleCopAnalyzersDefault.ruleset", + "stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512", + "stylecop.analyzers.unstable.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Jellyfin.CodeAnalysis/1.0.0": { "type": "project", "path": "../src/Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj", @@ -1464,12 +1650,18 @@ "projectFileDependencyGroups": { "net11.0": [ "BitFaster.Caching >= 2.5.4", + "IDisposableAnalyzers >= 4.0.8", + "Jellyfin.CodeAnalysis >= 1.0.0", "Jellyfin.Common >= 10.12.0", "Jellyfin.MediaEncoding.Keyframes >= 10.11.0", "Jellyfin.Model >= 10.12.0", "Jellyfin.Naming >= 10.12.0", "Jellyfin.Sdk >= 2025.10.21", - "Microsoft.Extensions.Configuration.Binder >= 11.0.0-preview.1.26104.118" + "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0", + "Microsoft.Extensions.Configuration.Binder >= 11.0.0-preview.1.26104.118", + "SerilogAnalyzer >= 0.15.0", + "SmartAnalyzers.MultithreadingAnalyzer >= 1.1.31", + "StyleCop.Analyzers >= 1.2.0-beta.556" ] }, "packageFolders": { @@ -1515,6 +1707,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj" } @@ -1547,15 +1742,47 @@ "version": "[2.5.4, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Configuration.Binder": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { diff --git a/MediaBrowser.Controller/obj/project.nuget.cache b/MediaBrowser.Controller/obj/project.nuget.cache index 3f602b00..a8132c41 100644 --- a/MediaBrowser.Controller/obj/project.nuget.cache +++ b/MediaBrowser.Controller/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "iRASh6VPJ/s=", + "dgSpecHash": "No+LvUzpMog=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj", "expectedPackageFiles": [ @@ -8,8 +8,10 @@ "C:\\Users\\wjones\\.nuget\\packages\\diacritics\\4.1.4\\diacritics.4.1.4.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\icu4n\\60.1.0-alpha.356\\icu4n.60.1.0-alpha.356.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\icu4n.transliterator\\60.1.0-alpha.356\\icu4n.transliterator.60.1.0-alpha.356.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\idisposableanalyzers\\4.0.8\\idisposableanalyzers.4.0.8.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\j2n\\2.0.0\\j2n.2.0.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\jellyfin.sdk\\2025.10.21\\jellyfin.sdk.2025.10.21.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.bannedapianalyzers\\4.14.0\\microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.11.0.0-preview.1.26104.118.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.abstractions.11.0.0-preview.1.26104.118.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.analyzers.11.0.0-preview.1.26104.118.nupkg.sha512", @@ -34,7 +36,11 @@ "C:\\Users\\wjones\\.nuget\\packages\\nebml\\1.1.0.5\\nebml.1.1.0.5.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\polly\\8.6.5\\polly.8.6.5.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\polly.core\\8.6.5\\polly.core.8.6.5.nupkg.sha512", - "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512" + "C:\\Users\\wjones\\.nuget\\packages\\seriloganalyzer\\0.15.0\\seriloganalyzer.0.15.0.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\smartanalyzers.multithreadinganalyzer\\1.1.31\\smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers\\1.2.0-beta.556\\stylecop.analyzers.1.2.0-beta.556.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers.unstable\\1.2.0.556\\stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512" ], "logs": [] } \ No newline at end of file diff --git a/MediaBrowser.LocalMetadata/obj/MediaBrowser.LocalMetadata.csproj.nuget.dgspec.json b/MediaBrowser.LocalMetadata/obj/MediaBrowser.LocalMetadata.csproj.nuget.dgspec.json index e68d7b94..7ffa0947 100644 --- a/MediaBrowser.LocalMetadata/obj/MediaBrowser.LocalMetadata.csproj.nuget.dgspec.json +++ b/MediaBrowser.LocalMetadata/obj/MediaBrowser.LocalMetadata.csproj.nuget.dgspec.json @@ -39,20 +39,13 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } }, - "warningProperties": { - "allWarningsAsErrors": true, - "warnAsError": [ - "NU1605" - ], - "warnNotAsError": [ - "NU1902", - "NU1903" - ] - }, "restoreAuditProperties": { "enableAudit": "true", "auditLevel": "low", @@ -63,6 +56,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -473,6 +505,9 @@ "net11.0": { "targetAlias": "net11.0", "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -500,10 +535,47 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Logging": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -918,6 +990,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -942,6 +1017,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -1505,6 +1619,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj" } @@ -1537,15 +1654,47 @@ "version": "[2.5.4, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Configuration.Binder": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -1963,6 +2112,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -1987,6 +2139,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -2400,6 +2591,9 @@ "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj" } @@ -2427,17 +2621,49 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "MimeTypes": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", "target": "Package", "version": "[2.5.2, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -3017,6 +3243,13 @@ "netstandard2.0": { "targetAlias": "netstandard2.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -3028,6 +3261,13 @@ "version": "[3.11.0, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.CodeAnalysis.CSharp": { "suppressParent": "All", "target": "Package", @@ -3039,6 +3279,24 @@ "target": "Package", "version": "[2.0.3, )", "autoReferenced": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -3171,7 +3429,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -3195,6 +3457,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -3218,6 +3494,24 @@ "target": "Package", "version": "[8.6.5, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -3629,7 +3923,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -3666,10 +3964,42 @@ "version": "[60.1.0-alpha.356, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { diff --git a/MediaBrowser.LocalMetadata/obj/MediaBrowser.LocalMetadata.csproj.nuget.g.props b/MediaBrowser.LocalMetadata/obj/MediaBrowser.LocalMetadata.csproj.nuget.g.props index 59d22c92..651d5bb6 100644 --- a/MediaBrowser.LocalMetadata/obj/MediaBrowser.LocalMetadata.csproj.nuget.g.props +++ b/MediaBrowser.LocalMetadata/obj/MediaBrowser.LocalMetadata.csproj.nuget.g.props @@ -15,5 +15,13 @@ + + + C:\Users\wjones\.nuget\packages\stylecop.analyzers.unstable\1.2.0.556 + C:\Users\wjones\.nuget\packages\smartanalyzers.multithreadinganalyzer\1.1.31 + C:\Users\wjones\.nuget\packages\seriloganalyzer\0.15.0 + C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.bannedapianalyzers\4.14.0 + C:\Users\wjones\.nuget\packages\idisposableanalyzers\4.0.8 + \ No newline at end of file diff --git a/MediaBrowser.LocalMetadata/obj/MediaBrowser.LocalMetadata.csproj.nuget.g.targets b/MediaBrowser.LocalMetadata/obj/MediaBrowser.LocalMetadata.csproj.nuget.g.targets index 693275db..fee5dc52 100644 --- a/MediaBrowser.LocalMetadata/obj/MediaBrowser.LocalMetadata.csproj.nuget.g.targets +++ b/MediaBrowser.LocalMetadata/obj/MediaBrowser.LocalMetadata.csproj.nuget.g.targets @@ -4,5 +4,6 @@ + \ No newline at end of file diff --git a/MediaBrowser.LocalMetadata/obj/project.assets.json b/MediaBrowser.LocalMetadata/obj/project.assets.json index c820a211..9cc69b11 100644 --- a/MediaBrowser.LocalMetadata/obj/project.assets.json +++ b/MediaBrowser.LocalMetadata/obj/project.assets.json @@ -61,6 +61,9 @@ } } }, + "IDisposableAnalyzers/4.0.8": { + "type": "package" + }, "J2N/2.0.0": { "type": "package", "compile": { @@ -95,6 +98,13 @@ } } }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": { + "type": "package", + "build": { + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props": {}, + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets": {} + } + }, "Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": { "type": "package", "dependencies": { @@ -502,6 +512,12 @@ } } }, + "SerilogAnalyzer/0.15.0": { + "type": "package" + }, + "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": { + "type": "package" + }, "Std.UriTemplate/2.0.5": { "type": "package", "compile": { @@ -511,6 +527,15 @@ "lib/net5.0/Std.UriTemplate.dll": {} } }, + "StyleCop.Analyzers/1.2.0-beta.556": { + "type": "package", + "dependencies": { + "StyleCop.Analyzers.Unstable": "1.2.0.556" + } + }, + "StyleCop.Analyzers.Unstable/1.2.0.556": { + "type": "package" + }, "Jellyfin.CodeAnalysis/1.0.0": { "type": "project", "framework": ".NETStandard,Version=v2.0", @@ -528,7 +553,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { - "Jellyfin.Model": "10.12.0" + "Jellyfin.CodeAnalysis": "1.0.0", + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Common.dll": {} @@ -545,6 +572,7 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "BitFaster.Caching": "2.5.4", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.MediaEncoding.Keyframes": "10.11.0", "Jellyfin.Model": "10.12.0", @@ -563,7 +591,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Database.Implementations": "10.11.0", + "Jellyfin.Sdk": "2025.10.21", "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118" }, "compile": { @@ -577,6 +607,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", "Polly": "8.6.5" }, @@ -593,6 +624,7 @@ "dependencies": { "Diacritics": "4.1.4", "ICU4N.Transliterator": "60.1.0-alpha.356", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Sdk": "2025.10.21" }, "compile": { @@ -621,6 +653,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Data": "10.12.0", "Jellyfin.Extensions": "10.12.0", "Jellyfin.Sdk": "2025.10.21" @@ -639,8 +672,10 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", - "Jellyfin.Model": "10.12.0" + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Naming.dll": {} @@ -737,6 +772,21 @@ "unicode-icon-128x128.jpg" ] }, + "IDisposableAnalyzers/4.0.8": { + "sha512": "vNi4NMG0CcJyjXxiNDcQ21FwV/whM9o9OEZKD+oP7tuxAqFEzX/x5OhC3OZJqW/w+8GOtCmJPBquYgMWgz0rfQ==", + "type": "package", + "path": "idisposableanalyzers/4.0.8", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/IDisposableAnalyzers.dll", + "idisposableanalyzers.4.0.8.nupkg.sha512", + "idisposableanalyzers.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "J2N/2.0.0": { "sha512": "M5bwDajAARZiyqupU+rHQJnsVLxNBOHJ8vKYHd8LcLIb1FgLfzzcJvc31Qo5Xz/GEHFjDF9ScjKL/ks/zRTXuA==", "type": "package", @@ -784,6 +834,74 @@ "lib/netstandard2.1/Jellyfin.Sdk.xml" ] }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": { + "sha512": "gSWJlDWwmDhtbrEJGiHqvEjz9KthIiFD0qYB8zZ6a7z+xpMSPEtM9yTYELSa58iFWYlzSRqP9FXO6KoT3+ZMtg==", + "type": "package", + "path": "microsoft.codeanalysis.bannedapianalyzers/4.14.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "ThirdPartyNotices.txt", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.BannedApiAnalyzers.dll", + "analyzers/dotnet/cs/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.BannedApiAnalyzers.dll", + "analyzers/dotnet/vb/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props", + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets", + "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.md", + "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.sarif", + "editorconfig/AllRulesDefault/.editorconfig", + "editorconfig/AllRulesDisabled/.editorconfig", + "editorconfig/AllRulesEnabled/.editorconfig", + "editorconfig/ApiDesignRulesDefault/.editorconfig", + "editorconfig/ApiDesignRulesEnabled/.editorconfig", + "editorconfig/DataflowRulesDefault/.editorconfig", + "editorconfig/DataflowRulesEnabled/.editorconfig", + "editorconfig/PortedFromFxCopRulesDefault/.editorconfig", + "editorconfig/PortedFromFxCopRulesEnabled/.editorconfig", + "microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512", + "microsoft.codeanalysis.bannedapianalyzers.nuspec", + "rulesets/AllRulesDefault.ruleset", + "rulesets/AllRulesDisabled.ruleset", + "rulesets/AllRulesEnabled.ruleset", + "rulesets/ApiDesignRulesDefault.ruleset", + "rulesets/ApiDesignRulesEnabled.ruleset", + "rulesets/DataflowRulesDefault.ruleset", + "rulesets/DataflowRulesEnabled.ruleset", + "rulesets/PortedFromFxCopRulesDefault.ruleset", + "rulesets/PortedFromFxCopRulesEnabled.ruleset", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": { "sha512": "Nox5NDdfvErlYUc9dyMlI7OzyrVQPKBzaq9P+SqMbAOm+gdG5KjtxpIkk7I/6NhcQ85HYaug/tEEnb7RvYdEYA==", "type": "package", @@ -1425,6 +1543,36 @@ "polly.core.nuspec" ] }, + "SerilogAnalyzer/0.15.0": { + "sha512": "sVpwfls4MfNnwIXLSGCgaUnV+c9kgJ8ia6GsyRcpd4Vs3gLogSDtSYBYrre2K2u/PNMo8GgG09RehwVnze70Tw==", + "type": "package", + "path": "seriloganalyzer/0.15.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/SerilogAnalyzer.dll", + "seriloganalyzer.0.15.0.nupkg.sha512", + "seriloganalyzer.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, + "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": { + "sha512": "2f2k7bbhDd132ArglCKpzKoWBcp3uzbIFcb4aosnlqIKlfYKDE2HevBVRNVa+LkWFnjXFFWs47Bo96fu8iS//Q==", + "type": "package", + "path": "smartanalyzers.multithreadinganalyzer/1.1.31", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/SmartAnalyzers.MultithreadingAnalyzer.dll", + "smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512", + "smartanalyzers.multithreadinganalyzer.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Std.UriTemplate/2.0.5": { "sha512": "PtqPdWNBObRcDHjyjbgOz2XoCJQaiA+HNDPQve/O7yGCkospfHDCuH9ULVx1msImwHHG+uhpDjiZX7bpLN/cnw==", "type": "package", @@ -1439,6 +1587,45 @@ "std.uritemplate.nuspec" ] }, + "StyleCop.Analyzers/1.2.0-beta.556": { + "sha512": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==", + "type": "package", + "path": "stylecop.analyzers/1.2.0-beta.556", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "THIRD-PARTY-NOTICES.txt", + "stylecop.analyzers.1.2.0-beta.556.nupkg.sha512", + "stylecop.analyzers.nuspec" + ] + }, + "StyleCop.Analyzers.Unstable/1.2.0.556": { + "sha512": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==", + "type": "package", + "path": "stylecop.analyzers.unstable/1.2.0.556", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "THIRD-PARTY-NOTICES.txt", + "analyzers/dotnet/cs/StyleCop.Analyzers.CodeFixes.dll", + "analyzers/dotnet/cs/StyleCop.Analyzers.dll", + "analyzers/dotnet/cs/de-DE/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/en-GB/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/es-MX/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/fr-FR/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/pl-PL/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/pt-BR/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/ru-RU/StyleCop.Analyzers.resources.dll", + "rulesets/StyleCopAnalyzersDefault.ruleset", + "stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512", + "stylecop.analyzers.unstable.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Jellyfin.CodeAnalysis/1.0.0": { "type": "project", "path": "../src/Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj", @@ -1487,8 +1674,15 @@ }, "projectFileDependencyGroups": { "net11.0": [ + "IDisposableAnalyzers >= 4.0.8", + "Jellyfin.CodeAnalysis >= 1.0.0", "Jellyfin.Controller >= 10.12.0", - "Jellyfin.Model >= 10.12.0" + "Jellyfin.Model >= 10.12.0", + "Jellyfin.Sdk >= 2025.10.21", + "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0", + "SerilogAnalyzer >= 0.15.0", + "SmartAnalyzers.MultithreadingAnalyzer >= 1.1.31", + "StyleCop.Analyzers >= 1.2.0-beta.556" ] }, "packageFolders": { @@ -1530,6 +1724,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -1554,6 +1751,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", diff --git a/MediaBrowser.LocalMetadata/obj/project.nuget.cache b/MediaBrowser.LocalMetadata/obj/project.nuget.cache index 9fe339fa..090e8528 100644 --- a/MediaBrowser.LocalMetadata/obj/project.nuget.cache +++ b/MediaBrowser.LocalMetadata/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "4gGyFOFT00w=", + "dgSpecHash": "MUG8U7vEPzE=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.LocalMetadata\\MediaBrowser.LocalMetadata.csproj", "expectedPackageFiles": [ @@ -8,8 +8,10 @@ "C:\\Users\\wjones\\.nuget\\packages\\diacritics\\4.1.4\\diacritics.4.1.4.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\icu4n\\60.1.0-alpha.356\\icu4n.60.1.0-alpha.356.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\icu4n.transliterator\\60.1.0-alpha.356\\icu4n.transliterator.60.1.0-alpha.356.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\idisposableanalyzers\\4.0.8\\idisposableanalyzers.4.0.8.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\j2n\\2.0.0\\j2n.2.0.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\jellyfin.sdk\\2025.10.21\\jellyfin.sdk.2025.10.21.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.bannedapianalyzers\\4.14.0\\microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.11.0.0-preview.1.26104.118.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.abstractions.11.0.0-preview.1.26104.118.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.analyzers.11.0.0-preview.1.26104.118.nupkg.sha512", @@ -34,7 +36,11 @@ "C:\\Users\\wjones\\.nuget\\packages\\nebml\\1.1.0.5\\nebml.1.1.0.5.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\polly\\8.6.5\\polly.8.6.5.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\polly.core\\8.6.5\\polly.core.8.6.5.nupkg.sha512", - "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512" + "C:\\Users\\wjones\\.nuget\\packages\\seriloganalyzer\\0.15.0\\seriloganalyzer.0.15.0.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\smartanalyzers.multithreadinganalyzer\\1.1.31\\smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers\\1.2.0-beta.556\\stylecop.analyzers.1.2.0-beta.556.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers.unstable\\1.2.0.556\\stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512" ], "logs": [] } \ No newline at end of file diff --git a/MediaBrowser.MediaEncoding/obj/MediaBrowser.MediaEncoding.csproj.nuget.dgspec.json b/MediaBrowser.MediaEncoding/obj/MediaBrowser.MediaEncoding.csproj.nuget.dgspec.json index fe6aa04a..72a4b5bb 100644 --- a/MediaBrowser.MediaEncoding/obj/MediaBrowser.MediaEncoding.csproj.nuget.dgspec.json +++ b/MediaBrowser.MediaEncoding/obj/MediaBrowser.MediaEncoding.csproj.nuget.dgspec.json @@ -39,20 +39,13 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } }, - "warningProperties": { - "allWarningsAsErrors": true, - "warnAsError": [ - "NU1605" - ], - "warnNotAsError": [ - "NU1902", - "NU1903" - ] - }, "restoreAuditProperties": { "enableAudit": "true", "auditLevel": "low", @@ -63,6 +56,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -473,6 +505,9 @@ "net11.0": { "targetAlias": "net11.0", "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -500,10 +535,47 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Logging": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -918,6 +990,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -942,6 +1017,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -1505,6 +1619,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj" } @@ -1537,15 +1654,47 @@ "version": "[2.5.4, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Configuration.Binder": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -1966,6 +2115,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -2001,16 +2153,48 @@ "version": "[0.8.0, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Http": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "UTF.Unknown": { "target": "Package", "version": "[2.6.0, )", @@ -2435,6 +2619,9 @@ "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj" } @@ -2462,17 +2649,49 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "MimeTypes": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", "target": "Package", "version": "[2.5.2, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -3052,6 +3271,13 @@ "netstandard2.0": { "targetAlias": "netstandard2.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -3063,6 +3289,13 @@ "version": "[3.11.0, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.CodeAnalysis.CSharp": { "suppressParent": "All", "target": "Package", @@ -3074,6 +3307,24 @@ "target": "Package", "version": "[2.0.3, )", "autoReferenced": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -3206,7 +3457,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -3230,6 +3485,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -3253,6 +3522,24 @@ "target": "Package", "version": "[8.6.5, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -3664,7 +3951,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -3701,10 +3992,42 @@ "version": "[60.1.0-alpha.356, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { diff --git a/MediaBrowser.MediaEncoding/obj/MediaBrowser.MediaEncoding.csproj.nuget.g.props b/MediaBrowser.MediaEncoding/obj/MediaBrowser.MediaEncoding.csproj.nuget.g.props index 6a808036..e4b0e878 100644 --- a/MediaBrowser.MediaEncoding/obj/MediaBrowser.MediaEncoding.csproj.nuget.g.props +++ b/MediaBrowser.MediaEncoding/obj/MediaBrowser.MediaEncoding.csproj.nuget.g.props @@ -25,5 +25,13 @@ + + + C:\Users\wjones\.nuget\packages\stylecop.analyzers.unstable\1.2.0.556 + C:\Users\wjones\.nuget\packages\smartanalyzers.multithreadinganalyzer\1.1.31 + C:\Users\wjones\.nuget\packages\seriloganalyzer\0.15.0 + C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.bannedapianalyzers\4.14.0 + C:\Users\wjones\.nuget\packages\idisposableanalyzers\4.0.8 + \ No newline at end of file diff --git a/MediaBrowser.MediaEncoding/obj/MediaBrowser.MediaEncoding.csproj.nuget.g.targets b/MediaBrowser.MediaEncoding/obj/MediaBrowser.MediaEncoding.csproj.nuget.g.targets index b54b8aa0..81dfa627 100644 --- a/MediaBrowser.MediaEncoding/obj/MediaBrowser.MediaEncoding.csproj.nuget.g.targets +++ b/MediaBrowser.MediaEncoding/obj/MediaBrowser.MediaEncoding.csproj.nuget.g.targets @@ -4,5 +4,6 @@ + \ No newline at end of file diff --git a/MediaBrowser.MediaEncoding/obj/project.assets.json b/MediaBrowser.MediaEncoding/obj/project.assets.json index aee9c1a5..e5df65e9 100644 --- a/MediaBrowser.MediaEncoding/obj/project.assets.json +++ b/MediaBrowser.MediaEncoding/obj/project.assets.json @@ -83,6 +83,9 @@ } } }, + "IDisposableAnalyzers/4.0.8": { + "type": "package" + }, "J2N/2.0.0": { "type": "package", "compile": { @@ -138,6 +141,13 @@ } } }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": { + "type": "package", + "build": { + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props": {}, + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets": {} + } + }, "Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": { "type": "package", "dependencies": { @@ -655,6 +665,12 @@ } } }, + "SerilogAnalyzer/0.15.0": { + "type": "package" + }, + "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": { + "type": "package" + }, "Std.UriTemplate/2.0.5": { "type": "package", "compile": { @@ -664,6 +680,15 @@ "lib/net5.0/Std.UriTemplate.dll": {} } }, + "StyleCop.Analyzers/1.2.0-beta.556": { + "type": "package", + "dependencies": { + "StyleCop.Analyzers.Unstable": "1.2.0.556" + } + }, + "StyleCop.Analyzers.Unstable/1.2.0.556": { + "type": "package" + }, "System.Drawing.Common/9.0.2": { "type": "package", "dependencies": { @@ -728,7 +753,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { - "Jellyfin.Model": "10.12.0" + "Jellyfin.CodeAnalysis": "1.0.0", + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Common.dll": {} @@ -745,6 +772,7 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "BitFaster.Caching": "2.5.4", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.MediaEncoding.Keyframes": "10.11.0", "Jellyfin.Model": "10.12.0", @@ -763,7 +791,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Database.Implementations": "10.11.0", + "Jellyfin.Sdk": "2025.10.21", "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118" }, "compile": { @@ -777,6 +807,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", "Polly": "8.6.5" }, @@ -793,6 +824,7 @@ "dependencies": { "Diacritics": "4.1.4", "ICU4N.Transliterator": "60.1.0-alpha.356", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Sdk": "2025.10.21" }, "compile": { @@ -821,6 +853,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Data": "10.12.0", "Jellyfin.Extensions": "10.12.0", "Jellyfin.Sdk": "2025.10.21" @@ -839,8 +872,10 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", - "Jellyfin.Model": "10.12.0" + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Naming.dll": {} @@ -977,6 +1012,21 @@ "unicode-icon-128x128.jpg" ] }, + "IDisposableAnalyzers/4.0.8": { + "sha512": "vNi4NMG0CcJyjXxiNDcQ21FwV/whM9o9OEZKD+oP7tuxAqFEzX/x5OhC3OZJqW/w+8GOtCmJPBquYgMWgz0rfQ==", + "type": "package", + "path": "idisposableanalyzers/4.0.8", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/IDisposableAnalyzers.dll", + "idisposableanalyzers.4.0.8.nupkg.sha512", + "idisposableanalyzers.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "J2N/2.0.0": { "sha512": "M5bwDajAARZiyqupU+rHQJnsVLxNBOHJ8vKYHd8LcLIb1FgLfzzcJvc31Qo5Xz/GEHFjDF9ScjKL/ks/zRTXuA==", "type": "package", @@ -1043,6 +1093,74 @@ "libse.nuspec" ] }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": { + "sha512": "gSWJlDWwmDhtbrEJGiHqvEjz9KthIiFD0qYB8zZ6a7z+xpMSPEtM9yTYELSa58iFWYlzSRqP9FXO6KoT3+ZMtg==", + "type": "package", + "path": "microsoft.codeanalysis.bannedapianalyzers/4.14.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "ThirdPartyNotices.txt", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.BannedApiAnalyzers.dll", + "analyzers/dotnet/cs/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.BannedApiAnalyzers.dll", + "analyzers/dotnet/vb/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props", + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets", + "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.md", + "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.sarif", + "editorconfig/AllRulesDefault/.editorconfig", + "editorconfig/AllRulesDisabled/.editorconfig", + "editorconfig/AllRulesEnabled/.editorconfig", + "editorconfig/ApiDesignRulesDefault/.editorconfig", + "editorconfig/ApiDesignRulesEnabled/.editorconfig", + "editorconfig/DataflowRulesDefault/.editorconfig", + "editorconfig/DataflowRulesEnabled/.editorconfig", + "editorconfig/PortedFromFxCopRulesDefault/.editorconfig", + "editorconfig/PortedFromFxCopRulesEnabled/.editorconfig", + "microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512", + "microsoft.codeanalysis.bannedapianalyzers.nuspec", + "rulesets/AllRulesDefault.ruleset", + "rulesets/AllRulesDisabled.ruleset", + "rulesets/AllRulesEnabled.ruleset", + "rulesets/ApiDesignRulesDefault.ruleset", + "rulesets/ApiDesignRulesEnabled.ruleset", + "rulesets/DataflowRulesDefault.ruleset", + "rulesets/DataflowRulesEnabled.ruleset", + "rulesets/PortedFromFxCopRulesDefault.ruleset", + "rulesets/PortedFromFxCopRulesEnabled.ruleset", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": { "sha512": "Nox5NDdfvErlYUc9dyMlI7OzyrVQPKBzaq9P+SqMbAOm+gdG5KjtxpIkk7I/6NhcQ85HYaug/tEEnb7RvYdEYA==", "type": "package", @@ -1822,6 +1940,36 @@ "polly.core.nuspec" ] }, + "SerilogAnalyzer/0.15.0": { + "sha512": "sVpwfls4MfNnwIXLSGCgaUnV+c9kgJ8ia6GsyRcpd4Vs3gLogSDtSYBYrre2K2u/PNMo8GgG09RehwVnze70Tw==", + "type": "package", + "path": "seriloganalyzer/0.15.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/SerilogAnalyzer.dll", + "seriloganalyzer.0.15.0.nupkg.sha512", + "seriloganalyzer.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, + "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": { + "sha512": "2f2k7bbhDd132ArglCKpzKoWBcp3uzbIFcb4aosnlqIKlfYKDE2HevBVRNVa+LkWFnjXFFWs47Bo96fu8iS//Q==", + "type": "package", + "path": "smartanalyzers.multithreadinganalyzer/1.1.31", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/SmartAnalyzers.MultithreadingAnalyzer.dll", + "smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512", + "smartanalyzers.multithreadinganalyzer.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Std.UriTemplate/2.0.5": { "sha512": "PtqPdWNBObRcDHjyjbgOz2XoCJQaiA+HNDPQve/O7yGCkospfHDCuH9ULVx1msImwHHG+uhpDjiZX7bpLN/cnw==", "type": "package", @@ -1836,6 +1984,45 @@ "std.uritemplate.nuspec" ] }, + "StyleCop.Analyzers/1.2.0-beta.556": { + "sha512": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==", + "type": "package", + "path": "stylecop.analyzers/1.2.0-beta.556", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "THIRD-PARTY-NOTICES.txt", + "stylecop.analyzers.1.2.0-beta.556.nupkg.sha512", + "stylecop.analyzers.nuspec" + ] + }, + "StyleCop.Analyzers.Unstable/1.2.0.556": { + "sha512": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==", + "type": "package", + "path": "stylecop.analyzers.unstable/1.2.0.556", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "THIRD-PARTY-NOTICES.txt", + "analyzers/dotnet/cs/StyleCop.Analyzers.CodeFixes.dll", + "analyzers/dotnet/cs/StyleCop.Analyzers.dll", + "analyzers/dotnet/cs/de-DE/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/en-GB/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/es-MX/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/fr-FR/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/pl-PL/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/pt-BR/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/ru-RU/StyleCop.Analyzers.resources.dll", + "rulesets/StyleCopAnalyzersDefault.ruleset", + "stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512", + "stylecop.analyzers.unstable.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "System.Drawing.Common/9.0.2": { "sha512": "JU947wzf8JbBS16Y5EIZzAlyQU+k68D7LRx6y03s2wlhlvLqkt/8uPBrjv2hJnnaJKbdb0GhQ3JZsfYXhrRjyg==", "type": "package", @@ -1960,11 +2147,17 @@ "net11.0": [ "AsyncKeyedLock >= 8.0.2", "BDInfo >= 0.8.0", + "IDisposableAnalyzers >= 4.0.8", + "Jellyfin.CodeAnalysis >= 1.0.0", "Jellyfin.Common >= 10.12.0", "Jellyfin.Controller >= 10.12.0", "Jellyfin.Model >= 10.12.0", "Jellyfin.Sdk >= 2025.10.21", + "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0", "Microsoft.Extensions.Http >= 11.0.0-preview.1.26104.118", + "SerilogAnalyzer >= 0.15.0", + "SmartAnalyzers.MultithreadingAnalyzer >= 1.1.31", + "StyleCop.Analyzers >= 1.2.0-beta.556", "UTF.Unknown >= 2.6.0", "libse >= 4.0.12" ] @@ -2011,6 +2204,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -2046,16 +2242,48 @@ "version": "[0.8.0, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Http": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "UTF.Unknown": { "target": "Package", "version": "[2.6.0, )", diff --git a/MediaBrowser.MediaEncoding/obj/project.nuget.cache b/MediaBrowser.MediaEncoding/obj/project.nuget.cache index f4df07d3..7d158cd5 100644 --- a/MediaBrowser.MediaEncoding/obj/project.nuget.cache +++ b/MediaBrowser.MediaEncoding/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "C5WK5fbzlhs=", + "dgSpecHash": "GTQOs1iNxFU=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.MediaEncoding\\MediaBrowser.MediaEncoding.csproj", "expectedPackageFiles": [ @@ -10,9 +10,11 @@ "C:\\Users\\wjones\\.nuget\\packages\\diacritics\\4.1.4\\diacritics.4.1.4.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\icu4n\\60.1.0-alpha.356\\icu4n.60.1.0-alpha.356.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\icu4n.transliterator\\60.1.0-alpha.356\\icu4n.transliterator.60.1.0-alpha.356.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\idisposableanalyzers\\4.0.8\\idisposableanalyzers.4.0.8.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\j2n\\2.0.0\\j2n.2.0.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\jellyfin.sdk\\2025.10.21\\jellyfin.sdk.2025.10.21.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\libse\\4.0.12\\libse.4.0.12.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.bannedapianalyzers\\4.14.0\\microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.11.0.0-preview.1.26104.118.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.abstractions.11.0.0-preview.1.26104.118.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.analyzers.11.0.0-preview.1.26104.118.nupkg.sha512", @@ -42,7 +44,11 @@ "C:\\Users\\wjones\\.nuget\\packages\\nebml\\1.1.0.5\\nebml.1.1.0.5.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\polly\\8.6.5\\polly.8.6.5.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\polly.core\\8.6.5\\polly.core.8.6.5.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\seriloganalyzer\\0.15.0\\seriloganalyzer.0.15.0.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\smartanalyzers.multithreadinganalyzer\\1.1.31\\smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers\\1.2.0-beta.556\\stylecop.analyzers.1.2.0-beta.556.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers.unstable\\1.2.0.556\\stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\system.drawing.common\\9.0.2\\system.drawing.common.9.0.2.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\utf.unknown\\2.6.0\\utf.unknown.2.6.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\zlib.net-mutliplatform\\1.0.8\\zlib.net-mutliplatform.1.0.8.nupkg.sha512" diff --git a/MediaBrowser.Model/obj/MediaBrowser.Model.csproj.nuget.dgspec.json b/MediaBrowser.Model/obj/MediaBrowser.Model.csproj.nuget.dgspec.json index 79ea4993..9a5e1b61 100644 --- a/MediaBrowser.Model/obj/MediaBrowser.Model.csproj.nuget.dgspec.json +++ b/MediaBrowser.Model/obj/MediaBrowser.Model.csproj.nuget.dgspec.json @@ -34,6 +34,9 @@ "net11.0": { "targetAlias": "net11.0", "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -61,10 +64,47 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Logging": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -480,6 +520,9 @@ "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj" } @@ -507,17 +550,49 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "MimeTypes": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", "target": "Package", "version": "[2.5.2, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -1044,6 +1119,216 @@ } } }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj", + "projectName": "Jellyfin.CodeAnalysis", + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj", + "packagesPath": "C:\\Users\\wjones\\.nuget\\packages\\", + "outputPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\obj\\", + "projectStyle": "PackageReference", + "centralPackageVersionsManagementEnabled": true, + "fallbackFolders": [ + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" + ], + "configFilePaths": [ + "E:\\Projects\\pgsql-jellyfin\\NuGet.Config", + "C:\\Users\\wjones\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + ], + "originalTargetFrameworks": [ + "netstandard2.0" + ], + "sources": { + "C:\\Program Files\\dotnet\\library-packs": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "netstandard2.0": { + "targetAlias": "netstandard2.0", + "projectReferences": {} + } + }, + "warningProperties": { + "allWarningsAsErrors": true, + "warnAsError": [ + "NU1605" + ], + "warnNotAsError": [ + "NU1902", + "NU1903" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + }, + "SdkAnalysisLevel": "11.0.100" + }, + "frameworks": { + "netstandard2.0": { + "targetAlias": "netstandard2.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[3.11.0, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.CSharp": { + "suppressParent": "All", + "target": "Package", + "version": "[5.0.0, )", + "versionCentrallyManaged": true + }, + "NETStandard.Library": { + "suppressParent": "All", + "target": "Package", + "version": "[2.0.3, )", + "autoReferenced": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, + "centralPackageVersions": { + "AsyncKeyedLock": "8.0.2", + "AutoFixture": "4.18.1", + "AutoFixture.AutoMoq": "4.18.1", + "AutoFixture.Xunit2": "4.18.1", + "BDInfo": "0.8.0", + "BitFaster.Caching": "2.5.4", + "BlurHashSharp": "1.4.0-pre.1", + "BlurHashSharp.SkiaSharp": "1.4.0-pre.1", + "CommandLineParser": "2.9.1", + "coverlet.collector": "8.0.0", + "Diacritics": "4.1.4", + "DiscUtils.Udf": "0.16.13", + "DotNet.Glob": "3.1.3", + "FsCheck.Xunit": "3.3.2", + "HarfBuzzSharp.NativeAssets.Linux": "8.3.1.1", + "ICU4N.Transliterator": "60.1.0-alpha.356", + "IDisposableAnalyzers": "4.0.8", + "Ignore": "0.2.1", + "Jellyfin.Sdk": "2025.10.21", + "Jellyfin.XmlTv": "10.8.0", + "libse": "4.0.12", + "LrcParser": "2025.623.0", + "MetaBrainz.MusicBrainz": "8.0.1", + "Microsoft.AspNetCore.Authorization": "11.0.0-preview.1.26104.118", + "Microsoft.AspNetCore.Mvc.Testing": "11.0.0-preview.1.26104.118", + "Microsoft.CodeAnalysis.Analyzers": "3.11.0", + "Microsoft.CodeAnalysis.BannedApiAnalyzers": "4.14.0", + "Microsoft.CodeAnalysis.Common": "5.0.0", + "Microsoft.CodeAnalysis.CSharp": "5.0.0", + "Microsoft.Data.Sqlite": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore.Design": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore.Sqlite": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore.Tools": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Caching.Abstractions": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Caching.Memory": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Configuration.Abstractions": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Configuration.Binder": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.DependencyInjection": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Hosting.Abstractions": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Http": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Options": "11.0.0-preview.1.26104.118", + "Microsoft.NET.Test.Sdk": "18.0.1", + "MimeTypes": "2.5.2", + "Moq": "4.18.4", + "Morestachio": "5.0.1.631", + "NEbml": "1.1.0.5", + "Newtonsoft.Json": "13.0.4", + "Npgsql.EntityFrameworkCore.PostgreSQL": "11.0.0-preview.1", + "PlaylistsNET": "1.4.1", + "Polly": "8.6.5", + "prometheus-net": "8.2.1", + "prometheus-net.AspNetCore": "8.2.1", + "prometheus-net.DotNetRuntime": "4.4.1", + "Serilog.AspNetCore": "10.0.0", + "Serilog.Enrichers.Thread": "4.0.0", + "Serilog.Expressions": "5.0.0", + "Serilog.Settings.Configuration": "10.0.0", + "Serilog.Sinks.Async": "2.1.0", + "Serilog.Sinks.Console": "6.1.1", + "Serilog.Sinks.File": "7.0.0", + "Serilog.Sinks.Graylog": "3.1.1", + "SerilogAnalyzer": "0.15.0", + "SharpFuzz": "2.2.0", + "SkiaSharp": "[3.116.1]", + "SkiaSharp.HarfBuzz": "[3.116.1]", + "SkiaSharp.NativeAssets.Linux": "[3.116.1]", + "SmartAnalyzers.MultithreadingAnalyzer": "1.1.31", + "StyleCop.Analyzers": "1.2.0-beta.556", + "Svg.Skia": "3.4.1", + "Swashbuckle.AspNetCore": "7.3.2", + "Swashbuckle.AspNetCore.ReDoc": "6.9.0", + "System.Text.Json": "11.0.0-preview.1.26104.118", + "TagLibSharp": "2.3.0", + "TMDbLib": "2.3.0", + "UTF.Unknown": "2.6.0", + "xunit": "2.9.3", + "Xunit.Priority": "1.1.6", + "xunit.runner.visualstudio": "2.8.2", + "Xunit.SkippableFact": "1.5.61", + "z440.atl.core": "7.11.0" + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\11.0.100-preview.1.26104.118\\RuntimeIdentifierGraph.json" + } + } + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "version": "10.11.0", "restore": { @@ -1073,7 +1358,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -1097,6 +1386,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -1120,6 +1423,24 @@ "target": "Package", "version": "[8.6.5, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -1531,7 +1852,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -1568,10 +1893,42 @@ "version": "[60.1.0-alpha.356, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { diff --git a/MediaBrowser.Model/obj/MediaBrowser.Model.csproj.nuget.g.props b/MediaBrowser.Model/obj/MediaBrowser.Model.csproj.nuget.g.props index 59d22c92..651d5bb6 100644 --- a/MediaBrowser.Model/obj/MediaBrowser.Model.csproj.nuget.g.props +++ b/MediaBrowser.Model/obj/MediaBrowser.Model.csproj.nuget.g.props @@ -15,5 +15,13 @@ + + + C:\Users\wjones\.nuget\packages\stylecop.analyzers.unstable\1.2.0.556 + C:\Users\wjones\.nuget\packages\smartanalyzers.multithreadinganalyzer\1.1.31 + C:\Users\wjones\.nuget\packages\seriloganalyzer\0.15.0 + C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.bannedapianalyzers\4.14.0 + C:\Users\wjones\.nuget\packages\idisposableanalyzers\4.0.8 + \ No newline at end of file diff --git a/MediaBrowser.Model/obj/MediaBrowser.Model.csproj.nuget.g.targets b/MediaBrowser.Model/obj/MediaBrowser.Model.csproj.nuget.g.targets index 3dc06ef3..d513a57a 100644 --- a/MediaBrowser.Model/obj/MediaBrowser.Model.csproj.nuget.g.targets +++ b/MediaBrowser.Model/obj/MediaBrowser.Model.csproj.nuget.g.targets @@ -1,2 +1,6 @@  - \ No newline at end of file + + + + + \ No newline at end of file diff --git a/MediaBrowser.Model/obj/project.assets.json b/MediaBrowser.Model/obj/project.assets.json index def154ea..621507d4 100644 --- a/MediaBrowser.Model/obj/project.assets.json +++ b/MediaBrowser.Model/obj/project.assets.json @@ -47,6 +47,9 @@ } } }, + "IDisposableAnalyzers/4.0.8": { + "type": "package" + }, "J2N/2.0.0": { "type": "package", "compile": { @@ -81,6 +84,13 @@ } } }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": { + "type": "package", + "build": { + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props": {}, + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets": {} + } + }, "Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": { "type": "package", "dependencies": { @@ -269,6 +279,12 @@ } } }, + "SerilogAnalyzer/0.15.0": { + "type": "package" + }, + "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": { + "type": "package" + }, "Std.UriTemplate/2.0.5": { "type": "package", "compile": { @@ -278,11 +294,35 @@ "lib/net5.0/Std.UriTemplate.dll": {} } }, + "StyleCop.Analyzers/1.2.0-beta.556": { + "type": "package", + "dependencies": { + "StyleCop.Analyzers.Unstable": "1.2.0.556" + } + }, + "StyleCop.Analyzers.Unstable/1.2.0.556": { + "type": "package" + }, + "Jellyfin.CodeAnalysis/1.0.0": { + "type": "project", + "framework": ".NETStandard,Version=v2.0", + "dependencies": { + "Jellyfin.Sdk": "2025.10.21" + }, + "compile": { + "bin/placeholder/Jellyfin.CodeAnalysis.dll": {} + }, + "runtime": { + "bin/placeholder/Jellyfin.CodeAnalysis.dll": {} + } + }, "Jellyfin.Data/10.12.0": { "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { - "Jellyfin.Database.Implementations": "10.11.0" + "Jellyfin.CodeAnalysis": "1.0.0", + "Jellyfin.Database.Implementations": "10.11.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Data.dll": {} @@ -295,6 +335,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", "Polly": "8.6.5" }, @@ -311,6 +352,7 @@ "dependencies": { "Diacritics": "4.1.4", "ICU4N.Transliterator": "60.1.0-alpha.356", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Sdk": "2025.10.21" }, "compile": { @@ -389,6 +431,21 @@ "unicode-icon-128x128.jpg" ] }, + "IDisposableAnalyzers/4.0.8": { + "sha512": "vNi4NMG0CcJyjXxiNDcQ21FwV/whM9o9OEZKD+oP7tuxAqFEzX/x5OhC3OZJqW/w+8GOtCmJPBquYgMWgz0rfQ==", + "type": "package", + "path": "idisposableanalyzers/4.0.8", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/IDisposableAnalyzers.dll", + "idisposableanalyzers.4.0.8.nupkg.sha512", + "idisposableanalyzers.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "J2N/2.0.0": { "sha512": "M5bwDajAARZiyqupU+rHQJnsVLxNBOHJ8vKYHd8LcLIb1FgLfzzcJvc31Qo5Xz/GEHFjDF9ScjKL/ks/zRTXuA==", "type": "package", @@ -436,6 +493,74 @@ "lib/netstandard2.1/Jellyfin.Sdk.xml" ] }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": { + "sha512": "gSWJlDWwmDhtbrEJGiHqvEjz9KthIiFD0qYB8zZ6a7z+xpMSPEtM9yTYELSa58iFWYlzSRqP9FXO6KoT3+ZMtg==", + "type": "package", + "path": "microsoft.codeanalysis.bannedapianalyzers/4.14.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "ThirdPartyNotices.txt", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.BannedApiAnalyzers.dll", + "analyzers/dotnet/cs/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.BannedApiAnalyzers.dll", + "analyzers/dotnet/vb/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props", + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets", + "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.md", + "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.sarif", + "editorconfig/AllRulesDefault/.editorconfig", + "editorconfig/AllRulesDisabled/.editorconfig", + "editorconfig/AllRulesEnabled/.editorconfig", + "editorconfig/ApiDesignRulesDefault/.editorconfig", + "editorconfig/ApiDesignRulesEnabled/.editorconfig", + "editorconfig/DataflowRulesDefault/.editorconfig", + "editorconfig/DataflowRulesEnabled/.editorconfig", + "editorconfig/PortedFromFxCopRulesDefault/.editorconfig", + "editorconfig/PortedFromFxCopRulesEnabled/.editorconfig", + "microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512", + "microsoft.codeanalysis.bannedapianalyzers.nuspec", + "rulesets/AllRulesDefault.ruleset", + "rulesets/AllRulesDisabled.ruleset", + "rulesets/AllRulesEnabled.ruleset", + "rulesets/ApiDesignRulesDefault.ruleset", + "rulesets/ApiDesignRulesEnabled.ruleset", + "rulesets/DataflowRulesDefault.ruleset", + "rulesets/DataflowRulesEnabled.ruleset", + "rulesets/PortedFromFxCopRulesDefault.ruleset", + "rulesets/PortedFromFxCopRulesEnabled.ruleset", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": { "sha512": "Nox5NDdfvErlYUc9dyMlI7OzyrVQPKBzaq9P+SqMbAOm+gdG5KjtxpIkk7I/6NhcQ85HYaug/tEEnb7RvYdEYA==", "type": "package", @@ -705,6 +830,36 @@ "polly.core.nuspec" ] }, + "SerilogAnalyzer/0.15.0": { + "sha512": "sVpwfls4MfNnwIXLSGCgaUnV+c9kgJ8ia6GsyRcpd4Vs3gLogSDtSYBYrre2K2u/PNMo8GgG09RehwVnze70Tw==", + "type": "package", + "path": "seriloganalyzer/0.15.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/SerilogAnalyzer.dll", + "seriloganalyzer.0.15.0.nupkg.sha512", + "seriloganalyzer.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, + "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": { + "sha512": "2f2k7bbhDd132ArglCKpzKoWBcp3uzbIFcb4aosnlqIKlfYKDE2HevBVRNVa+LkWFnjXFFWs47Bo96fu8iS//Q==", + "type": "package", + "path": "smartanalyzers.multithreadinganalyzer/1.1.31", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/SmartAnalyzers.MultithreadingAnalyzer.dll", + "smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512", + "smartanalyzers.multithreadinganalyzer.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Std.UriTemplate/2.0.5": { "sha512": "PtqPdWNBObRcDHjyjbgOz2XoCJQaiA+HNDPQve/O7yGCkospfHDCuH9ULVx1msImwHHG+uhpDjiZX7bpLN/cnw==", "type": "package", @@ -719,6 +874,50 @@ "std.uritemplate.nuspec" ] }, + "StyleCop.Analyzers/1.2.0-beta.556": { + "sha512": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==", + "type": "package", + "path": "stylecop.analyzers/1.2.0-beta.556", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "THIRD-PARTY-NOTICES.txt", + "stylecop.analyzers.1.2.0-beta.556.nupkg.sha512", + "stylecop.analyzers.nuspec" + ] + }, + "StyleCop.Analyzers.Unstable/1.2.0.556": { + "sha512": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==", + "type": "package", + "path": "stylecop.analyzers.unstable/1.2.0.556", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "THIRD-PARTY-NOTICES.txt", + "analyzers/dotnet/cs/StyleCop.Analyzers.CodeFixes.dll", + "analyzers/dotnet/cs/StyleCop.Analyzers.dll", + "analyzers/dotnet/cs/de-DE/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/en-GB/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/es-MX/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/fr-FR/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/pl-PL/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/pt-BR/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/ru-RU/StyleCop.Analyzers.resources.dll", + "rulesets/StyleCopAnalyzersDefault.ruleset", + "stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512", + "stylecop.analyzers.unstable.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, + "Jellyfin.CodeAnalysis/1.0.0": { + "type": "project", + "path": "../src/Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj", + "msbuildProject": "../src/Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj" + }, "Jellyfin.Data/10.12.0": { "type": "project", "path": "../Jellyfin.Data/Jellyfin.Data.csproj", @@ -737,10 +936,16 @@ }, "projectFileDependencyGroups": { "net11.0": [ + "IDisposableAnalyzers >= 4.0.8", + "Jellyfin.CodeAnalysis >= 1.0.0", "Jellyfin.Data >= 10.12.0", "Jellyfin.Extensions >= 10.12.0", "Jellyfin.Sdk >= 2025.10.21", - "MimeTypes >= 2.5.2" + "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0", + "MimeTypes >= 2.5.2", + "SerilogAnalyzer >= 0.15.0", + "SmartAnalyzers.MultithreadingAnalyzer >= 1.1.31", + "StyleCop.Analyzers >= 1.2.0-beta.556" ] }, "packageFolders": { @@ -780,6 +985,9 @@ "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj" } @@ -807,17 +1015,49 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "MimeTypes": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", "target": "Package", "version": "[2.5.2, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { diff --git a/MediaBrowser.Model/obj/project.nuget.cache b/MediaBrowser.Model/obj/project.nuget.cache index 0669a67f..1ad0211a 100644 --- a/MediaBrowser.Model/obj/project.nuget.cache +++ b/MediaBrowser.Model/obj/project.nuget.cache @@ -1,14 +1,16 @@ { "version": 2, - "dgSpecHash": "hr9ep8Sm1B8=", + "dgSpecHash": "xzRZKMjouOE=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj", "expectedPackageFiles": [ "C:\\Users\\wjones\\.nuget\\packages\\diacritics\\4.1.4\\diacritics.4.1.4.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\icu4n\\60.1.0-alpha.356\\icu4n.60.1.0-alpha.356.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\icu4n.transliterator\\60.1.0-alpha.356\\icu4n.transliterator.60.1.0-alpha.356.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\idisposableanalyzers\\4.0.8\\idisposableanalyzers.4.0.8.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\j2n\\2.0.0\\j2n.2.0.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\jellyfin.sdk\\2025.10.21\\jellyfin.sdk.2025.10.21.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.bannedapianalyzers\\4.14.0\\microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.11.0.0-preview.1.26104.118.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.abstractions.11.0.0-preview.1.26104.118.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.analyzers.11.0.0-preview.1.26104.118.nupkg.sha512", @@ -22,7 +24,11 @@ "C:\\Users\\wjones\\.nuget\\packages\\mimetypes\\2.5.2\\mimetypes.2.5.2.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\polly\\8.6.5\\polly.8.6.5.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\polly.core\\8.6.5\\polly.core.8.6.5.nupkg.sha512", - "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512" + "C:\\Users\\wjones\\.nuget\\packages\\seriloganalyzer\\0.15.0\\seriloganalyzer.0.15.0.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\smartanalyzers.multithreadinganalyzer\\1.1.31\\smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers\\1.2.0-beta.556\\stylecop.analyzers.1.2.0-beta.556.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers.unstable\\1.2.0.556\\stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512" ], "logs": [] } \ No newline at end of file diff --git a/MediaBrowser.Providers/obj/MediaBrowser.Providers.csproj.nuget.dgspec.json b/MediaBrowser.Providers/obj/MediaBrowser.Providers.csproj.nuget.dgspec.json index 9ad2c7df..98cec57d 100644 --- a/MediaBrowser.Providers/obj/MediaBrowser.Providers.csproj.nuget.dgspec.json +++ b/MediaBrowser.Providers/obj/MediaBrowser.Providers.csproj.nuget.dgspec.json @@ -39,20 +39,13 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } }, - "warningProperties": { - "allWarningsAsErrors": true, - "warnAsError": [ - "NU1605" - ], - "warnNotAsError": [ - "NU1902", - "NU1903" - ] - }, "restoreAuditProperties": { "enableAudit": "true", "auditLevel": "low", @@ -63,6 +56,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -473,6 +505,9 @@ "net11.0": { "targetAlias": "net11.0", "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -500,10 +535,47 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Logging": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -918,6 +990,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -942,6 +1017,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -1505,6 +1619,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj" } @@ -1537,15 +1654,47 @@ "version": "[2.5.4, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Configuration.Binder": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -1961,6 +2110,9 @@ "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj" } @@ -1988,17 +2140,49 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "MimeTypes": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", "target": "Package", "version": "[2.5.2, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -2560,6 +2744,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -2590,6 +2777,13 @@ "version": "[8.0.2, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -2605,6 +2799,13 @@ "version": "[8.0.1, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Caching.Abstractions": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", @@ -2625,6 +2826,24 @@ "version": "[1.4.1, )", "versionCentrallyManaged": true }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "TMDbLib": { "target": "Package", "version": "[2.3.0, )", @@ -3069,6 +3288,13 @@ "netstandard2.0": { "targetAlias": "netstandard2.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -3080,6 +3306,13 @@ "version": "[3.11.0, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.CodeAnalysis.CSharp": { "suppressParent": "All", "target": "Package", @@ -3091,6 +3324,24 @@ "target": "Package", "version": "[2.0.3, )", "autoReferenced": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -3223,7 +3474,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -3247,6 +3502,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -3270,6 +3539,24 @@ "target": "Package", "version": "[8.6.5, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -3681,7 +3968,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -3718,10 +4009,42 @@ "version": "[60.1.0-alpha.356, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { diff --git a/MediaBrowser.Providers/obj/MediaBrowser.Providers.csproj.nuget.g.props b/MediaBrowser.Providers/obj/MediaBrowser.Providers.csproj.nuget.g.props index 59d22c92..651d5bb6 100644 --- a/MediaBrowser.Providers/obj/MediaBrowser.Providers.csproj.nuget.g.props +++ b/MediaBrowser.Providers/obj/MediaBrowser.Providers.csproj.nuget.g.props @@ -15,5 +15,13 @@ + + + C:\Users\wjones\.nuget\packages\stylecop.analyzers.unstable\1.2.0.556 + C:\Users\wjones\.nuget\packages\smartanalyzers.multithreadinganalyzer\1.1.31 + C:\Users\wjones\.nuget\packages\seriloganalyzer\0.15.0 + C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.bannedapianalyzers\4.14.0 + C:\Users\wjones\.nuget\packages\idisposableanalyzers\4.0.8 + \ No newline at end of file diff --git a/MediaBrowser.Providers/obj/MediaBrowser.Providers.csproj.nuget.g.targets b/MediaBrowser.Providers/obj/MediaBrowser.Providers.csproj.nuget.g.targets index b54b8aa0..81dfa627 100644 --- a/MediaBrowser.Providers/obj/MediaBrowser.Providers.csproj.nuget.g.targets +++ b/MediaBrowser.Providers/obj/MediaBrowser.Providers.csproj.nuget.g.targets @@ -4,5 +4,6 @@ + \ No newline at end of file diff --git a/MediaBrowser.Providers/obj/project.assets.json b/MediaBrowser.Providers/obj/project.assets.json index 42a5629c..29a3bc2c 100644 --- a/MediaBrowser.Providers/obj/project.assets.json +++ b/MediaBrowser.Providers/obj/project.assets.json @@ -74,6 +74,9 @@ } } }, + "IDisposableAnalyzers/4.0.8": { + "type": "package" + }, "J2N/2.0.0": { "type": "package", "compile": { @@ -167,6 +170,13 @@ } } }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": { + "type": "package", + "build": { + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props": {}, + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets": {} + } + }, "Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": { "type": "package", "dependencies": { @@ -684,6 +694,12 @@ } } }, + "SerilogAnalyzer/0.15.0": { + "type": "package" + }, + "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": { + "type": "package" + }, "Std.UriTemplate/2.0.5": { "type": "package", "compile": { @@ -693,6 +709,15 @@ "lib/net5.0/Std.UriTemplate.dll": {} } }, + "StyleCop.Analyzers/1.2.0-beta.556": { + "type": "package", + "dependencies": { + "StyleCop.Analyzers.Unstable": "1.2.0.556" + } + }, + "StyleCop.Analyzers.Unstable/1.2.0.556": { + "type": "package" + }, "TMDbLib/2.3.0": { "type": "package", "dependencies": { @@ -751,7 +776,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { - "Jellyfin.Model": "10.12.0" + "Jellyfin.CodeAnalysis": "1.0.0", + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Common.dll": {} @@ -768,6 +795,7 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "BitFaster.Caching": "2.5.4", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.MediaEncoding.Keyframes": "10.11.0", "Jellyfin.Model": "10.12.0", @@ -786,7 +814,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Database.Implementations": "10.11.0", + "Jellyfin.Sdk": "2025.10.21", "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118" }, "compile": { @@ -800,6 +830,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", "Polly": "8.6.5" }, @@ -816,6 +847,7 @@ "dependencies": { "Diacritics": "4.1.4", "ICU4N.Transliterator": "60.1.0-alpha.356", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Sdk": "2025.10.21" }, "compile": { @@ -844,6 +876,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Data": "10.12.0", "Jellyfin.Extensions": "10.12.0", "Jellyfin.Sdk": "2025.10.21" @@ -862,8 +895,10 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", - "Jellyfin.Model": "10.12.0" + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Naming.dll": {} @@ -987,6 +1022,21 @@ "unicode-icon-128x128.jpg" ] }, + "IDisposableAnalyzers/4.0.8": { + "sha512": "vNi4NMG0CcJyjXxiNDcQ21FwV/whM9o9OEZKD+oP7tuxAqFEzX/x5OhC3OZJqW/w+8GOtCmJPBquYgMWgz0rfQ==", + "type": "package", + "path": "idisposableanalyzers/4.0.8", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/IDisposableAnalyzers.dll", + "idisposableanalyzers.4.0.8.nupkg.sha512", + "idisposableanalyzers.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "J2N/2.0.0": { "sha512": "M5bwDajAARZiyqupU+rHQJnsVLxNBOHJ8vKYHd8LcLIb1FgLfzzcJvc31Qo5Xz/GEHFjDF9ScjKL/ks/zRTXuA==", "type": "package", @@ -1102,6 +1152,74 @@ "package-icon.png" ] }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": { + "sha512": "gSWJlDWwmDhtbrEJGiHqvEjz9KthIiFD0qYB8zZ6a7z+xpMSPEtM9yTYELSa58iFWYlzSRqP9FXO6KoT3+ZMtg==", + "type": "package", + "path": "microsoft.codeanalysis.bannedapianalyzers/4.14.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "ThirdPartyNotices.txt", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.BannedApiAnalyzers.dll", + "analyzers/dotnet/cs/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.BannedApiAnalyzers.dll", + "analyzers/dotnet/vb/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props", + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets", + "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.md", + "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.sarif", + "editorconfig/AllRulesDefault/.editorconfig", + "editorconfig/AllRulesDisabled/.editorconfig", + "editorconfig/AllRulesEnabled/.editorconfig", + "editorconfig/ApiDesignRulesDefault/.editorconfig", + "editorconfig/ApiDesignRulesEnabled/.editorconfig", + "editorconfig/DataflowRulesDefault/.editorconfig", + "editorconfig/DataflowRulesEnabled/.editorconfig", + "editorconfig/PortedFromFxCopRulesDefault/.editorconfig", + "editorconfig/PortedFromFxCopRulesEnabled/.editorconfig", + "microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512", + "microsoft.codeanalysis.bannedapianalyzers.nuspec", + "rulesets/AllRulesDefault.ruleset", + "rulesets/AllRulesDisabled.ruleset", + "rulesets/AllRulesEnabled.ruleset", + "rulesets/ApiDesignRulesDefault.ruleset", + "rulesets/ApiDesignRulesEnabled.ruleset", + "rulesets/DataflowRulesDefault.ruleset", + "rulesets/DataflowRulesEnabled.ruleset", + "rulesets/PortedFromFxCopRulesDefault.ruleset", + "rulesets/PortedFromFxCopRulesEnabled.ruleset", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": { "sha512": "Nox5NDdfvErlYUc9dyMlI7OzyrVQPKBzaq9P+SqMbAOm+gdG5KjtxpIkk7I/6NhcQ85HYaug/tEEnb7RvYdEYA==", "type": "package", @@ -1896,6 +2014,36 @@ "polly.core.nuspec" ] }, + "SerilogAnalyzer/0.15.0": { + "sha512": "sVpwfls4MfNnwIXLSGCgaUnV+c9kgJ8ia6GsyRcpd4Vs3gLogSDtSYBYrre2K2u/PNMo8GgG09RehwVnze70Tw==", + "type": "package", + "path": "seriloganalyzer/0.15.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/SerilogAnalyzer.dll", + "seriloganalyzer.0.15.0.nupkg.sha512", + "seriloganalyzer.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, + "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": { + "sha512": "2f2k7bbhDd132ArglCKpzKoWBcp3uzbIFcb4aosnlqIKlfYKDE2HevBVRNVa+LkWFnjXFFWs47Bo96fu8iS//Q==", + "type": "package", + "path": "smartanalyzers.multithreadinganalyzer/1.1.31", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/SmartAnalyzers.MultithreadingAnalyzer.dll", + "smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512", + "smartanalyzers.multithreadinganalyzer.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Std.UriTemplate/2.0.5": { "sha512": "PtqPdWNBObRcDHjyjbgOz2XoCJQaiA+HNDPQve/O7yGCkospfHDCuH9ULVx1msImwHHG+uhpDjiZX7bpLN/cnw==", "type": "package", @@ -1910,6 +2058,45 @@ "std.uritemplate.nuspec" ] }, + "StyleCop.Analyzers/1.2.0-beta.556": { + "sha512": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==", + "type": "package", + "path": "stylecop.analyzers/1.2.0-beta.556", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "THIRD-PARTY-NOTICES.txt", + "stylecop.analyzers.1.2.0-beta.556.nupkg.sha512", + "stylecop.analyzers.nuspec" + ] + }, + "StyleCop.Analyzers.Unstable/1.2.0.556": { + "sha512": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==", + "type": "package", + "path": "stylecop.analyzers.unstable/1.2.0.556", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "THIRD-PARTY-NOTICES.txt", + "analyzers/dotnet/cs/StyleCop.Analyzers.CodeFixes.dll", + "analyzers/dotnet/cs/StyleCop.Analyzers.dll", + "analyzers/dotnet/cs/de-DE/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/en-GB/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/es-MX/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/fr-FR/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/pl-PL/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/pt-BR/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/ru-RU/StyleCop.Analyzers.resources.dll", + "rulesets/StyleCopAnalyzersDefault.ruleset", + "stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512", + "stylecop.analyzers.unstable.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "TMDbLib/2.3.0": { "sha512": "kapjC4/ao8mxJ/G5xcZHYNVFvmAzxwWEN2PDkGbbUzAQVfbf85DsA9AUDTrXahTHYq0R7jwGyARs/y6243EPLg==", "type": "package", @@ -2009,15 +2196,21 @@ "projectFileDependencyGroups": { "net11.0": [ "AsyncKeyedLock >= 8.0.2", + "IDisposableAnalyzers >= 4.0.8", + "Jellyfin.CodeAnalysis >= 1.0.0", "Jellyfin.Controller >= 10.12.0", "Jellyfin.Model >= 10.12.0", "Jellyfin.Sdk >= 2025.10.21", "LrcParser >= 2025.623.0", "MetaBrainz.MusicBrainz >= 8.0.1", + "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0", "Microsoft.Extensions.Caching.Abstractions >= 11.0.0-preview.1.26104.118", "Microsoft.Extensions.Http >= 11.0.0-preview.1.26104.118", "Newtonsoft.Json >= 13.0.4", "PlaylistsNET >= 1.4.1", + "SerilogAnalyzer >= 0.15.0", + "SmartAnalyzers.MultithreadingAnalyzer >= 1.1.31", + "StyleCop.Analyzers >= 1.2.0-beta.556", "TMDbLib >= 2.3.0", "z440.atl.core >= 7.11.0" ] @@ -2061,6 +2254,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -2091,6 +2287,13 @@ "version": "[8.0.2, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -2106,6 +2309,13 @@ "version": "[8.0.1, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Caching.Abstractions": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", @@ -2126,6 +2336,24 @@ "version": "[1.4.1, )", "versionCentrallyManaged": true }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "TMDbLib": { "target": "Package", "version": "[2.3.0, )", diff --git a/MediaBrowser.Providers/obj/project.nuget.cache b/MediaBrowser.Providers/obj/project.nuget.cache index d4bf7063..b799ccd6 100644 --- a/MediaBrowser.Providers/obj/project.nuget.cache +++ b/MediaBrowser.Providers/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "s/np/KUi9KA=", + "dgSpecHash": "O+ANw3v7loA=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Providers\\MediaBrowser.Providers.csproj", "expectedPackageFiles": [ @@ -9,12 +9,14 @@ "C:\\Users\\wjones\\.nuget\\packages\\diacritics\\4.1.4\\diacritics.4.1.4.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\icu4n\\60.1.0-alpha.356\\icu4n.60.1.0-alpha.356.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\icu4n.transliterator\\60.1.0-alpha.356\\icu4n.transliterator.60.1.0-alpha.356.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\idisposableanalyzers\\4.0.8\\idisposableanalyzers.4.0.8.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\j2n\\2.0.0\\j2n.2.0.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\jellyfin.sdk\\2025.10.21\\jellyfin.sdk.2025.10.21.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\lrcparser\\2025.623.0\\lrcparser.2025.623.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\metabrainz.common\\4.1.1\\metabrainz.common.4.1.1.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\metabrainz.common.json\\7.2.0\\metabrainz.common.json.7.2.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\metabrainz.musicbrainz\\8.0.1\\metabrainz.musicbrainz.8.0.1.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.bannedapianalyzers\\4.14.0\\microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.11.0.0-preview.1.26104.118.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.abstractions.11.0.0-preview.1.26104.118.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.analyzers.11.0.0-preview.1.26104.118.nupkg.sha512", @@ -45,7 +47,11 @@ "C:\\Users\\wjones\\.nuget\\packages\\playlistsnet\\1.4.1\\playlistsnet.1.4.1.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\polly\\8.6.5\\polly.8.6.5.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\polly.core\\8.6.5\\polly.core.8.6.5.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\seriloganalyzer\\0.15.0\\seriloganalyzer.0.15.0.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\smartanalyzers.multithreadinganalyzer\\1.1.31\\smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers\\1.2.0-beta.556\\stylecop.analyzers.1.2.0-beta.556.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers.unstable\\1.2.0.556\\stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\tmdblib\\2.3.0\\tmdblib.2.3.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\ude.netstandard\\1.2.0\\ude.netstandard.1.2.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\z440.atl.core\\7.11.0\\z440.atl.core.7.11.0.nupkg.sha512" diff --git a/MediaBrowser.XbmcMetadata/obj/MediaBrowser.XbmcMetadata.csproj.nuget.dgspec.json b/MediaBrowser.XbmcMetadata/obj/MediaBrowser.XbmcMetadata.csproj.nuget.dgspec.json index 5520f440..2c8d90bd 100644 --- a/MediaBrowser.XbmcMetadata/obj/MediaBrowser.XbmcMetadata.csproj.nuget.dgspec.json +++ b/MediaBrowser.XbmcMetadata/obj/MediaBrowser.XbmcMetadata.csproj.nuget.dgspec.json @@ -39,20 +39,13 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } }, - "warningProperties": { - "allWarningsAsErrors": true, - "warnAsError": [ - "NU1605" - ], - "warnNotAsError": [ - "NU1902", - "NU1903" - ] - }, "restoreAuditProperties": { "enableAudit": "true", "auditLevel": "low", @@ -63,6 +56,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -473,6 +505,9 @@ "net11.0": { "targetAlias": "net11.0", "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -500,10 +535,47 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Logging": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -918,6 +990,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -942,6 +1017,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -1505,6 +1619,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj" } @@ -1537,15 +1654,47 @@ "version": "[2.5.4, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Configuration.Binder": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -1961,6 +2110,9 @@ "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj" } @@ -1988,17 +2140,49 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "MimeTypes": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", "target": "Package", "version": "[2.5.2, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -2560,6 +2744,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -2584,6 +2771,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -3017,6 +3243,13 @@ "netstandard2.0": { "targetAlias": "netstandard2.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -3028,6 +3261,13 @@ "version": "[3.11.0, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.CodeAnalysis.CSharp": { "suppressParent": "All", "target": "Package", @@ -3039,6 +3279,24 @@ "target": "Package", "version": "[2.0.3, )", "autoReferenced": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -3171,7 +3429,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -3195,6 +3457,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -3218,6 +3494,24 @@ "target": "Package", "version": "[8.6.5, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -3629,7 +3923,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -3666,10 +3964,42 @@ "version": "[60.1.0-alpha.356, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { diff --git a/MediaBrowser.XbmcMetadata/obj/MediaBrowser.XbmcMetadata.csproj.nuget.g.props b/MediaBrowser.XbmcMetadata/obj/MediaBrowser.XbmcMetadata.csproj.nuget.g.props index 59d22c92..651d5bb6 100644 --- a/MediaBrowser.XbmcMetadata/obj/MediaBrowser.XbmcMetadata.csproj.nuget.g.props +++ b/MediaBrowser.XbmcMetadata/obj/MediaBrowser.XbmcMetadata.csproj.nuget.g.props @@ -15,5 +15,13 @@ + + + C:\Users\wjones\.nuget\packages\stylecop.analyzers.unstable\1.2.0.556 + C:\Users\wjones\.nuget\packages\smartanalyzers.multithreadinganalyzer\1.1.31 + C:\Users\wjones\.nuget\packages\seriloganalyzer\0.15.0 + C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.bannedapianalyzers\4.14.0 + C:\Users\wjones\.nuget\packages\idisposableanalyzers\4.0.8 + \ No newline at end of file diff --git a/MediaBrowser.XbmcMetadata/obj/MediaBrowser.XbmcMetadata.csproj.nuget.g.targets b/MediaBrowser.XbmcMetadata/obj/MediaBrowser.XbmcMetadata.csproj.nuget.g.targets index 693275db..fee5dc52 100644 --- a/MediaBrowser.XbmcMetadata/obj/MediaBrowser.XbmcMetadata.csproj.nuget.g.targets +++ b/MediaBrowser.XbmcMetadata/obj/MediaBrowser.XbmcMetadata.csproj.nuget.g.targets @@ -4,5 +4,6 @@ + \ No newline at end of file diff --git a/MediaBrowser.XbmcMetadata/obj/project.assets.json b/MediaBrowser.XbmcMetadata/obj/project.assets.json index e0f0389c..a19cb2d9 100644 --- a/MediaBrowser.XbmcMetadata/obj/project.assets.json +++ b/MediaBrowser.XbmcMetadata/obj/project.assets.json @@ -61,6 +61,9 @@ } } }, + "IDisposableAnalyzers/4.0.8": { + "type": "package" + }, "J2N/2.0.0": { "type": "package", "compile": { @@ -95,6 +98,13 @@ } } }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": { + "type": "package", + "build": { + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props": {}, + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets": {} + } + }, "Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": { "type": "package", "dependencies": { @@ -502,6 +512,12 @@ } } }, + "SerilogAnalyzer/0.15.0": { + "type": "package" + }, + "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": { + "type": "package" + }, "Std.UriTemplate/2.0.5": { "type": "package", "compile": { @@ -511,6 +527,15 @@ "lib/net5.0/Std.UriTemplate.dll": {} } }, + "StyleCop.Analyzers/1.2.0-beta.556": { + "type": "package", + "dependencies": { + "StyleCop.Analyzers.Unstable": "1.2.0.556" + } + }, + "StyleCop.Analyzers.Unstable/1.2.0.556": { + "type": "package" + }, "Jellyfin.CodeAnalysis/1.0.0": { "type": "project", "framework": ".NETStandard,Version=v2.0", @@ -528,7 +553,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { - "Jellyfin.Model": "10.12.0" + "Jellyfin.CodeAnalysis": "1.0.0", + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Common.dll": {} @@ -545,6 +572,7 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "BitFaster.Caching": "2.5.4", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.MediaEncoding.Keyframes": "10.11.0", "Jellyfin.Model": "10.12.0", @@ -563,7 +591,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Database.Implementations": "10.11.0", + "Jellyfin.Sdk": "2025.10.21", "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118" }, "compile": { @@ -577,6 +607,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", "Polly": "8.6.5" }, @@ -593,6 +624,7 @@ "dependencies": { "Diacritics": "4.1.4", "ICU4N.Transliterator": "60.1.0-alpha.356", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Sdk": "2025.10.21" }, "compile": { @@ -621,6 +653,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Data": "10.12.0", "Jellyfin.Extensions": "10.12.0", "Jellyfin.Sdk": "2025.10.21" @@ -639,8 +672,10 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", - "Jellyfin.Model": "10.12.0" + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Naming.dll": {} @@ -737,6 +772,21 @@ "unicode-icon-128x128.jpg" ] }, + "IDisposableAnalyzers/4.0.8": { + "sha512": "vNi4NMG0CcJyjXxiNDcQ21FwV/whM9o9OEZKD+oP7tuxAqFEzX/x5OhC3OZJqW/w+8GOtCmJPBquYgMWgz0rfQ==", + "type": "package", + "path": "idisposableanalyzers/4.0.8", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/IDisposableAnalyzers.dll", + "idisposableanalyzers.4.0.8.nupkg.sha512", + "idisposableanalyzers.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "J2N/2.0.0": { "sha512": "M5bwDajAARZiyqupU+rHQJnsVLxNBOHJ8vKYHd8LcLIb1FgLfzzcJvc31Qo5Xz/GEHFjDF9ScjKL/ks/zRTXuA==", "type": "package", @@ -784,6 +834,74 @@ "lib/netstandard2.1/Jellyfin.Sdk.xml" ] }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": { + "sha512": "gSWJlDWwmDhtbrEJGiHqvEjz9KthIiFD0qYB8zZ6a7z+xpMSPEtM9yTYELSa58iFWYlzSRqP9FXO6KoT3+ZMtg==", + "type": "package", + "path": "microsoft.codeanalysis.bannedapianalyzers/4.14.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "ThirdPartyNotices.txt", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.BannedApiAnalyzers.dll", + "analyzers/dotnet/cs/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.BannedApiAnalyzers.dll", + "analyzers/dotnet/vb/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props", + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets", + "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.md", + "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.sarif", + "editorconfig/AllRulesDefault/.editorconfig", + "editorconfig/AllRulesDisabled/.editorconfig", + "editorconfig/AllRulesEnabled/.editorconfig", + "editorconfig/ApiDesignRulesDefault/.editorconfig", + "editorconfig/ApiDesignRulesEnabled/.editorconfig", + "editorconfig/DataflowRulesDefault/.editorconfig", + "editorconfig/DataflowRulesEnabled/.editorconfig", + "editorconfig/PortedFromFxCopRulesDefault/.editorconfig", + "editorconfig/PortedFromFxCopRulesEnabled/.editorconfig", + "microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512", + "microsoft.codeanalysis.bannedapianalyzers.nuspec", + "rulesets/AllRulesDefault.ruleset", + "rulesets/AllRulesDisabled.ruleset", + "rulesets/AllRulesEnabled.ruleset", + "rulesets/ApiDesignRulesDefault.ruleset", + "rulesets/ApiDesignRulesEnabled.ruleset", + "rulesets/DataflowRulesDefault.ruleset", + "rulesets/DataflowRulesEnabled.ruleset", + "rulesets/PortedFromFxCopRulesDefault.ruleset", + "rulesets/PortedFromFxCopRulesEnabled.ruleset", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": { "sha512": "Nox5NDdfvErlYUc9dyMlI7OzyrVQPKBzaq9P+SqMbAOm+gdG5KjtxpIkk7I/6NhcQ85HYaug/tEEnb7RvYdEYA==", "type": "package", @@ -1425,6 +1543,36 @@ "polly.core.nuspec" ] }, + "SerilogAnalyzer/0.15.0": { + "sha512": "sVpwfls4MfNnwIXLSGCgaUnV+c9kgJ8ia6GsyRcpd4Vs3gLogSDtSYBYrre2K2u/PNMo8GgG09RehwVnze70Tw==", + "type": "package", + "path": "seriloganalyzer/0.15.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/SerilogAnalyzer.dll", + "seriloganalyzer.0.15.0.nupkg.sha512", + "seriloganalyzer.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, + "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": { + "sha512": "2f2k7bbhDd132ArglCKpzKoWBcp3uzbIFcb4aosnlqIKlfYKDE2HevBVRNVa+LkWFnjXFFWs47Bo96fu8iS//Q==", + "type": "package", + "path": "smartanalyzers.multithreadinganalyzer/1.1.31", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/SmartAnalyzers.MultithreadingAnalyzer.dll", + "smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512", + "smartanalyzers.multithreadinganalyzer.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Std.UriTemplate/2.0.5": { "sha512": "PtqPdWNBObRcDHjyjbgOz2XoCJQaiA+HNDPQve/O7yGCkospfHDCuH9ULVx1msImwHHG+uhpDjiZX7bpLN/cnw==", "type": "package", @@ -1439,6 +1587,45 @@ "std.uritemplate.nuspec" ] }, + "StyleCop.Analyzers/1.2.0-beta.556": { + "sha512": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==", + "type": "package", + "path": "stylecop.analyzers/1.2.0-beta.556", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "THIRD-PARTY-NOTICES.txt", + "stylecop.analyzers.1.2.0-beta.556.nupkg.sha512", + "stylecop.analyzers.nuspec" + ] + }, + "StyleCop.Analyzers.Unstable/1.2.0.556": { + "sha512": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==", + "type": "package", + "path": "stylecop.analyzers.unstable/1.2.0.556", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "THIRD-PARTY-NOTICES.txt", + "analyzers/dotnet/cs/StyleCop.Analyzers.CodeFixes.dll", + "analyzers/dotnet/cs/StyleCop.Analyzers.dll", + "analyzers/dotnet/cs/de-DE/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/en-GB/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/es-MX/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/fr-FR/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/pl-PL/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/pt-BR/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/ru-RU/StyleCop.Analyzers.resources.dll", + "rulesets/StyleCopAnalyzersDefault.ruleset", + "stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512", + "stylecop.analyzers.unstable.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Jellyfin.CodeAnalysis/1.0.0": { "type": "project", "path": "../src/Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj", @@ -1487,8 +1674,15 @@ }, "projectFileDependencyGroups": { "net11.0": [ + "IDisposableAnalyzers >= 4.0.8", + "Jellyfin.CodeAnalysis >= 1.0.0", "Jellyfin.Controller >= 10.12.0", - "Jellyfin.Model >= 10.12.0" + "Jellyfin.Model >= 10.12.0", + "Jellyfin.Sdk >= 2025.10.21", + "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0", + "SerilogAnalyzer >= 0.15.0", + "SmartAnalyzers.MultithreadingAnalyzer >= 1.1.31", + "StyleCop.Analyzers >= 1.2.0-beta.556" ] }, "packageFolders": { @@ -1530,6 +1724,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -1554,6 +1751,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", diff --git a/MediaBrowser.XbmcMetadata/obj/project.nuget.cache b/MediaBrowser.XbmcMetadata/obj/project.nuget.cache index 98138c92..832e5504 100644 --- a/MediaBrowser.XbmcMetadata/obj/project.nuget.cache +++ b/MediaBrowser.XbmcMetadata/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "0jKnFheQd6Y=", + "dgSpecHash": "rQazb3gGG1E=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.XbmcMetadata\\MediaBrowser.XbmcMetadata.csproj", "expectedPackageFiles": [ @@ -8,8 +8,10 @@ "C:\\Users\\wjones\\.nuget\\packages\\diacritics\\4.1.4\\diacritics.4.1.4.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\icu4n\\60.1.0-alpha.356\\icu4n.60.1.0-alpha.356.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\icu4n.transliterator\\60.1.0-alpha.356\\icu4n.transliterator.60.1.0-alpha.356.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\idisposableanalyzers\\4.0.8\\idisposableanalyzers.4.0.8.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\j2n\\2.0.0\\j2n.2.0.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\jellyfin.sdk\\2025.10.21\\jellyfin.sdk.2025.10.21.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.bannedapianalyzers\\4.14.0\\microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.11.0.0-preview.1.26104.118.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.abstractions.11.0.0-preview.1.26104.118.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.analyzers.11.0.0-preview.1.26104.118.nupkg.sha512", @@ -34,7 +36,11 @@ "C:\\Users\\wjones\\.nuget\\packages\\nebml\\1.1.0.5\\nebml.1.1.0.5.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\polly\\8.6.5\\polly.8.6.5.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\polly.core\\8.6.5\\polly.core.8.6.5.nupkg.sha512", - "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512" + "C:\\Users\\wjones\\.nuget\\packages\\seriloganalyzer\\0.15.0\\seriloganalyzer.0.15.0.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\smartanalyzers.multithreadinganalyzer\\1.1.31\\smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers\\1.2.0-beta.556\\stylecop.analyzers.1.2.0-beta.556.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers.unstable\\1.2.0.556\\stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512" ], "logs": [] } \ No newline at end of file diff --git a/docs/SQLITE_MIGRATION_FILTERING_FIX.md b/docs/SQLITE_MIGRATION_FILTERING_FIX.md new file mode 100644 index 00000000..b6f54bf5 --- /dev/null +++ b/docs/SQLITE_MIGRATION_FILTERING_FIX.md @@ -0,0 +1,210 @@ +# SQLite-Specific Migration Filtering - Fix Summary + +## Problem + +When starting Jellyfin with PostgreSQL, the application was crashing with: +``` +SQLite Error 1: 'no such table: TypedBaseItems' +``` + +**Root Cause:** Legacy migrations designed to migrate data from old SQLite database files (`library.db`, `users.db`, etc.) were trying to run when using PostgreSQL. + +## Solution + +### 1. Added `RequiresSqlite` Property to `JellyfinMigrationAttribute` + +**File:** `Jellyfin.Server\Migrations\JellyfinMigrationAttribute.cs` + +```csharp +/// +/// Gets or Sets a value indicating whether the migration requires SQLite (legacy library.db). +/// If true, the migration will be skipped when using non-SQLite database providers. +/// +public bool RequiresSqlite { get; set; } +``` + +### 2. Updated Migration Service to Filter SQLite-Specific Migrations + +**File:** `Jellyfin.Server\Migrations\JellyfinMigrationService.cs` + +Added logic to skip SQLite-specific migrations when using PostgreSQL: + +```csharp +// Filter out SQLite-specific migrations when using non-SQLite providers +bool isSqliteProvider = _jellyfinDatabaseProvider is Jellyfin.Database.Providers.Sqlite.SqliteDatabaseProvider; +if (!isSqliteProvider) +{ + var sqliteSpecificMigrations = migrationStage.Where(m => m.Metadata.RequiresSqlite).ToList(); + if (sqliteSpecificMigrations.Any()) + { + logger.LogInformation("Skipping {Count} SQLite-specific migrations because current provider is not SQLite", sqliteSpecificMigrations.Count); + migrationStage = migrationStage.Where(m => !m.Metadata.RequiresSqlite).ToList(); + } +} +``` + +### 3. Marked SQLite-Specific Migrations + +Updated the following migrations with `RequiresSqlite = true`: + +| Migration | Purpose | Why SQLite-Specific | +|-----------|---------|-------------------| +| **MigrateActivityLogDb** | Migrate from `activitylog.db` | Reads old SQLite file | +| **MigrateAuthenticationDb** | Migrate from `authentication.db` | Reads old SQLite file | +| **MigrateDisplayPreferencesDb** | Migrate from `displaypreferences.db` | Reads old SQLite file | +| **MigrateLibraryDb** | Migrate from `library.db` | Reads old SQLite file with `TypedBaseItems` table | +| **MigrateLibraryDbCompatibilityCheck** | Check `library.db` compatibility | Accesses SQLite file | +| **MigrateLibraryUserData** | Migrate user data from old `library.db` | Reads old SQLite file | +| **MigrateUserDb** | Migrate from `users.db` | Reads old SQLite file | +| **RemoveDuplicateExtras** | Clean up duplicates in `library.db` | Queries `TypedBaseItems` SQLite table | +| **ReseedFolderFlag** | Fix folder flags in old `library.db` | Reads old SQLite file | + +### 4. Added Safety Check in RemoveDuplicateExtras + +Added explicit file existence check as additional safety: + +```csharp +// Skip this migration if using PostgreSQL or if library.db doesn't exist +if (!File.Exists(dbPath)) +{ + _logger.LogInformation("SQLite library.db not found, skipping SQLite-specific migration."); + return; +} +``` + +## What These Migrations Do + +These migrations are **data migration routines** that: +- Read data from old SQLite database files (`.db` files) +- Transform/clean the data +- Write it to the new EF Core database + +**They are only relevant when:** +- Upgrading from an older Jellyfin version that used separate SQLite files +- The old `.db` files exist in the data directory + +**They should NOT run when:** +- Starting fresh with PostgreSQL (no old SQLite files to migrate) +- Using PostgreSQL (incompatible with SQLite-specific code) + +## Expected Behavior + +### With SQLite Provider + +``` +[INFO] There are 15 migrations for stage CoreInitialisation +[INFO] Perform migration 20250420070000_MigrateActivityLogDb +[INFO] Migrating data from activitylog.db... +[INFO] Migration completed successfully +... +``` + +### With PostgreSQL Provider + +``` +[INFO] Skipping 9 SQLite-specific migrations because current provider is not SQLite +[INFO] There are 6 migrations for stage CoreInitialisation +[INFO] Perform migration 20260222222702_InitialCreate +[INFO] Migration completed successfully +... +``` + +## Migration Categories + +### Legacy Data Migrations (SQLite-Specific) ✅ Now Skipped +These migrate data from old `.db` files to EF Core: +- MigrateActivityLogDb +- MigrateAuthenticationDb +- MigrateDisplayPreferencesDb +- MigrateLibraryDb +- MigrateUserDb +- RemoveDuplicateExtras +- ReseedFolderFlag +- etc. + +### Configuration Migrations (Provider-Agnostic) ✅ Always Run +These update configuration files: +- AddDefaultCastReceivers +- DisableTranscodingThrottling +- MoveExtractedFiles +- etc. + +### EF Core Schema Migrations (Provider-Specific) ✅ Always Run +These create/update database schema: +- 20260222222702_InitialCreate (PostgreSQL) +- 20200514181226_AddActivityLog (SQLite) +- etc. + +## Testing + +### Test 1: Fresh PostgreSQL Install + +```bash +# No old SQLite files exist +./jellyfin --database-type Jellyfin-PostgreSQL + +# Expected: 9 SQLite migrations skipped, PostgreSQL schema created +``` + +### Test 2: SQLite to PostgreSQL Migration + +⚠️ **Note:** These migrations only help with SQLite-to-SQLite EF Core migrations, not SQLite-to-PostgreSQL. + +For SQLite → PostgreSQL migration, users must: +1. Export data from SQLite +2. Configure PostgreSQL +3. Re-scan library + +### Test 3: Normal SQLite Startup + +```bash +# With existing library.db +./jellyfin + +# Expected: All migrations run normally (including data migrations) +``` + +## Benefits + +### ✅ For PostgreSQL Users +- No more "table does not exist" errors +- Clean startup without irrelevant migrations +- Faster startup (fewer migrations to check) +- Clear logs showing what's skipped + +### ✅ For SQLite Users +- No impact - migrations run normally +- Data migration from old files still works +- Backward compatible + +### ✅ For Developers +- Clear separation between provider-specific logic +- Easy to add future provider-specific migrations +- Self-documenting code (attribute clearly shows intent) + +## Files Modified + +**Core Migration System:** +- ✅ `JellyfinMigrationAttribute.cs` - Added `RequiresSqlite` property +- ✅ `JellyfinMigrationService.cs` - Added filtering logic + +**Migration Routines Marked:** +- ✅ `MigrateActivityLogDb.cs` +- ✅ `MigrateAuthenticationDb.cs` +- ✅ `MigrateDisplayPreferencesDb.cs` +- ✅ `MigrateLibraryDb.cs` +- ✅ `MigrateLibraryDbCompatibilityCheck.cs` +- ✅ `MigrateLibraryUserData.cs` +- ✅ `MigrateUserDb.cs` +- ✅ `RemoveDuplicateExtras.cs` +- ✅ `ReseedFolderFlag.cs` + +## Summary + +**Problem:** PostgreSQL crashing on SQLite-specific migrations +**Solution:** Filter out SQLite migrations when using PostgreSQL +**Status:** ✅ Fixed +**Build:** ✅ Successful +**Impact:** None on SQLite, fixes PostgreSQL startup + +Try running Jellyfin with PostgreSQL now - it should skip these 9 SQLite-specific migrations and successfully create the PostgreSQL schema! 🎉 diff --git a/src/Jellyfin.CodeAnalysis/bin/Debug/netstandard2.0/Jellyfin.CodeAnalysis.dll b/src/Jellyfin.CodeAnalysis/bin/Debug/netstandard2.0/Jellyfin.CodeAnalysis.dll index b8328f4f..c97a949c 100644 Binary files a/src/Jellyfin.CodeAnalysis/bin/Debug/netstandard2.0/Jellyfin.CodeAnalysis.dll and b/src/Jellyfin.CodeAnalysis/bin/Debug/netstandard2.0/Jellyfin.CodeAnalysis.dll differ diff --git a/src/Jellyfin.CodeAnalysis/bin/Debug/netstandard2.0/Jellyfin.CodeAnalysis.pdb b/src/Jellyfin.CodeAnalysis/bin/Debug/netstandard2.0/Jellyfin.CodeAnalysis.pdb index 7c2f49bb..aab28535 100644 Binary files a/src/Jellyfin.CodeAnalysis/bin/Debug/netstandard2.0/Jellyfin.CodeAnalysis.pdb and b/src/Jellyfin.CodeAnalysis/bin/Debug/netstandard2.0/Jellyfin.CodeAnalysis.pdb differ diff --git a/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.AssemblyInfo.cs b/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.AssemblyInfo.cs index 8f76e22e..7eeb42bc 100644 --- a/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.AssemblyInfo.cs +++ b/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.AssemblyInfo.cs @@ -14,7 +14,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("Jellyfin.CodeAnalysis")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+a3eb4b1b57d52c476844f5450856090d157dd64d")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+8d39eb77e6f2c21547ee919c542c5f7bf520c9a5")] [assembly: System.Reflection.AssemblyProductAttribute("Jellyfin.CodeAnalysis")] [assembly: System.Reflection.AssemblyTitleAttribute("Jellyfin.CodeAnalysis")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.AssemblyInfoInputs.cache b/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.AssemblyInfoInputs.cache index e09bd0de..7c5657bf 100644 --- a/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.AssemblyInfoInputs.cache +++ b/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.AssemblyInfoInputs.cache @@ -1 +1 @@ -f7176bcf7aea11b16bb80b64a38fc257d68c9d69bf176d617c4175051a284bac +46f31a434996f3f948113e0a45d718aef3a886077a49d1b3e5b5870d402fb364 diff --git a/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.dll b/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.dll index b8328f4f..c97a949c 100644 Binary files a/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.dll and b/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.dll differ diff --git a/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.pdb b/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.pdb index 7c2f49bb..aab28535 100644 Binary files a/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.pdb and b/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.pdb differ diff --git a/src/Jellyfin.CodeAnalysis/obj/Jellyfin.CodeAnalysis.csproj.nuget.dgspec.json b/src/Jellyfin.CodeAnalysis/obj/Jellyfin.CodeAnalysis.csproj.nuget.dgspec.json index f7f60425..eb9ff6a3 100644 --- a/src/Jellyfin.CodeAnalysis/obj/Jellyfin.CodeAnalysis.csproj.nuget.dgspec.json +++ b/src/Jellyfin.CodeAnalysis/obj/Jellyfin.CodeAnalysis.csproj.nuget.dgspec.json @@ -57,6 +57,13 @@ "netstandard2.0": { "targetAlias": "netstandard2.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -68,6 +75,13 @@ "version": "[3.11.0, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.CodeAnalysis.CSharp": { "suppressParent": "All", "target": "Package", @@ -79,6 +93,24 @@ "target": "Package", "version": "[2.0.3, )", "autoReferenced": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { diff --git a/src/Jellyfin.CodeAnalysis/obj/Jellyfin.CodeAnalysis.csproj.nuget.g.props b/src/Jellyfin.CodeAnalysis/obj/Jellyfin.CodeAnalysis.csproj.nuget.g.props index 57e06e48..10100b86 100644 --- a/src/Jellyfin.CodeAnalysis/obj/Jellyfin.CodeAnalysis.csproj.nuget.g.props +++ b/src/Jellyfin.CodeAnalysis/obj/Jellyfin.CodeAnalysis.csproj.nuget.g.props @@ -15,8 +15,14 @@ + + C:\Users\wjones\.nuget\packages\stylecop.analyzers.unstable\1.2.0.556 + C:\Users\wjones\.nuget\packages\smartanalyzers.multithreadinganalyzer\1.1.31 + C:\Users\wjones\.nuget\packages\seriloganalyzer\0.15.0 C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.analyzers\3.11.0 + C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.bannedapianalyzers\4.14.0 + C:\Users\wjones\.nuget\packages\idisposableanalyzers\4.0.8 \ No newline at end of file diff --git a/src/Jellyfin.CodeAnalysis/obj/Jellyfin.CodeAnalysis.csproj.nuget.g.targets b/src/Jellyfin.CodeAnalysis/obj/Jellyfin.CodeAnalysis.csproj.nuget.g.targets index 86130e83..bd09a332 100644 --- a/src/Jellyfin.CodeAnalysis/obj/Jellyfin.CodeAnalysis.csproj.nuget.g.targets +++ b/src/Jellyfin.CodeAnalysis/obj/Jellyfin.CodeAnalysis.csproj.nuget.g.targets @@ -4,5 +4,6 @@ + \ No newline at end of file diff --git a/src/Jellyfin.CodeAnalysis/obj/project.assets.json b/src/Jellyfin.CodeAnalysis/obj/project.assets.json index ab4f8104..fe4c3572 100644 --- a/src/Jellyfin.CodeAnalysis/obj/project.assets.json +++ b/src/Jellyfin.CodeAnalysis/obj/project.assets.json @@ -2,6 +2,9 @@ "version": 3, "targets": { ".NETStandard,Version=v2.0": { + "IDisposableAnalyzers/4.0.8": { + "type": "package" + }, "Jellyfin.Sdk/2025.10.21": { "type": "package", "dependencies": { @@ -46,6 +49,13 @@ "buildTransitive/Microsoft.CodeAnalysis.Analyzers.targets": {} } }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": { + "type": "package", + "build": { + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props": {}, + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets": {} + } + }, "Microsoft.CodeAnalysis.Common/5.0.0": { "type": "package", "dependencies": { @@ -301,6 +311,12 @@ "build/netstandard2.0/NETStandard.Library.targets": {} } }, + "SerilogAnalyzer/0.15.0": { + "type": "package" + }, + "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": { + "type": "package" + }, "Std.UriTemplate/2.0.5": { "type": "package", "compile": { @@ -310,6 +326,15 @@ "lib/netstandard2.0/Std.UriTemplate.dll": {} } }, + "StyleCop.Analyzers/1.2.0-beta.556": { + "type": "package", + "dependencies": { + "StyleCop.Analyzers.Unstable": "1.2.0.556" + } + }, + "StyleCop.Analyzers.Unstable/1.2.0.556": { + "type": "package" + }, "System.Buffers/4.6.0": { "type": "package", "compile": { @@ -497,6 +522,21 @@ } }, "libraries": { + "IDisposableAnalyzers/4.0.8": { + "sha512": "vNi4NMG0CcJyjXxiNDcQ21FwV/whM9o9OEZKD+oP7tuxAqFEzX/x5OhC3OZJqW/w+8GOtCmJPBquYgMWgz0rfQ==", + "type": "package", + "path": "idisposableanalyzers/4.0.8", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/IDisposableAnalyzers.dll", + "idisposableanalyzers.4.0.8.nupkg.sha512", + "idisposableanalyzers.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Jellyfin.Sdk/2025.10.21": { "sha512": "1pG60suEiV3v77zqLd5fO9S8m8qryxj9mZYb24Me1XgSXlaCIt0SC1V1sbFKyoG70Q3n915wT4Ko4BUanorRug==", "type": "package", @@ -1239,6 +1279,74 @@ "tools/uninstall.ps1" ] }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": { + "sha512": "gSWJlDWwmDhtbrEJGiHqvEjz9KthIiFD0qYB8zZ6a7z+xpMSPEtM9yTYELSa58iFWYlzSRqP9FXO6KoT3+ZMtg==", + "type": "package", + "path": "microsoft.codeanalysis.bannedapianalyzers/4.14.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "ThirdPartyNotices.txt", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.BannedApiAnalyzers.dll", + "analyzers/dotnet/cs/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.BannedApiAnalyzers.dll", + "analyzers/dotnet/vb/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props", + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets", + "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.md", + "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.sarif", + "editorconfig/AllRulesDefault/.editorconfig", + "editorconfig/AllRulesDisabled/.editorconfig", + "editorconfig/AllRulesEnabled/.editorconfig", + "editorconfig/ApiDesignRulesDefault/.editorconfig", + "editorconfig/ApiDesignRulesEnabled/.editorconfig", + "editorconfig/DataflowRulesDefault/.editorconfig", + "editorconfig/DataflowRulesEnabled/.editorconfig", + "editorconfig/PortedFromFxCopRulesDefault/.editorconfig", + "editorconfig/PortedFromFxCopRulesEnabled/.editorconfig", + "microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512", + "microsoft.codeanalysis.bannedapianalyzers.nuspec", + "rulesets/AllRulesDefault.ruleset", + "rulesets/AllRulesDisabled.ruleset", + "rulesets/AllRulesEnabled.ruleset", + "rulesets/ApiDesignRulesDefault.ruleset", + "rulesets/ApiDesignRulesEnabled.ruleset", + "rulesets/DataflowRulesDefault.ruleset", + "rulesets/DataflowRulesEnabled.ruleset", + "rulesets/PortedFromFxCopRulesDefault.ruleset", + "rulesets/PortedFromFxCopRulesEnabled.ruleset", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Microsoft.CodeAnalysis.Common/5.0.0": { "sha512": "ZXRAdvH6GiDeHRyd3q/km8Z44RoM6FBWHd+gen/la81mVnAdHTEsEkO5J0TCNXBymAcx5UYKt5TvgKBhaLJEow==", "type": "package", @@ -1641,6 +1749,36 @@ "netstandard.library.nuspec" ] }, + "SerilogAnalyzer/0.15.0": { + "sha512": "sVpwfls4MfNnwIXLSGCgaUnV+c9kgJ8ia6GsyRcpd4Vs3gLogSDtSYBYrre2K2u/PNMo8GgG09RehwVnze70Tw==", + "type": "package", + "path": "seriloganalyzer/0.15.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/SerilogAnalyzer.dll", + "seriloganalyzer.0.15.0.nupkg.sha512", + "seriloganalyzer.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, + "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": { + "sha512": "2f2k7bbhDd132ArglCKpzKoWBcp3uzbIFcb4aosnlqIKlfYKDE2HevBVRNVa+LkWFnjXFFWs47Bo96fu8iS//Q==", + "type": "package", + "path": "smartanalyzers.multithreadinganalyzer/1.1.31", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/SmartAnalyzers.MultithreadingAnalyzer.dll", + "smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512", + "smartanalyzers.multithreadinganalyzer.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Std.UriTemplate/2.0.5": { "sha512": "PtqPdWNBObRcDHjyjbgOz2XoCJQaiA+HNDPQve/O7yGCkospfHDCuH9ULVx1msImwHHG+uhpDjiZX7bpLN/cnw==", "type": "package", @@ -1655,6 +1793,45 @@ "std.uritemplate.nuspec" ] }, + "StyleCop.Analyzers/1.2.0-beta.556": { + "sha512": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==", + "type": "package", + "path": "stylecop.analyzers/1.2.0-beta.556", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "THIRD-PARTY-NOTICES.txt", + "stylecop.analyzers.1.2.0-beta.556.nupkg.sha512", + "stylecop.analyzers.nuspec" + ] + }, + "StyleCop.Analyzers.Unstable/1.2.0.556": { + "sha512": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==", + "type": "package", + "path": "stylecop.analyzers.unstable/1.2.0.556", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "THIRD-PARTY-NOTICES.txt", + "analyzers/dotnet/cs/StyleCop.Analyzers.CodeFixes.dll", + "analyzers/dotnet/cs/StyleCop.Analyzers.dll", + "analyzers/dotnet/cs/de-DE/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/en-GB/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/es-MX/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/fr-FR/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/pl-PL/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/pt-BR/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/ru-RU/StyleCop.Analyzers.resources.dll", + "rulesets/StyleCopAnalyzersDefault.ruleset", + "stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512", + "stylecop.analyzers.unstable.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "System.Buffers/4.6.0": { "sha512": "lN6tZi7Q46zFzAbRYXTIvfXcyvQQgxnY7Xm6C6xQ9784dEL1amjM6S6Iw4ZpsvesAKnRVsM4scrDQaDqSClkjA==", "type": "package", @@ -1964,10 +2141,15 @@ }, "projectFileDependencyGroups": { ".NETStandard,Version=v2.0": [ + "IDisposableAnalyzers >= 4.0.8", "Jellyfin.Sdk >= 2025.10.21", "Microsoft.CodeAnalysis.Analyzers >= 3.11.0", + "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0", "Microsoft.CodeAnalysis.CSharp >= 5.0.0", - "NETStandard.Library >= 2.0.3" + "NETStandard.Library >= 2.0.3", + "SerilogAnalyzer >= 0.15.0", + "SmartAnalyzers.MultithreadingAnalyzer >= 1.1.31", + "StyleCop.Analyzers >= 1.2.0-beta.556" ] }, "packageFolders": { @@ -2027,6 +2209,13 @@ "netstandard2.0": { "targetAlias": "netstandard2.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -2038,6 +2227,13 @@ "version": "[3.11.0, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.CodeAnalysis.CSharp": { "suppressParent": "All", "target": "Package", @@ -2049,6 +2245,24 @@ "target": "Package", "version": "[2.0.3, )", "autoReferenced": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { diff --git a/src/Jellyfin.CodeAnalysis/obj/project.nuget.cache b/src/Jellyfin.CodeAnalysis/obj/project.nuget.cache index 273f9572..7cf6c8b2 100644 --- a/src/Jellyfin.CodeAnalysis/obj/project.nuget.cache +++ b/src/Jellyfin.CodeAnalysis/obj/project.nuget.cache @@ -1,12 +1,14 @@ { "version": 2, - "dgSpecHash": "kDhtP9b7ToA=", + "dgSpecHash": "OZOEm6CP/lY=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj", "expectedPackageFiles": [ + "C:\\Users\\wjones\\.nuget\\packages\\idisposableanalyzers\\4.0.8\\idisposableanalyzers.4.0.8.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\jellyfin.sdk\\2025.10.21\\jellyfin.sdk.2025.10.21.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.bcl.asyncinterfaces\\6.0.0\\microsoft.bcl.asyncinterfaces.6.0.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.analyzers\\3.11.0\\microsoft.codeanalysis.analyzers.3.11.0.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.bannedapianalyzers\\4.14.0\\microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.common\\5.0.0\\microsoft.codeanalysis.common.5.0.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.csharp\\5.0.0\\microsoft.codeanalysis.csharp.5.0.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.kiota.abstractions\\1.20.1\\microsoft.kiota.abstractions.1.20.1.nupkg.sha512", @@ -17,7 +19,11 @@ "C:\\Users\\wjones\\.nuget\\packages\\microsoft.kiota.serialization.text\\1.20.1\\microsoft.kiota.serialization.text.1.20.1.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.netcore.platforms\\1.1.0\\microsoft.netcore.platforms.1.1.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\netstandard.library\\2.0.3\\netstandard.library.2.0.3.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\seriloganalyzer\\0.15.0\\seriloganalyzer.0.15.0.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\smartanalyzers.multithreadinganalyzer\\1.1.31\\smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers\\1.2.0-beta.556\\stylecop.analyzers.1.2.0-beta.556.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers.unstable\\1.2.0.556\\stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\system.buffers\\4.6.0\\system.buffers.4.6.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\system.collections.immutable\\9.0.0\\system.collections.immutable.9.0.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\system.diagnostics.diagnosticsource\\6.0.0\\system.diagnostics.diagnosticsource.6.0.0.nupkg.sha512", diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/obj/Jellyfin.Database.Implementations.csproj.nuget.dgspec.json b/src/Jellyfin.Database/Jellyfin.Database.Implementations/obj/Jellyfin.Database.Implementations.csproj.nuget.dgspec.json index 96efa409..fca497cd 100644 --- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/obj/Jellyfin.Database.Implementations.csproj.nuget.dgspec.json +++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/obj/Jellyfin.Database.Implementations.csproj.nuget.dgspec.json @@ -4,6 +4,216 @@ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": {} }, "projects": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj", + "projectName": "Jellyfin.CodeAnalysis", + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj", + "packagesPath": "C:\\Users\\wjones\\.nuget\\packages\\", + "outputPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\obj\\", + "projectStyle": "PackageReference", + "centralPackageVersionsManagementEnabled": true, + "fallbackFolders": [ + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" + ], + "configFilePaths": [ + "E:\\Projects\\pgsql-jellyfin\\NuGet.Config", + "C:\\Users\\wjones\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + ], + "originalTargetFrameworks": [ + "netstandard2.0" + ], + "sources": { + "C:\\Program Files\\dotnet\\library-packs": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "netstandard2.0": { + "targetAlias": "netstandard2.0", + "projectReferences": {} + } + }, + "warningProperties": { + "allWarningsAsErrors": true, + "warnAsError": [ + "NU1605" + ], + "warnNotAsError": [ + "NU1902", + "NU1903" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + }, + "SdkAnalysisLevel": "11.0.100" + }, + "frameworks": { + "netstandard2.0": { + "targetAlias": "netstandard2.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[3.11.0, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.CSharp": { + "suppressParent": "All", + "target": "Package", + "version": "[5.0.0, )", + "versionCentrallyManaged": true + }, + "NETStandard.Library": { + "suppressParent": "All", + "target": "Package", + "version": "[2.0.3, )", + "autoReferenced": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, + "centralPackageVersions": { + "AsyncKeyedLock": "8.0.2", + "AutoFixture": "4.18.1", + "AutoFixture.AutoMoq": "4.18.1", + "AutoFixture.Xunit2": "4.18.1", + "BDInfo": "0.8.0", + "BitFaster.Caching": "2.5.4", + "BlurHashSharp": "1.4.0-pre.1", + "BlurHashSharp.SkiaSharp": "1.4.0-pre.1", + "CommandLineParser": "2.9.1", + "coverlet.collector": "8.0.0", + "Diacritics": "4.1.4", + "DiscUtils.Udf": "0.16.13", + "DotNet.Glob": "3.1.3", + "FsCheck.Xunit": "3.3.2", + "HarfBuzzSharp.NativeAssets.Linux": "8.3.1.1", + "ICU4N.Transliterator": "60.1.0-alpha.356", + "IDisposableAnalyzers": "4.0.8", + "Ignore": "0.2.1", + "Jellyfin.Sdk": "2025.10.21", + "Jellyfin.XmlTv": "10.8.0", + "libse": "4.0.12", + "LrcParser": "2025.623.0", + "MetaBrainz.MusicBrainz": "8.0.1", + "Microsoft.AspNetCore.Authorization": "11.0.0-preview.1.26104.118", + "Microsoft.AspNetCore.Mvc.Testing": "11.0.0-preview.1.26104.118", + "Microsoft.CodeAnalysis.Analyzers": "3.11.0", + "Microsoft.CodeAnalysis.BannedApiAnalyzers": "4.14.0", + "Microsoft.CodeAnalysis.Common": "5.0.0", + "Microsoft.CodeAnalysis.CSharp": "5.0.0", + "Microsoft.Data.Sqlite": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore.Design": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore.Sqlite": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore.Tools": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Caching.Abstractions": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Caching.Memory": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Configuration.Abstractions": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Configuration.Binder": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.DependencyInjection": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Hosting.Abstractions": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Http": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Options": "11.0.0-preview.1.26104.118", + "Microsoft.NET.Test.Sdk": "18.0.1", + "MimeTypes": "2.5.2", + "Moq": "4.18.4", + "Morestachio": "5.0.1.631", + "NEbml": "1.1.0.5", + "Newtonsoft.Json": "13.0.4", + "Npgsql.EntityFrameworkCore.PostgreSQL": "11.0.0-preview.1", + "PlaylistsNET": "1.4.1", + "Polly": "8.6.5", + "prometheus-net": "8.2.1", + "prometheus-net.AspNetCore": "8.2.1", + "prometheus-net.DotNetRuntime": "4.4.1", + "Serilog.AspNetCore": "10.0.0", + "Serilog.Enrichers.Thread": "4.0.0", + "Serilog.Expressions": "5.0.0", + "Serilog.Settings.Configuration": "10.0.0", + "Serilog.Sinks.Async": "2.1.0", + "Serilog.Sinks.Console": "6.1.1", + "Serilog.Sinks.File": "7.0.0", + "Serilog.Sinks.Graylog": "3.1.1", + "SerilogAnalyzer": "0.15.0", + "SharpFuzz": "2.2.0", + "SkiaSharp": "[3.116.1]", + "SkiaSharp.HarfBuzz": "[3.116.1]", + "SkiaSharp.NativeAssets.Linux": "[3.116.1]", + "SmartAnalyzers.MultithreadingAnalyzer": "1.1.31", + "StyleCop.Analyzers": "1.2.0-beta.556", + "Svg.Skia": "3.4.1", + "Swashbuckle.AspNetCore": "7.3.2", + "Swashbuckle.AspNetCore.ReDoc": "6.9.0", + "System.Text.Json": "11.0.0-preview.1.26104.118", + "TagLibSharp": "2.3.0", + "TMDbLib": "2.3.0", + "UTF.Unknown": "2.6.0", + "xunit": "2.9.3", + "Xunit.Priority": "1.1.6", + "xunit.runner.visualstudio": "2.8.2", + "Xunit.SkippableFact": "1.5.61", + "z440.atl.core": "7.11.0" + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\11.0.100-preview.1.26104.118\\RuntimeIdentifierGraph.json" + } + } + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "version": "10.11.0", "restore": { @@ -33,7 +243,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -57,6 +271,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -80,6 +308,24 @@ "target": "Package", "version": "[8.6.5, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/obj/Jellyfin.Database.Implementations.csproj.nuget.g.props b/src/Jellyfin.Database/Jellyfin.Database.Implementations/obj/Jellyfin.Database.Implementations.csproj.nuget.g.props index 3fe53b86..f8be4655 100644 --- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/obj/Jellyfin.Database.Implementations.csproj.nuget.g.props +++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/obj/Jellyfin.Database.Implementations.csproj.nuget.g.props @@ -17,9 +17,15 @@ + + C:\Users\wjones\.nuget\packages\stylecop.analyzers.unstable\1.2.0.556 + C:\Users\wjones\.nuget\packages\smartanalyzers.multithreadinganalyzer\1.1.31 + C:\Users\wjones\.nuget\packages\seriloganalyzer\0.15.0 C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.analyzers\3.11.0 C:\Users\wjones\.nuget\packages\microsoft.entityframeworkcore.tools\11.0.0-preview.1.26104.118 + C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.bannedapianalyzers\4.14.0 + C:\Users\wjones\.nuget\packages\idisposableanalyzers\4.0.8 \ No newline at end of file diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/obj/Jellyfin.Database.Implementations.csproj.nuget.g.targets b/src/Jellyfin.Database/Jellyfin.Database.Implementations/obj/Jellyfin.Database.Implementations.csproj.nuget.g.targets index 10221349..ba433888 100644 --- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/obj/Jellyfin.Database.Implementations.csproj.nuget.g.targets +++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/obj/Jellyfin.Database.Implementations.csproj.nuget.g.targets @@ -5,5 +5,6 @@ + \ No newline at end of file diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/obj/project.assets.json b/src/Jellyfin.Database/Jellyfin.Database.Implementations/obj/project.assets.json index 5b031f4e..a6bb52b8 100644 --- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/obj/project.assets.json +++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/obj/project.assets.json @@ -15,6 +15,30 @@ } } }, + "IDisposableAnalyzers/4.0.8": { + "type": "package" + }, + "Jellyfin.Sdk/2025.10.21": { + "type": "package", + "dependencies": { + "Microsoft.Kiota.Abstractions": "1.20.1", + "Microsoft.Kiota.Http.HttpClientLibrary": "1.20.1", + "Microsoft.Kiota.Serialization.Form": "1.20.1", + "Microsoft.Kiota.Serialization.Json": "1.20.1", + "Microsoft.Kiota.Serialization.Multipart": "1.20.1", + "Microsoft.Kiota.Serialization.Text": "1.20.1" + }, + "compile": { + "lib/net8.0/Jellyfin.Sdk.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Jellyfin.Sdk.dll": { + "related": ".xml" + } + } + }, "Microsoft.Build.Framework/18.0.2": { "type": "package", "compile": { @@ -35,6 +59,13 @@ "buildTransitive/Microsoft.CodeAnalysis.Analyzers.targets": {} } }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": { + "type": "package", + "build": { + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props": {}, + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets": {} + } + }, "Microsoft.CodeAnalysis.Common/5.0.0": { "type": "package", "dependencies": { @@ -627,6 +658,102 @@ "buildTransitive/net10.0/_._": {} } }, + "Microsoft.Kiota.Abstractions/1.20.1": { + "type": "package", + "dependencies": { + "Std.UriTemplate": "2.0.5" + }, + "compile": { + "lib/net8.0/Microsoft.Kiota.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Kiota.Abstractions.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Kiota.Http.HttpClientLibrary/1.20.1": { + "type": "package", + "dependencies": { + "Microsoft.Kiota.Abstractions": "1.20.1" + }, + "compile": { + "lib/net8.0/Microsoft.Kiota.Http.HttpClientLibrary.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Kiota.Http.HttpClientLibrary.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Kiota.Serialization.Form/1.20.1": { + "type": "package", + "dependencies": { + "Microsoft.Kiota.Abstractions": "1.20.1" + }, + "compile": { + "lib/net8.0/Microsoft.Kiota.Serialization.Form.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Kiota.Serialization.Form.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Kiota.Serialization.Json/1.20.1": { + "type": "package", + "dependencies": { + "Microsoft.Kiota.Abstractions": "1.20.1" + }, + "compile": { + "lib/net8.0/Microsoft.Kiota.Serialization.Json.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Kiota.Serialization.Json.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Kiota.Serialization.Multipart/1.20.1": { + "type": "package", + "dependencies": { + "Microsoft.Kiota.Abstractions": "1.20.1" + }, + "compile": { + "lib/net8.0/Microsoft.Kiota.Serialization.Multipart.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Kiota.Serialization.Multipart.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Kiota.Serialization.Text/1.20.1": { + "type": "package", + "dependencies": { + "Microsoft.Kiota.Abstractions": "1.20.1" + }, + "compile": { + "lib/net8.0/Microsoft.Kiota.Serialization.Text.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.Kiota.Serialization.Text.dll": { + "related": ".xml" + } + } + }, "Microsoft.VisualStudio.SolutionPersistence/1.0.52": { "type": "package", "compile": { @@ -697,6 +824,30 @@ } } }, + "SerilogAnalyzer/0.15.0": { + "type": "package" + }, + "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": { + "type": "package" + }, + "Std.UriTemplate/2.0.5": { + "type": "package", + "compile": { + "lib/net5.0/Std.UriTemplate.dll": {} + }, + "runtime": { + "lib/net5.0/Std.UriTemplate.dll": {} + } + }, + "StyleCop.Analyzers/1.2.0-beta.556": { + "type": "package", + "dependencies": { + "StyleCop.Analyzers.Unstable": "1.2.0.556" + } + }, + "StyleCop.Analyzers.Unstable/1.2.0.556": { + "type": "package" + }, "System.CodeDom/6.0.0": { "type": "package", "compile": { @@ -822,6 +973,19 @@ "build": { "buildTransitive/net8.0/_._": {} } + }, + "Jellyfin.CodeAnalysis/1.0.0": { + "type": "project", + "framework": ".NETStandard,Version=v2.0", + "dependencies": { + "Jellyfin.Sdk": "2025.10.21" + }, + "compile": { + "bin/placeholder/Jellyfin.CodeAnalysis.dll": {} + }, + "runtime": { + "bin/placeholder/Jellyfin.CodeAnalysis.dll": {} + } } } }, @@ -847,6 +1011,40 @@ "logo.png" ] }, + "IDisposableAnalyzers/4.0.8": { + "sha512": "vNi4NMG0CcJyjXxiNDcQ21FwV/whM9o9OEZKD+oP7tuxAqFEzX/x5OhC3OZJqW/w+8GOtCmJPBquYgMWgz0rfQ==", + "type": "package", + "path": "idisposableanalyzers/4.0.8", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/IDisposableAnalyzers.dll", + "idisposableanalyzers.4.0.8.nupkg.sha512", + "idisposableanalyzers.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, + "Jellyfin.Sdk/2025.10.21": { + "sha512": "1pG60suEiV3v77zqLd5fO9S8m8qryxj9mZYb24Me1XgSXlaCIt0SC1V1sbFKyoG70Q3n915wT4Ko4BUanorRug==", + "type": "package", + "path": "jellyfin.sdk/2025.10.21", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "jellyfin.sdk.2025.10.21.nupkg.sha512", + "jellyfin.sdk.nuspec", + "lib/net6.0/Jellyfin.Sdk.dll", + "lib/net6.0/Jellyfin.Sdk.xml", + "lib/net8.0/Jellyfin.Sdk.dll", + "lib/net8.0/Jellyfin.Sdk.xml", + "lib/netstandard2.0/Jellyfin.Sdk.dll", + "lib/netstandard2.0/Jellyfin.Sdk.xml", + "lib/netstandard2.1/Jellyfin.Sdk.dll", + "lib/netstandard2.1/Jellyfin.Sdk.xml" + ] + }, "Microsoft.Build.Framework/18.0.2": { "sha512": "sOSb+0J4G/jCBW/YqmRuL0eOMXgfw1KQLdC9TkbvfA5xs7uNm+PBQXJCOzSJGXtZcZrtXozcwxPmUiRUbmd7FA==", "type": "package", @@ -1575,6 +1773,74 @@ "tools/uninstall.ps1" ] }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": { + "sha512": "gSWJlDWwmDhtbrEJGiHqvEjz9KthIiFD0qYB8zZ6a7z+xpMSPEtM9yTYELSa58iFWYlzSRqP9FXO6KoT3+ZMtg==", + "type": "package", + "path": "microsoft.codeanalysis.bannedapianalyzers/4.14.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "ThirdPartyNotices.txt", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.BannedApiAnalyzers.dll", + "analyzers/dotnet/cs/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.BannedApiAnalyzers.dll", + "analyzers/dotnet/vb/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props", + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets", + "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.md", + "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.sarif", + "editorconfig/AllRulesDefault/.editorconfig", + "editorconfig/AllRulesDisabled/.editorconfig", + "editorconfig/AllRulesEnabled/.editorconfig", + "editorconfig/ApiDesignRulesDefault/.editorconfig", + "editorconfig/ApiDesignRulesEnabled/.editorconfig", + "editorconfig/DataflowRulesDefault/.editorconfig", + "editorconfig/DataflowRulesEnabled/.editorconfig", + "editorconfig/PortedFromFxCopRulesDefault/.editorconfig", + "editorconfig/PortedFromFxCopRulesEnabled/.editorconfig", + "microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512", + "microsoft.codeanalysis.bannedapianalyzers.nuspec", + "rulesets/AllRulesDefault.ruleset", + "rulesets/AllRulesDisabled.ruleset", + "rulesets/AllRulesEnabled.ruleset", + "rulesets/ApiDesignRulesDefault.ruleset", + "rulesets/ApiDesignRulesEnabled.ruleset", + "rulesets/DataflowRulesDefault.ruleset", + "rulesets/DataflowRulesEnabled.ruleset", + "rulesets/PortedFromFxCopRulesDefault.ruleset", + "rulesets/PortedFromFxCopRulesEnabled.ruleset", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Microsoft.CodeAnalysis.Common/5.0.0": { "sha512": "ZXRAdvH6GiDeHRyd3q/km8Z44RoM6FBWHd+gen/la81mVnAdHTEsEkO5J0TCNXBymAcx5UYKt5TvgKBhaLJEow==", "type": "package", @@ -2365,6 +2631,142 @@ "useSharedDesignerContext.txt" ] }, + "Microsoft.Kiota.Abstractions/1.20.1": { + "sha512": "bv1n2gnxA/O+1a26h3YB6bgcc3ZSLCjRumMh7sVkFmksLaVonhcrJpUrEtBlnnYPrnHwzm/1BYQnYjCVG7A+fA==", + "type": "package", + "path": "microsoft.kiota.abstractions/1.20.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "README.md", + "lib/net5.0/Microsoft.Kiota.Abstractions.dll", + "lib/net5.0/Microsoft.Kiota.Abstractions.xml", + "lib/net6.0/Microsoft.Kiota.Abstractions.dll", + "lib/net6.0/Microsoft.Kiota.Abstractions.xml", + "lib/net8.0/Microsoft.Kiota.Abstractions.dll", + "lib/net8.0/Microsoft.Kiota.Abstractions.xml", + "lib/netstandard2.0/Microsoft.Kiota.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Kiota.Abstractions.xml", + "lib/netstandard2.1/Microsoft.Kiota.Abstractions.dll", + "lib/netstandard2.1/Microsoft.Kiota.Abstractions.xml", + "microsoft.kiota.abstractions.1.20.1.nupkg.sha512", + "microsoft.kiota.abstractions.nuspec" + ] + }, + "Microsoft.Kiota.Http.HttpClientLibrary/1.20.1": { + "sha512": "pQzs+9n3QAG/FKFwgIaRE0EqOXfW3rWliOdk9XZbghyRdeAtiQjSbJbpascdZlf7uatLpPYA145q6MYpLxvsgA==", + "type": "package", + "path": "microsoft.kiota.http.httpclientlibrary/1.20.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "README.md", + "lib/net462/Microsoft.Kiota.Http.HttpClientLibrary.dll", + "lib/net462/Microsoft.Kiota.Http.HttpClientLibrary.xml", + "lib/net5.0/Microsoft.Kiota.Http.HttpClientLibrary.dll", + "lib/net5.0/Microsoft.Kiota.Http.HttpClientLibrary.xml", + "lib/net6.0/Microsoft.Kiota.Http.HttpClientLibrary.dll", + "lib/net6.0/Microsoft.Kiota.Http.HttpClientLibrary.xml", + "lib/net8.0-browser1.0/Microsoft.Kiota.Http.HttpClientLibrary.dll", + "lib/net8.0-browser1.0/Microsoft.Kiota.Http.HttpClientLibrary.xml", + "lib/net8.0/Microsoft.Kiota.Http.HttpClientLibrary.dll", + "lib/net8.0/Microsoft.Kiota.Http.HttpClientLibrary.xml", + "lib/netstandard2.0/Microsoft.Kiota.Http.HttpClientLibrary.dll", + "lib/netstandard2.0/Microsoft.Kiota.Http.HttpClientLibrary.xml", + "lib/netstandard2.1/Microsoft.Kiota.Http.HttpClientLibrary.dll", + "lib/netstandard2.1/Microsoft.Kiota.Http.HttpClientLibrary.xml", + "microsoft.kiota.http.httpclientlibrary.1.20.1.nupkg.sha512", + "microsoft.kiota.http.httpclientlibrary.nuspec" + ] + }, + "Microsoft.Kiota.Serialization.Form/1.20.1": { + "sha512": "n7izb8GZSoatmFSpMaHmh78U3oW+YdYb2gDwhkG86COHuiGWV9s0BKBeUlFakAV00CDwaH9iFqxCQ0veYVkG1A==", + "type": "package", + "path": "microsoft.kiota.serialization.form/1.20.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "README.md", + "lib/net5.0/Microsoft.Kiota.Serialization.Form.dll", + "lib/net5.0/Microsoft.Kiota.Serialization.Form.xml", + "lib/net6.0/Microsoft.Kiota.Serialization.Form.dll", + "lib/net6.0/Microsoft.Kiota.Serialization.Form.xml", + "lib/net8.0/Microsoft.Kiota.Serialization.Form.dll", + "lib/net8.0/Microsoft.Kiota.Serialization.Form.xml", + "lib/netstandard2.0/Microsoft.Kiota.Serialization.Form.dll", + "lib/netstandard2.0/Microsoft.Kiota.Serialization.Form.xml", + "lib/netstandard2.1/Microsoft.Kiota.Serialization.Form.dll", + "lib/netstandard2.1/Microsoft.Kiota.Serialization.Form.xml", + "microsoft.kiota.serialization.form.1.20.1.nupkg.sha512", + "microsoft.kiota.serialization.form.nuspec" + ] + }, + "Microsoft.Kiota.Serialization.Json/1.20.1": { + "sha512": "4MumZe45DI/o1YP+hq7wyArOHDhjkSiu14ysN4xWKe6vwlu43BUYydA/yT0CtjoPwbFW/6jfx/NVSvM3DzBzbg==", + "type": "package", + "path": "microsoft.kiota.serialization.json/1.20.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "README.md", + "lib/net5.0/Microsoft.Kiota.Serialization.Json.dll", + "lib/net5.0/Microsoft.Kiota.Serialization.Json.xml", + "lib/net6.0/Microsoft.Kiota.Serialization.Json.dll", + "lib/net6.0/Microsoft.Kiota.Serialization.Json.xml", + "lib/net8.0/Microsoft.Kiota.Serialization.Json.dll", + "lib/net8.0/Microsoft.Kiota.Serialization.Json.xml", + "lib/netstandard2.0/Microsoft.Kiota.Serialization.Json.dll", + "lib/netstandard2.0/Microsoft.Kiota.Serialization.Json.xml", + "lib/netstandard2.1/Microsoft.Kiota.Serialization.Json.dll", + "lib/netstandard2.1/Microsoft.Kiota.Serialization.Json.xml", + "microsoft.kiota.serialization.json.1.20.1.nupkg.sha512", + "microsoft.kiota.serialization.json.nuspec" + ] + }, + "Microsoft.Kiota.Serialization.Multipart/1.20.1": { + "sha512": "tP7ZxA1zsIi3FE8CHwfA5JnzlW1NYld+LpFihFq+S7IXFDv1x37I968lPKGIdEpWW9vWacuqDQVKIyJiKZ257A==", + "type": "package", + "path": "microsoft.kiota.serialization.multipart/1.20.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "README.md", + "lib/net5.0/Microsoft.Kiota.Serialization.Multipart.dll", + "lib/net5.0/Microsoft.Kiota.Serialization.Multipart.xml", + "lib/net6.0/Microsoft.Kiota.Serialization.Multipart.dll", + "lib/net6.0/Microsoft.Kiota.Serialization.Multipart.xml", + "lib/net8.0/Microsoft.Kiota.Serialization.Multipart.dll", + "lib/net8.0/Microsoft.Kiota.Serialization.Multipart.xml", + "lib/netstandard2.0/Microsoft.Kiota.Serialization.Multipart.dll", + "lib/netstandard2.0/Microsoft.Kiota.Serialization.Multipart.xml", + "lib/netstandard2.1/Microsoft.Kiota.Serialization.Multipart.dll", + "lib/netstandard2.1/Microsoft.Kiota.Serialization.Multipart.xml", + "microsoft.kiota.serialization.multipart.1.20.1.nupkg.sha512", + "microsoft.kiota.serialization.multipart.nuspec" + ] + }, + "Microsoft.Kiota.Serialization.Text/1.20.1": { + "sha512": "Cue4l9AeU0WgL2CdUW8K58BMwQOyiHgT7aCov2qGEKpmpeWQj7cmAWCgxDfPHYPkZtz1Ccbrw4/6KrDgCmrC3Q==", + "type": "package", + "path": "microsoft.kiota.serialization.text/1.20.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "README.md", + "lib/net5.0/Microsoft.Kiota.Serialization.Text.dll", + "lib/net5.0/Microsoft.Kiota.Serialization.Text.xml", + "lib/net6.0/Microsoft.Kiota.Serialization.Text.dll", + "lib/net6.0/Microsoft.Kiota.Serialization.Text.xml", + "lib/net8.0/Microsoft.Kiota.Serialization.Text.dll", + "lib/net8.0/Microsoft.Kiota.Serialization.Text.xml", + "lib/netstandard2.0/Microsoft.Kiota.Serialization.Text.dll", + "lib/netstandard2.0/Microsoft.Kiota.Serialization.Text.xml", + "lib/netstandard2.1/Microsoft.Kiota.Serialization.Text.dll", + "lib/netstandard2.1/Microsoft.Kiota.Serialization.Text.xml", + "microsoft.kiota.serialization.text.1.20.1.nupkg.sha512", + "microsoft.kiota.serialization.text.nuspec" + ] + }, "Microsoft.VisualStudio.SolutionPersistence/1.0.52": { "sha512": "oNv2JtYXhpdJrX63nibx1JT3uCESOBQ1LAk7Dtz/sr0+laW0KRM6eKp4CZ3MHDR2siIkKsY8MmUkeP5DKkQQ5w==", "type": "package", @@ -2485,6 +2887,89 @@ "polly.core.nuspec" ] }, + "SerilogAnalyzer/0.15.0": { + "sha512": "sVpwfls4MfNnwIXLSGCgaUnV+c9kgJ8ia6GsyRcpd4Vs3gLogSDtSYBYrre2K2u/PNMo8GgG09RehwVnze70Tw==", + "type": "package", + "path": "seriloganalyzer/0.15.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/SerilogAnalyzer.dll", + "seriloganalyzer.0.15.0.nupkg.sha512", + "seriloganalyzer.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, + "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": { + "sha512": "2f2k7bbhDd132ArglCKpzKoWBcp3uzbIFcb4aosnlqIKlfYKDE2HevBVRNVa+LkWFnjXFFWs47Bo96fu8iS//Q==", + "type": "package", + "path": "smartanalyzers.multithreadinganalyzer/1.1.31", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/SmartAnalyzers.MultithreadingAnalyzer.dll", + "smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512", + "smartanalyzers.multithreadinganalyzer.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, + "Std.UriTemplate/2.0.5": { + "sha512": "PtqPdWNBObRcDHjyjbgOz2XoCJQaiA+HNDPQve/O7yGCkospfHDCuH9ULVx1msImwHHG+uhpDjiZX7bpLN/cnw==", + "type": "package", + "path": "std.uritemplate/2.0.5", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Readme.md", + "lib/net5.0/Std.UriTemplate.dll", + "lib/netstandard2.0/Std.UriTemplate.dll", + "std.uritemplate.2.0.5.nupkg.sha512", + "std.uritemplate.nuspec" + ] + }, + "StyleCop.Analyzers/1.2.0-beta.556": { + "sha512": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==", + "type": "package", + "path": "stylecop.analyzers/1.2.0-beta.556", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "THIRD-PARTY-NOTICES.txt", + "stylecop.analyzers.1.2.0-beta.556.nupkg.sha512", + "stylecop.analyzers.nuspec" + ] + }, + "StyleCop.Analyzers.Unstable/1.2.0.556": { + "sha512": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==", + "type": "package", + "path": "stylecop.analyzers.unstable/1.2.0.556", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "THIRD-PARTY-NOTICES.txt", + "analyzers/dotnet/cs/StyleCop.Analyzers.CodeFixes.dll", + "analyzers/dotnet/cs/StyleCop.Analyzers.dll", + "analyzers/dotnet/cs/de-DE/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/en-GB/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/es-MX/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/fr-FR/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/pl-PL/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/pt-BR/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/ru-RU/StyleCop.Analyzers.resources.dll", + "rulesets/StyleCopAnalyzersDefault.ruleset", + "stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512", + "stylecop.analyzers.unstable.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "System.CodeDom/6.0.0": { "sha512": "CPc6tWO1LAer3IzfZufDBRL+UZQcj5uS207NHALQzP84Vp/z6wF0Aa0YZImOQY8iStY0A2zI/e3ihKNPfUm8XA==", "type": "package", @@ -2670,14 +3155,25 @@ "system.composition.typedparts.nuspec", "useSharedDesignerContext.txt" ] + }, + "Jellyfin.CodeAnalysis/1.0.0": { + "type": "project", + "path": "../../Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj", + "msbuildProject": "../../Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj" } }, "projectFileDependencyGroups": { "net11.0": [ + "IDisposableAnalyzers >= 4.0.8", + "Jellyfin.CodeAnalysis >= 1.0.0", + "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0", "Microsoft.EntityFrameworkCore.Design >= 11.0.0-preview.1.26104.118", "Microsoft.EntityFrameworkCore.Relational >= 11.0.0-preview.1.26104.118", "Microsoft.EntityFrameworkCore.Tools >= 11.0.0-preview.1.26104.118", - "Polly >= 8.6.5" + "Polly >= 8.6.5", + "SerilogAnalyzer >= 0.15.0", + "SmartAnalyzers.MultithreadingAnalyzer >= 1.1.31", + "StyleCop.Analyzers >= 1.2.0-beta.556" ] }, "packageFolders": { @@ -2713,7 +3209,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -2737,6 +3237,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -2760,6 +3274,24 @@ "target": "Package", "version": "[8.6.5, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/obj/project.nuget.cache b/src/Jellyfin.Database/Jellyfin.Database.Implementations/obj/project.nuget.cache index dd02443c..f5ae8bfc 100644 --- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/obj/project.nuget.cache +++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/obj/project.nuget.cache @@ -1,12 +1,15 @@ { "version": 2, - "dgSpecHash": "7telsQPsri4=", + "dgSpecHash": "wWhRHr+gc4I=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj", "expectedPackageFiles": [ "C:\\Users\\wjones\\.nuget\\packages\\humanizer.core\\3.0.1\\humanizer.core.3.0.1.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\idisposableanalyzers\\4.0.8\\idisposableanalyzers.4.0.8.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\jellyfin.sdk\\2025.10.21\\jellyfin.sdk.2025.10.21.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.build.framework\\18.0.2\\microsoft.build.framework.18.0.2.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.analyzers\\3.11.0\\microsoft.codeanalysis.analyzers.3.11.0.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.bannedapianalyzers\\4.14.0\\microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.common\\5.0.0\\microsoft.codeanalysis.common.5.0.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.csharp\\5.0.0\\microsoft.codeanalysis.csharp.5.0.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.csharp.workspaces\\5.0.0\\microsoft.codeanalysis.csharp.workspaces.5.0.0.nupkg.sha512", @@ -28,11 +31,22 @@ "C:\\Users\\wjones\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\11.0.0-preview.1.26104.118\\microsoft.extensions.logging.abstractions.11.0.0-preview.1.26104.118.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.extensions.options\\11.0.0-preview.1.26104.118\\microsoft.extensions.options.11.0.0-preview.1.26104.118.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.extensions.primitives\\11.0.0-preview.1.26104.118\\microsoft.extensions.primitives.11.0.0-preview.1.26104.118.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\microsoft.kiota.abstractions\\1.20.1\\microsoft.kiota.abstractions.1.20.1.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\microsoft.kiota.http.httpclientlibrary\\1.20.1\\microsoft.kiota.http.httpclientlibrary.1.20.1.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\microsoft.kiota.serialization.form\\1.20.1\\microsoft.kiota.serialization.form.1.20.1.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\microsoft.kiota.serialization.json\\1.20.1\\microsoft.kiota.serialization.json.1.20.1.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\microsoft.kiota.serialization.multipart\\1.20.1\\microsoft.kiota.serialization.multipart.1.20.1.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\microsoft.kiota.serialization.text\\1.20.1\\microsoft.kiota.serialization.text.1.20.1.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.visualstudio.solutionpersistence\\1.0.52\\microsoft.visualstudio.solutionpersistence.1.0.52.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\mono.texttemplating\\3.0.0\\mono.texttemplating.3.0.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\newtonsoft.json\\13.0.3\\newtonsoft.json.13.0.3.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\polly\\8.6.5\\polly.8.6.5.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\polly.core\\8.6.5\\polly.core.8.6.5.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\seriloganalyzer\\0.15.0\\seriloganalyzer.0.15.0.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\smartanalyzers.multithreadinganalyzer\\1.1.31\\smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers\\1.2.0-beta.556\\stylecop.analyzers.1.2.0-beta.556.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers.unstable\\1.2.0.556\\stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\system.codedom\\6.0.0\\system.codedom.6.0.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\system.composition\\9.0.0\\system.composition.9.0.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\system.composition.attributedmodel\\9.0.0\\system.composition.attributedmodel.9.0.0.nupkg.sha512", diff --git a/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/obj/Jellyfin.Database.Providers.Sqlite.csproj.nuget.dgspec.json b/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/obj/Jellyfin.Database.Providers.Sqlite.csproj.nuget.dgspec.json index cd4323cb..9cb0bd7d 100644 --- a/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/obj/Jellyfin.Database.Providers.Sqlite.csproj.nuget.dgspec.json +++ b/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/obj/Jellyfin.Database.Providers.Sqlite.csproj.nuget.dgspec.json @@ -34,6 +34,9 @@ "net11.0": { "targetAlias": "net11.0", "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -61,10 +64,47 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Logging": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -479,6 +519,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -503,6 +546,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -1060,6 +1142,9 @@ "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj" } @@ -1087,17 +1172,49 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "MimeTypes": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", "target": "Package", "version": "[2.5.2, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -1624,6 +1741,216 @@ } } }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj", + "projectName": "Jellyfin.CodeAnalysis", + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj", + "packagesPath": "C:\\Users\\wjones\\.nuget\\packages\\", + "outputPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\obj\\", + "projectStyle": "PackageReference", + "centralPackageVersionsManagementEnabled": true, + "fallbackFolders": [ + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" + ], + "configFilePaths": [ + "E:\\Projects\\pgsql-jellyfin\\NuGet.Config", + "C:\\Users\\wjones\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + ], + "originalTargetFrameworks": [ + "netstandard2.0" + ], + "sources": { + "C:\\Program Files\\dotnet\\library-packs": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "netstandard2.0": { + "targetAlias": "netstandard2.0", + "projectReferences": {} + } + }, + "warningProperties": { + "allWarningsAsErrors": true, + "warnAsError": [ + "NU1605" + ], + "warnNotAsError": [ + "NU1902", + "NU1903" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + }, + "SdkAnalysisLevel": "11.0.100" + }, + "frameworks": { + "netstandard2.0": { + "targetAlias": "netstandard2.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[3.11.0, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.CSharp": { + "suppressParent": "All", + "target": "Package", + "version": "[5.0.0, )", + "versionCentrallyManaged": true + }, + "NETStandard.Library": { + "suppressParent": "All", + "target": "Package", + "version": "[2.0.3, )", + "autoReferenced": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, + "centralPackageVersions": { + "AsyncKeyedLock": "8.0.2", + "AutoFixture": "4.18.1", + "AutoFixture.AutoMoq": "4.18.1", + "AutoFixture.Xunit2": "4.18.1", + "BDInfo": "0.8.0", + "BitFaster.Caching": "2.5.4", + "BlurHashSharp": "1.4.0-pre.1", + "BlurHashSharp.SkiaSharp": "1.4.0-pre.1", + "CommandLineParser": "2.9.1", + "coverlet.collector": "8.0.0", + "Diacritics": "4.1.4", + "DiscUtils.Udf": "0.16.13", + "DotNet.Glob": "3.1.3", + "FsCheck.Xunit": "3.3.2", + "HarfBuzzSharp.NativeAssets.Linux": "8.3.1.1", + "ICU4N.Transliterator": "60.1.0-alpha.356", + "IDisposableAnalyzers": "4.0.8", + "Ignore": "0.2.1", + "Jellyfin.Sdk": "2025.10.21", + "Jellyfin.XmlTv": "10.8.0", + "libse": "4.0.12", + "LrcParser": "2025.623.0", + "MetaBrainz.MusicBrainz": "8.0.1", + "Microsoft.AspNetCore.Authorization": "11.0.0-preview.1.26104.118", + "Microsoft.AspNetCore.Mvc.Testing": "11.0.0-preview.1.26104.118", + "Microsoft.CodeAnalysis.Analyzers": "3.11.0", + "Microsoft.CodeAnalysis.BannedApiAnalyzers": "4.14.0", + "Microsoft.CodeAnalysis.Common": "5.0.0", + "Microsoft.CodeAnalysis.CSharp": "5.0.0", + "Microsoft.Data.Sqlite": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore.Design": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore.Sqlite": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore.Tools": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Caching.Abstractions": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Caching.Memory": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Configuration.Abstractions": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Configuration.Binder": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.DependencyInjection": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Hosting.Abstractions": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Http": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Options": "11.0.0-preview.1.26104.118", + "Microsoft.NET.Test.Sdk": "18.0.1", + "MimeTypes": "2.5.2", + "Moq": "4.18.4", + "Morestachio": "5.0.1.631", + "NEbml": "1.1.0.5", + "Newtonsoft.Json": "13.0.4", + "Npgsql.EntityFrameworkCore.PostgreSQL": "11.0.0-preview.1", + "PlaylistsNET": "1.4.1", + "Polly": "8.6.5", + "prometheus-net": "8.2.1", + "prometheus-net.AspNetCore": "8.2.1", + "prometheus-net.DotNetRuntime": "4.4.1", + "Serilog.AspNetCore": "10.0.0", + "Serilog.Enrichers.Thread": "4.0.0", + "Serilog.Expressions": "5.0.0", + "Serilog.Settings.Configuration": "10.0.0", + "Serilog.Sinks.Async": "2.1.0", + "Serilog.Sinks.Console": "6.1.1", + "Serilog.Sinks.File": "7.0.0", + "Serilog.Sinks.Graylog": "3.1.1", + "SerilogAnalyzer": "0.15.0", + "SharpFuzz": "2.2.0", + "SkiaSharp": "[3.116.1]", + "SkiaSharp.HarfBuzz": "[3.116.1]", + "SkiaSharp.NativeAssets.Linux": "[3.116.1]", + "SmartAnalyzers.MultithreadingAnalyzer": "1.1.31", + "StyleCop.Analyzers": "1.2.0-beta.556", + "Svg.Skia": "3.4.1", + "Swashbuckle.AspNetCore": "7.3.2", + "Swashbuckle.AspNetCore.ReDoc": "6.9.0", + "System.Text.Json": "11.0.0-preview.1.26104.118", + "TagLibSharp": "2.3.0", + "TMDbLib": "2.3.0", + "UTF.Unknown": "2.6.0", + "xunit": "2.9.3", + "Xunit.Priority": "1.1.6", + "xunit.runner.visualstudio": "2.8.2", + "Xunit.SkippableFact": "1.5.61", + "z440.atl.core": "7.11.0" + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\11.0.100-preview.1.26104.118\\RuntimeIdentifierGraph.json" + } + } + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "version": "10.11.0", "restore": { @@ -1653,7 +1980,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -1677,6 +2008,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -1700,6 +2045,24 @@ "target": "Package", "version": "[8.6.5, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -2115,6 +2478,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -2142,6 +2508,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -2165,6 +2545,24 @@ "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -2576,7 +2974,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -2613,10 +3015,42 @@ "version": "[60.1.0-alpha.356, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { diff --git a/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/obj/Jellyfin.Database.Providers.Sqlite.csproj.nuget.g.props b/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/obj/Jellyfin.Database.Providers.Sqlite.csproj.nuget.g.props index 3fe53b86..f8be4655 100644 --- a/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/obj/Jellyfin.Database.Providers.Sqlite.csproj.nuget.g.props +++ b/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/obj/Jellyfin.Database.Providers.Sqlite.csproj.nuget.g.props @@ -17,9 +17,15 @@ + + C:\Users\wjones\.nuget\packages\stylecop.analyzers.unstable\1.2.0.556 + C:\Users\wjones\.nuget\packages\smartanalyzers.multithreadinganalyzer\1.1.31 + C:\Users\wjones\.nuget\packages\seriloganalyzer\0.15.0 C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.analyzers\3.11.0 C:\Users\wjones\.nuget\packages\microsoft.entityframeworkcore.tools\11.0.0-preview.1.26104.118 + C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.bannedapianalyzers\4.14.0 + C:\Users\wjones\.nuget\packages\idisposableanalyzers\4.0.8 \ No newline at end of file diff --git a/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/obj/Jellyfin.Database.Providers.Sqlite.csproj.nuget.g.targets b/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/obj/Jellyfin.Database.Providers.Sqlite.csproj.nuget.g.targets index bb9c164d..2ef0eb4f 100644 --- a/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/obj/Jellyfin.Database.Providers.Sqlite.csproj.nuget.g.targets +++ b/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/obj/Jellyfin.Database.Providers.Sqlite.csproj.nuget.g.targets @@ -6,5 +6,6 @@ + \ No newline at end of file diff --git a/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/obj/project.assets.json b/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/obj/project.assets.json index 238f0d82..61517c2c 100644 --- a/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/obj/project.assets.json +++ b/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/obj/project.assets.json @@ -61,6 +61,9 @@ } } }, + "IDisposableAnalyzers/4.0.8": { + "type": "package" + }, "J2N/2.0.0": { "type": "package", "compile": { @@ -115,6 +118,13 @@ "buildTransitive/Microsoft.CodeAnalysis.Analyzers.targets": {} } }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": { + "type": "package", + "build": { + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props": {}, + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets": {} + } + }, "Microsoft.CodeAnalysis.Common/5.0.0": { "type": "package", "dependencies": { @@ -929,6 +939,12 @@ } } }, + "SerilogAnalyzer/0.15.0": { + "type": "package" + }, + "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": { + "type": "package" + }, "SourceGear.sqlite3/3.50.4.2": { "type": "package", "compile": { @@ -1116,6 +1132,15 @@ "lib/net5.0/Std.UriTemplate.dll": {} } }, + "StyleCop.Analyzers/1.2.0-beta.556": { + "type": "package", + "dependencies": { + "StyleCop.Analyzers.Unstable": "1.2.0.556" + } + }, + "StyleCop.Analyzers.Unstable/1.2.0.556": { + "type": "package" + }, "System.CodeDom/6.0.0": { "type": "package", "compile": { @@ -1242,11 +1267,26 @@ "buildTransitive/net8.0/_._": {} } }, + "Jellyfin.CodeAnalysis/1.0.0": { + "type": "project", + "framework": ".NETStandard,Version=v2.0", + "dependencies": { + "Jellyfin.Sdk": "2025.10.21" + }, + "compile": { + "bin/placeholder/Jellyfin.CodeAnalysis.dll": {} + }, + "runtime": { + "bin/placeholder/Jellyfin.CodeAnalysis.dll": {} + } + }, "Jellyfin.Common/10.12.0": { "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { - "Jellyfin.Model": "10.12.0" + "Jellyfin.CodeAnalysis": "1.0.0", + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Common.dll": {} @@ -1262,7 +1302,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Database.Implementations": "10.11.0", + "Jellyfin.Sdk": "2025.10.21", "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118" }, "compile": { @@ -1276,6 +1318,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", "Polly": "8.6.5" }, @@ -1292,6 +1335,7 @@ "dependencies": { "Diacritics": "4.1.4", "ICU4N.Transliterator": "60.1.0-alpha.356", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Sdk": "2025.10.21" }, "compile": { @@ -1305,6 +1349,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Data": "10.12.0", "Jellyfin.Extensions": "10.12.0", "Jellyfin.Sdk": "2025.10.21" @@ -1409,6 +1454,21 @@ "unicode-icon-128x128.jpg" ] }, + "IDisposableAnalyzers/4.0.8": { + "sha512": "vNi4NMG0CcJyjXxiNDcQ21FwV/whM9o9OEZKD+oP7tuxAqFEzX/x5OhC3OZJqW/w+8GOtCmJPBquYgMWgz0rfQ==", + "type": "package", + "path": "idisposableanalyzers/4.0.8", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/IDisposableAnalyzers.dll", + "idisposableanalyzers.4.0.8.nupkg.sha512", + "idisposableanalyzers.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "J2N/2.0.0": { "sha512": "M5bwDajAARZiyqupU+rHQJnsVLxNBOHJ8vKYHd8LcLIb1FgLfzzcJvc31Qo5Xz/GEHFjDF9ScjKL/ks/zRTXuA==", "type": "package", @@ -2184,6 +2244,74 @@ "tools/uninstall.ps1" ] }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": { + "sha512": "gSWJlDWwmDhtbrEJGiHqvEjz9KthIiFD0qYB8zZ6a7z+xpMSPEtM9yTYELSa58iFWYlzSRqP9FXO6KoT3+ZMtg==", + "type": "package", + "path": "microsoft.codeanalysis.bannedapianalyzers/4.14.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "ThirdPartyNotices.txt", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.BannedApiAnalyzers.dll", + "analyzers/dotnet/cs/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.BannedApiAnalyzers.dll", + "analyzers/dotnet/vb/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props", + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets", + "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.md", + "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.sarif", + "editorconfig/AllRulesDefault/.editorconfig", + "editorconfig/AllRulesDisabled/.editorconfig", + "editorconfig/AllRulesEnabled/.editorconfig", + "editorconfig/ApiDesignRulesDefault/.editorconfig", + "editorconfig/ApiDesignRulesEnabled/.editorconfig", + "editorconfig/DataflowRulesDefault/.editorconfig", + "editorconfig/DataflowRulesEnabled/.editorconfig", + "editorconfig/PortedFromFxCopRulesDefault/.editorconfig", + "editorconfig/PortedFromFxCopRulesEnabled/.editorconfig", + "microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512", + "microsoft.codeanalysis.bannedapianalyzers.nuspec", + "rulesets/AllRulesDefault.ruleset", + "rulesets/AllRulesDisabled.ruleset", + "rulesets/AllRulesEnabled.ruleset", + "rulesets/ApiDesignRulesDefault.ruleset", + "rulesets/ApiDesignRulesEnabled.ruleset", + "rulesets/DataflowRulesDefault.ruleset", + "rulesets/DataflowRulesEnabled.ruleset", + "rulesets/PortedFromFxCopRulesDefault.ruleset", + "rulesets/PortedFromFxCopRulesEnabled.ruleset", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Microsoft.CodeAnalysis.Common/5.0.0": { "sha512": "ZXRAdvH6GiDeHRyd3q/km8Z44RoM6FBWHd+gen/la81mVnAdHTEsEkO5J0TCNXBymAcx5UYKt5TvgKBhaLJEow==", "type": "package", @@ -3276,6 +3404,36 @@ "polly.core.nuspec" ] }, + "SerilogAnalyzer/0.15.0": { + "sha512": "sVpwfls4MfNnwIXLSGCgaUnV+c9kgJ8ia6GsyRcpd4Vs3gLogSDtSYBYrre2K2u/PNMo8GgG09RehwVnze70Tw==", + "type": "package", + "path": "seriloganalyzer/0.15.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/SerilogAnalyzer.dll", + "seriloganalyzer.0.15.0.nupkg.sha512", + "seriloganalyzer.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, + "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": { + "sha512": "2f2k7bbhDd132ArglCKpzKoWBcp3uzbIFcb4aosnlqIKlfYKDE2HevBVRNVa+LkWFnjXFFWs47Bo96fu8iS//Q==", + "type": "package", + "path": "smartanalyzers.multithreadinganalyzer/1.1.31", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/SmartAnalyzers.MultithreadingAnalyzer.dll", + "smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512", + "smartanalyzers.multithreadinganalyzer.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "SourceGear.sqlite3/3.50.4.2": { "sha512": "eV9HwQ88WyoU+reGVxJz1SwME9NbYnl9h2LOY15j0LGdXN4JkTJDk8JRRg/yNgt00O3Cn5/qnska10FEZNoU5g==", "type": "package", @@ -3400,6 +3558,45 @@ "std.uritemplate.nuspec" ] }, + "StyleCop.Analyzers/1.2.0-beta.556": { + "sha512": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==", + "type": "package", + "path": "stylecop.analyzers/1.2.0-beta.556", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "THIRD-PARTY-NOTICES.txt", + "stylecop.analyzers.1.2.0-beta.556.nupkg.sha512", + "stylecop.analyzers.nuspec" + ] + }, + "StyleCop.Analyzers.Unstable/1.2.0.556": { + "sha512": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==", + "type": "package", + "path": "stylecop.analyzers.unstable/1.2.0.556", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "THIRD-PARTY-NOTICES.txt", + "analyzers/dotnet/cs/StyleCop.Analyzers.CodeFixes.dll", + "analyzers/dotnet/cs/StyleCop.Analyzers.dll", + "analyzers/dotnet/cs/de-DE/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/en-GB/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/es-MX/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/fr-FR/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/pl-PL/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/pt-BR/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/ru-RU/StyleCop.Analyzers.resources.dll", + "rulesets/StyleCopAnalyzersDefault.ruleset", + "stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512", + "stylecop.analyzers.unstable.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "System.CodeDom/6.0.0": { "sha512": "CPc6tWO1LAer3IzfZufDBRL+UZQcj5uS207NHALQzP84Vp/z6wF0Aa0YZImOQY8iStY0A2zI/e3ihKNPfUm8XA==", "type": "package", @@ -3586,6 +3783,11 @@ "useSharedDesignerContext.txt" ] }, + "Jellyfin.CodeAnalysis/1.0.0": { + "type": "project", + "path": "../../Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj", + "msbuildProject": "../../Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj" + }, "Jellyfin.Common/10.12.0": { "type": "project", "path": "../../../MediaBrowser.Common/MediaBrowser.Common.csproj", @@ -3614,12 +3816,18 @@ }, "projectFileDependencyGroups": { "net11.0": [ + "IDisposableAnalyzers >= 4.0.8", + "Jellyfin.CodeAnalysis >= 1.0.0", "Jellyfin.Common >= 10.12.0", "Jellyfin.Database.Implementations >= 10.11.0", + "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0", "Microsoft.EntityFrameworkCore.Design >= 11.0.0-preview.1.26104.118", "Microsoft.EntityFrameworkCore.Relational >= 11.0.0-preview.1.26104.118", "Microsoft.EntityFrameworkCore.Sqlite >= 11.0.0-preview.1.26104.118", - "Microsoft.EntityFrameworkCore.Tools >= 11.0.0-preview.1.26104.118" + "Microsoft.EntityFrameworkCore.Tools >= 11.0.0-preview.1.26104.118", + "SerilogAnalyzer >= 0.15.0", + "SmartAnalyzers.MultithreadingAnalyzer >= 1.1.31", + "StyleCop.Analyzers >= 1.2.0-beta.556" ] }, "packageFolders": { @@ -3659,6 +3867,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -3686,6 +3897,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -3709,6 +3934,24 @@ "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { diff --git a/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/obj/project.nuget.cache b/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/obj/project.nuget.cache index a28ef1fe..c4a00c0e 100644 --- a/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/obj/project.nuget.cache +++ b/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "LobyjguNQ3I=", + "dgSpecHash": "7p0VjWNAkOM=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Providers.Sqlite\\Jellyfin.Database.Providers.Sqlite.csproj", "expectedPackageFiles": [ @@ -8,10 +8,12 @@ "C:\\Users\\wjones\\.nuget\\packages\\humanizer.core\\3.0.1\\humanizer.core.3.0.1.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\icu4n\\60.1.0-alpha.356\\icu4n.60.1.0-alpha.356.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\icu4n.transliterator\\60.1.0-alpha.356\\icu4n.transliterator.60.1.0-alpha.356.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\idisposableanalyzers\\4.0.8\\idisposableanalyzers.4.0.8.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\j2n\\2.0.0\\j2n.2.0.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\jellyfin.sdk\\2025.10.21\\jellyfin.sdk.2025.10.21.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.build.framework\\18.0.2\\microsoft.build.framework.18.0.2.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.analyzers\\3.11.0\\microsoft.codeanalysis.analyzers.3.11.0.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.bannedapianalyzers\\4.14.0\\microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.common\\5.0.0\\microsoft.codeanalysis.common.5.0.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.csharp\\5.0.0\\microsoft.codeanalysis.csharp.5.0.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.csharp.workspaces\\5.0.0\\microsoft.codeanalysis.csharp.workspaces.5.0.0.nupkg.sha512", @@ -47,12 +49,16 @@ "C:\\Users\\wjones\\.nuget\\packages\\newtonsoft.json\\13.0.3\\newtonsoft.json.13.0.3.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\polly\\8.6.5\\polly.8.6.5.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\polly.core\\8.6.5\\polly.core.8.6.5.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\seriloganalyzer\\0.15.0\\seriloganalyzer.0.15.0.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\smartanalyzers.multithreadinganalyzer\\1.1.31\\smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\sourcegear.sqlite3\\3.50.4.2\\sourcegear.sqlite3.3.50.4.2.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\sqlitepclraw.bundle_e_sqlite3\\3.0.2\\sqlitepclraw.bundle_e_sqlite3.3.0.2.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\sqlitepclraw.config.e_sqlite3\\3.0.2\\sqlitepclraw.config.e_sqlite3.3.0.2.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\sqlitepclraw.core\\3.0.2\\sqlitepclraw.core.3.0.2.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\sqlitepclraw.provider.e_sqlite3\\3.0.2\\sqlitepclraw.provider.e_sqlite3.3.0.2.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers\\1.2.0-beta.556\\stylecop.analyzers.1.2.0-beta.556.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers.unstable\\1.2.0.556\\stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\system.codedom\\6.0.0\\system.codedom.6.0.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\system.composition\\9.0.0\\system.composition.9.0.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\system.composition.attributedmodel\\9.0.0\\system.composition.attributedmodel.9.0.0.nupkg.sha512", diff --git a/src/Jellyfin.Drawing.Skia/obj/Jellyfin.Drawing.Skia.csproj.nuget.dgspec.json b/src/Jellyfin.Drawing.Skia/obj/Jellyfin.Drawing.Skia.csproj.nuget.dgspec.json index b10b2699..366661a8 100644 --- a/src/Jellyfin.Drawing.Skia/obj/Jellyfin.Drawing.Skia.csproj.nuget.dgspec.json +++ b/src/Jellyfin.Drawing.Skia/obj/Jellyfin.Drawing.Skia.csproj.nuget.dgspec.json @@ -39,20 +39,13 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } }, - "warningProperties": { - "allWarningsAsErrors": true, - "warnAsError": [ - "NU1605" - ], - "warnNotAsError": [ - "NU1902", - "NU1903" - ] - }, "restoreAuditProperties": { "enableAudit": "true", "auditLevel": "low", @@ -63,6 +56,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -473,6 +505,9 @@ "net11.0": { "targetAlias": "net11.0", "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -500,10 +535,47 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Logging": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -918,6 +990,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -942,6 +1017,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -1505,6 +1619,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj" } @@ -1537,15 +1654,47 @@ "version": "[2.5.4, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Configuration.Binder": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -1961,6 +2110,9 @@ "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj" } @@ -1988,17 +2140,49 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "MimeTypes": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", "target": "Package", "version": "[2.5.2, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -2578,6 +2762,13 @@ "netstandard2.0": { "targetAlias": "netstandard2.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -2589,6 +2780,13 @@ "version": "[3.11.0, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.CodeAnalysis.CSharp": { "suppressParent": "All", "target": "Package", @@ -2600,6 +2798,24 @@ "target": "Package", "version": "[2.0.3, )", "autoReferenced": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -2732,7 +2948,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -2756,6 +2976,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -2779,6 +3013,24 @@ "target": "Package", "version": "[8.6.5, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -3199,6 +3451,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -3242,11 +3497,31 @@ "version": "[8.3.1.1, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, "SkiaSharp": { "target": "Package", "version": "[3.116.1, 3.116.1]", @@ -3262,6 +3537,18 @@ "version": "[3.116.1, 3.116.1]", "versionCentrallyManaged": true }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "Svg.Skia": { "target": "Package", "version": "[3.4.1, )", @@ -3677,7 +3964,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -3714,10 +4005,42 @@ "version": "[60.1.0-alpha.356, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { diff --git a/src/Jellyfin.Drawing.Skia/obj/Jellyfin.Drawing.Skia.csproj.nuget.g.props b/src/Jellyfin.Drawing.Skia/obj/Jellyfin.Drawing.Skia.csproj.nuget.g.props index 59d22c92..651d5bb6 100644 --- a/src/Jellyfin.Drawing.Skia/obj/Jellyfin.Drawing.Skia.csproj.nuget.g.props +++ b/src/Jellyfin.Drawing.Skia/obj/Jellyfin.Drawing.Skia.csproj.nuget.g.props @@ -15,5 +15,13 @@ + + + C:\Users\wjones\.nuget\packages\stylecop.analyzers.unstable\1.2.0.556 + C:\Users\wjones\.nuget\packages\smartanalyzers.multithreadinganalyzer\1.1.31 + C:\Users\wjones\.nuget\packages\seriloganalyzer\0.15.0 + C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.bannedapianalyzers\4.14.0 + C:\Users\wjones\.nuget\packages\idisposableanalyzers\4.0.8 + \ No newline at end of file diff --git a/src/Jellyfin.Drawing.Skia/obj/Jellyfin.Drawing.Skia.csproj.nuget.g.targets b/src/Jellyfin.Drawing.Skia/obj/Jellyfin.Drawing.Skia.csproj.nuget.g.targets index 693275db..fee5dc52 100644 --- a/src/Jellyfin.Drawing.Skia/obj/Jellyfin.Drawing.Skia.csproj.nuget.g.targets +++ b/src/Jellyfin.Drawing.Skia/obj/Jellyfin.Drawing.Skia.csproj.nuget.g.targets @@ -4,5 +4,6 @@ + \ No newline at end of file diff --git a/src/Jellyfin.Drawing.Skia/obj/project.assets.json b/src/Jellyfin.Drawing.Skia/obj/project.assets.json index 3b11ac2e..c78c61fc 100644 --- a/src/Jellyfin.Drawing.Skia/obj/project.assets.json +++ b/src/Jellyfin.Drawing.Skia/obj/project.assets.json @@ -210,6 +210,9 @@ } } }, + "IDisposableAnalyzers/4.0.8": { + "type": "package" + }, "J2N/2.0.0": { "type": "package", "compile": { @@ -244,6 +247,13 @@ } } }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": { + "type": "package", + "build": { + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props": {}, + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets": {} + } + }, "Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": { "type": "package", "dependencies": { @@ -651,6 +661,9 @@ } } }, + "SerilogAnalyzer/0.15.0": { + "type": "package" + }, "ShimSkiaSharp/3.4.1": { "type": "package", "compile": { @@ -773,6 +786,9 @@ } } }, + "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": { + "type": "package" + }, "Std.UriTemplate/2.0.5": { "type": "package", "compile": { @@ -782,6 +798,15 @@ "lib/net5.0/Std.UriTemplate.dll": {} } }, + "StyleCop.Analyzers/1.2.0-beta.556": { + "type": "package", + "dependencies": { + "StyleCop.Analyzers.Unstable": "1.2.0.556" + } + }, + "StyleCop.Analyzers.Unstable/1.2.0.556": { + "type": "package" + }, "Svg.Custom/3.4.1": { "type": "package", "dependencies": { @@ -838,7 +863,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { - "Jellyfin.Model": "10.12.0" + "Jellyfin.CodeAnalysis": "1.0.0", + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Common.dll": {} @@ -855,6 +882,7 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "BitFaster.Caching": "2.5.4", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.MediaEncoding.Keyframes": "10.11.0", "Jellyfin.Model": "10.12.0", @@ -873,7 +901,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Database.Implementations": "10.11.0", + "Jellyfin.Sdk": "2025.10.21", "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118" }, "compile": { @@ -887,6 +917,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", "Polly": "8.6.5" }, @@ -903,6 +934,7 @@ "dependencies": { "Diacritics": "4.1.4", "ICU4N.Transliterator": "60.1.0-alpha.356", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Sdk": "2025.10.21" }, "compile": { @@ -931,6 +963,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Data": "10.12.0", "Jellyfin.Extensions": "10.12.0", "Jellyfin.Sdk": "2025.10.21" @@ -949,8 +982,10 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", - "Jellyfin.Model": "10.12.0" + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Naming.dll": {} @@ -1224,6 +1259,21 @@ "unicode-icon-128x128.jpg" ] }, + "IDisposableAnalyzers/4.0.8": { + "sha512": "vNi4NMG0CcJyjXxiNDcQ21FwV/whM9o9OEZKD+oP7tuxAqFEzX/x5OhC3OZJqW/w+8GOtCmJPBquYgMWgz0rfQ==", + "type": "package", + "path": "idisposableanalyzers/4.0.8", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/IDisposableAnalyzers.dll", + "idisposableanalyzers.4.0.8.nupkg.sha512", + "idisposableanalyzers.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "J2N/2.0.0": { "sha512": "M5bwDajAARZiyqupU+rHQJnsVLxNBOHJ8vKYHd8LcLIb1FgLfzzcJvc31Qo5Xz/GEHFjDF9ScjKL/ks/zRTXuA==", "type": "package", @@ -1271,6 +1321,74 @@ "lib/netstandard2.1/Jellyfin.Sdk.xml" ] }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": { + "sha512": "gSWJlDWwmDhtbrEJGiHqvEjz9KthIiFD0qYB8zZ6a7z+xpMSPEtM9yTYELSa58iFWYlzSRqP9FXO6KoT3+ZMtg==", + "type": "package", + "path": "microsoft.codeanalysis.bannedapianalyzers/4.14.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "ThirdPartyNotices.txt", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.BannedApiAnalyzers.dll", + "analyzers/dotnet/cs/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.BannedApiAnalyzers.dll", + "analyzers/dotnet/vb/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props", + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets", + "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.md", + "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.sarif", + "editorconfig/AllRulesDefault/.editorconfig", + "editorconfig/AllRulesDisabled/.editorconfig", + "editorconfig/AllRulesEnabled/.editorconfig", + "editorconfig/ApiDesignRulesDefault/.editorconfig", + "editorconfig/ApiDesignRulesEnabled/.editorconfig", + "editorconfig/DataflowRulesDefault/.editorconfig", + "editorconfig/DataflowRulesEnabled/.editorconfig", + "editorconfig/PortedFromFxCopRulesDefault/.editorconfig", + "editorconfig/PortedFromFxCopRulesEnabled/.editorconfig", + "microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512", + "microsoft.codeanalysis.bannedapianalyzers.nuspec", + "rulesets/AllRulesDefault.ruleset", + "rulesets/AllRulesDisabled.ruleset", + "rulesets/AllRulesEnabled.ruleset", + "rulesets/ApiDesignRulesDefault.ruleset", + "rulesets/ApiDesignRulesEnabled.ruleset", + "rulesets/DataflowRulesDefault.ruleset", + "rulesets/DataflowRulesEnabled.ruleset", + "rulesets/PortedFromFxCopRulesDefault.ruleset", + "rulesets/PortedFromFxCopRulesEnabled.ruleset", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": { "sha512": "Nox5NDdfvErlYUc9dyMlI7OzyrVQPKBzaq9P+SqMbAOm+gdG5KjtxpIkk7I/6NhcQ85HYaug/tEEnb7RvYdEYA==", "type": "package", @@ -1912,6 +2030,21 @@ "polly.core.nuspec" ] }, + "SerilogAnalyzer/0.15.0": { + "sha512": "sVpwfls4MfNnwIXLSGCgaUnV+c9kgJ8ia6GsyRcpd4Vs3gLogSDtSYBYrre2K2u/PNMo8GgG09RehwVnze70Tw==", + "type": "package", + "path": "seriloganalyzer/0.15.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/SerilogAnalyzer.dll", + "seriloganalyzer.0.15.0.nupkg.sha512", + "seriloganalyzer.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "ShimSkiaSharp/3.4.1": { "sha512": "ab3J5OGdwYLyXnom90OghS9NyRPH9dtsRtW5B3mL+F43YTlxido3nUtiR9NjB/sI3jvG/J744C29bsSBQ28AfQ==", "type": "package", @@ -2083,6 +2216,21 @@ "skiasharp.nativeassets.win32.nuspec" ] }, + "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": { + "sha512": "2f2k7bbhDd132ArglCKpzKoWBcp3uzbIFcb4aosnlqIKlfYKDE2HevBVRNVa+LkWFnjXFFWs47Bo96fu8iS//Q==", + "type": "package", + "path": "smartanalyzers.multithreadinganalyzer/1.1.31", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/SmartAnalyzers.MultithreadingAnalyzer.dll", + "smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512", + "smartanalyzers.multithreadinganalyzer.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Std.UriTemplate/2.0.5": { "sha512": "PtqPdWNBObRcDHjyjbgOz2XoCJQaiA+HNDPQve/O7yGCkospfHDCuH9ULVx1msImwHHG+uhpDjiZX7bpLN/cnw==", "type": "package", @@ -2097,6 +2245,45 @@ "std.uritemplate.nuspec" ] }, + "StyleCop.Analyzers/1.2.0-beta.556": { + "sha512": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==", + "type": "package", + "path": "stylecop.analyzers/1.2.0-beta.556", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "THIRD-PARTY-NOTICES.txt", + "stylecop.analyzers.1.2.0-beta.556.nupkg.sha512", + "stylecop.analyzers.nuspec" + ] + }, + "StyleCop.Analyzers.Unstable/1.2.0.556": { + "sha512": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==", + "type": "package", + "path": "stylecop.analyzers.unstable/1.2.0.556", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "THIRD-PARTY-NOTICES.txt", + "analyzers/dotnet/cs/StyleCop.Analyzers.CodeFixes.dll", + "analyzers/dotnet/cs/StyleCop.Analyzers.dll", + "analyzers/dotnet/cs/de-DE/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/en-GB/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/es-MX/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/fr-FR/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/pl-PL/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/pt-BR/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/ru-RU/StyleCop.Analyzers.resources.dll", + "rulesets/StyleCopAnalyzersDefault.ruleset", + "stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512", + "stylecop.analyzers.unstable.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Svg.Custom/3.4.1": { "sha512": "ksHa7Zv8X1InxSWAeM0sSSvZM2W6FWgneXjU0bdYrQ20Q6q0nl3g0uaSWe53i/CC1OmR+/JAxsp8E3/wigtcng==", "type": "package", @@ -2195,13 +2382,19 @@ "BlurHashSharp >= 1.4.0-pre.1", "BlurHashSharp.SkiaSharp >= 1.4.0-pre.1", "HarfBuzzSharp.NativeAssets.Linux >= 8.3.1.1", + "IDisposableAnalyzers >= 4.0.8", + "Jellyfin.CodeAnalysis >= 1.0.0", "Jellyfin.Common >= 10.12.0", "Jellyfin.Controller >= 10.12.0", "Jellyfin.Model >= 10.12.0", "Jellyfin.Sdk >= 2025.10.21", + "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0", + "SerilogAnalyzer >= 0.15.0", "SkiaSharp >= 3.116.1 <= 3.116.1", "SkiaSharp.HarfBuzz >= 3.116.1 <= 3.116.1", "SkiaSharp.NativeAssets.Linux >= 3.116.1 <= 3.116.1", + "SmartAnalyzers.MultithreadingAnalyzer >= 1.1.31", + "StyleCop.Analyzers >= 1.2.0-beta.556", "Svg.Skia >= 3.4.1" ] }, @@ -2247,6 +2440,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -2290,11 +2486,31 @@ "version": "[8.3.1.1, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, "SkiaSharp": { "target": "Package", "version": "[3.116.1, 3.116.1]", @@ -2310,6 +2526,18 @@ "version": "[3.116.1, 3.116.1]", "versionCentrallyManaged": true }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "Svg.Skia": { "target": "Package", "version": "[3.4.1, )", diff --git a/src/Jellyfin.Drawing.Skia/obj/project.nuget.cache b/src/Jellyfin.Drawing.Skia/obj/project.nuget.cache index f7987e70..ef341c73 100644 --- a/src/Jellyfin.Drawing.Skia/obj/project.nuget.cache +++ b/src/Jellyfin.Drawing.Skia/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "PGvLbvvkpAo=", + "dgSpecHash": "HMW40QmobtY=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Drawing.Skia\\Jellyfin.Drawing.Skia.csproj", "expectedPackageFiles": [ @@ -15,8 +15,10 @@ "C:\\Users\\wjones\\.nuget\\packages\\harfbuzzsharp.nativeassets.win32\\8.3.0.1\\harfbuzzsharp.nativeassets.win32.8.3.0.1.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\icu4n\\60.1.0-alpha.356\\icu4n.60.1.0-alpha.356.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\icu4n.transliterator\\60.1.0-alpha.356\\icu4n.transliterator.60.1.0-alpha.356.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\idisposableanalyzers\\4.0.8\\idisposableanalyzers.4.0.8.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\j2n\\2.0.0\\j2n.2.0.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\jellyfin.sdk\\2025.10.21\\jellyfin.sdk.2025.10.21.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.bannedapianalyzers\\4.14.0\\microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.11.0.0-preview.1.26104.118.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.abstractions.11.0.0-preview.1.26104.118.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.analyzers.11.0.0-preview.1.26104.118.nupkg.sha512", @@ -41,13 +43,17 @@ "C:\\Users\\wjones\\.nuget\\packages\\nebml\\1.1.0.5\\nebml.1.1.0.5.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\polly\\8.6.5\\polly.8.6.5.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\polly.core\\8.6.5\\polly.core.8.6.5.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\seriloganalyzer\\0.15.0\\seriloganalyzer.0.15.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\shimskiasharp\\3.4.1\\shimskiasharp.3.4.1.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\skiasharp\\3.116.1\\skiasharp.3.116.1.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\skiasharp.harfbuzz\\3.116.1\\skiasharp.harfbuzz.3.116.1.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\skiasharp.nativeassets.linux\\3.116.1\\skiasharp.nativeassets.linux.3.116.1.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\skiasharp.nativeassets.macos\\3.116.1\\skiasharp.nativeassets.macos.3.116.1.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\skiasharp.nativeassets.win32\\3.116.1\\skiasharp.nativeassets.win32.3.116.1.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\smartanalyzers.multithreadinganalyzer\\1.1.31\\smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers\\1.2.0-beta.556\\stylecop.analyzers.1.2.0-beta.556.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers.unstable\\1.2.0.556\\stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\svg.custom\\3.4.1\\svg.custom.3.4.1.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\svg.model\\3.4.1\\svg.model.3.4.1.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\svg.skia\\3.4.1\\svg.skia.3.4.1.nupkg.sha512" diff --git a/src/Jellyfin.Drawing/obj/Jellyfin.Drawing.csproj.nuget.dgspec.json b/src/Jellyfin.Drawing/obj/Jellyfin.Drawing.csproj.nuget.dgspec.json index 910f172c..86f121a6 100644 --- a/src/Jellyfin.Drawing/obj/Jellyfin.Drawing.csproj.nuget.dgspec.json +++ b/src/Jellyfin.Drawing/obj/Jellyfin.Drawing.csproj.nuget.dgspec.json @@ -39,20 +39,13 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } }, - "warningProperties": { - "allWarningsAsErrors": true, - "warnAsError": [ - "NU1605" - ], - "warnNotAsError": [ - "NU1902", - "NU1903" - ] - }, "restoreAuditProperties": { "enableAudit": "true", "auditLevel": "low", @@ -63,6 +56,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -473,6 +505,9 @@ "net11.0": { "targetAlias": "net11.0", "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -500,10 +535,47 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Logging": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -918,6 +990,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -942,6 +1017,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -1505,6 +1619,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj" } @@ -1537,15 +1654,47 @@ "version": "[2.5.4, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Configuration.Binder": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -1961,6 +2110,9 @@ "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj" } @@ -1988,17 +2140,49 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "MimeTypes": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", "target": "Package", "version": "[2.5.2, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -2578,6 +2762,13 @@ "netstandard2.0": { "targetAlias": "netstandard2.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -2589,6 +2780,13 @@ "version": "[3.11.0, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.CodeAnalysis.CSharp": { "suppressParent": "All", "target": "Package", @@ -2600,6 +2798,24 @@ "target": "Package", "version": "[2.0.3, )", "autoReferenced": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -2732,7 +2948,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -2756,6 +2976,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -2779,6 +3013,24 @@ "target": "Package", "version": "[8.6.5, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -3199,6 +3451,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -3229,10 +3484,42 @@ "version": "[8.0.2, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -3644,7 +3931,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -3681,10 +3972,42 @@ "version": "[60.1.0-alpha.356, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { diff --git a/src/Jellyfin.Drawing/obj/Jellyfin.Drawing.csproj.nuget.g.props b/src/Jellyfin.Drawing/obj/Jellyfin.Drawing.csproj.nuget.g.props index 59d22c92..651d5bb6 100644 --- a/src/Jellyfin.Drawing/obj/Jellyfin.Drawing.csproj.nuget.g.props +++ b/src/Jellyfin.Drawing/obj/Jellyfin.Drawing.csproj.nuget.g.props @@ -15,5 +15,13 @@ + + + C:\Users\wjones\.nuget\packages\stylecop.analyzers.unstable\1.2.0.556 + C:\Users\wjones\.nuget\packages\smartanalyzers.multithreadinganalyzer\1.1.31 + C:\Users\wjones\.nuget\packages\seriloganalyzer\0.15.0 + C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.bannedapianalyzers\4.14.0 + C:\Users\wjones\.nuget\packages\idisposableanalyzers\4.0.8 + \ No newline at end of file diff --git a/src/Jellyfin.Drawing/obj/Jellyfin.Drawing.csproj.nuget.g.targets b/src/Jellyfin.Drawing/obj/Jellyfin.Drawing.csproj.nuget.g.targets index 693275db..fee5dc52 100644 --- a/src/Jellyfin.Drawing/obj/Jellyfin.Drawing.csproj.nuget.g.targets +++ b/src/Jellyfin.Drawing/obj/Jellyfin.Drawing.csproj.nuget.g.targets @@ -4,5 +4,6 @@ + \ No newline at end of file diff --git a/src/Jellyfin.Drawing/obj/project.assets.json b/src/Jellyfin.Drawing/obj/project.assets.json index 250cdb19..bfdf94b2 100644 --- a/src/Jellyfin.Drawing/obj/project.assets.json +++ b/src/Jellyfin.Drawing/obj/project.assets.json @@ -74,6 +74,9 @@ } } }, + "IDisposableAnalyzers/4.0.8": { + "type": "package" + }, "J2N/2.0.0": { "type": "package", "compile": { @@ -108,6 +111,13 @@ } } }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": { + "type": "package", + "build": { + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props": {}, + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets": {} + } + }, "Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": { "type": "package", "dependencies": { @@ -515,6 +525,12 @@ } } }, + "SerilogAnalyzer/0.15.0": { + "type": "package" + }, + "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": { + "type": "package" + }, "Std.UriTemplate/2.0.5": { "type": "package", "compile": { @@ -524,6 +540,15 @@ "lib/net5.0/Std.UriTemplate.dll": {} } }, + "StyleCop.Analyzers/1.2.0-beta.556": { + "type": "package", + "dependencies": { + "StyleCop.Analyzers.Unstable": "1.2.0.556" + } + }, + "StyleCop.Analyzers.Unstable/1.2.0.556": { + "type": "package" + }, "Jellyfin.CodeAnalysis/1.0.0": { "type": "project", "framework": ".NETStandard,Version=v2.0", @@ -541,7 +566,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { - "Jellyfin.Model": "10.12.0" + "Jellyfin.CodeAnalysis": "1.0.0", + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Common.dll": {} @@ -558,6 +585,7 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "BitFaster.Caching": "2.5.4", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.MediaEncoding.Keyframes": "10.11.0", "Jellyfin.Model": "10.12.0", @@ -576,7 +604,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Database.Implementations": "10.11.0", + "Jellyfin.Sdk": "2025.10.21", "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118" }, "compile": { @@ -590,6 +620,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", "Polly": "8.6.5" }, @@ -606,6 +637,7 @@ "dependencies": { "Diacritics": "4.1.4", "ICU4N.Transliterator": "60.1.0-alpha.356", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Sdk": "2025.10.21" }, "compile": { @@ -634,6 +666,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Data": "10.12.0", "Jellyfin.Extensions": "10.12.0", "Jellyfin.Sdk": "2025.10.21" @@ -652,8 +685,10 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", - "Jellyfin.Model": "10.12.0" + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Naming.dll": {} @@ -777,6 +812,21 @@ "unicode-icon-128x128.jpg" ] }, + "IDisposableAnalyzers/4.0.8": { + "sha512": "vNi4NMG0CcJyjXxiNDcQ21FwV/whM9o9OEZKD+oP7tuxAqFEzX/x5OhC3OZJqW/w+8GOtCmJPBquYgMWgz0rfQ==", + "type": "package", + "path": "idisposableanalyzers/4.0.8", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/IDisposableAnalyzers.dll", + "idisposableanalyzers.4.0.8.nupkg.sha512", + "idisposableanalyzers.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "J2N/2.0.0": { "sha512": "M5bwDajAARZiyqupU+rHQJnsVLxNBOHJ8vKYHd8LcLIb1FgLfzzcJvc31Qo5Xz/GEHFjDF9ScjKL/ks/zRTXuA==", "type": "package", @@ -824,6 +874,74 @@ "lib/netstandard2.1/Jellyfin.Sdk.xml" ] }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": { + "sha512": "gSWJlDWwmDhtbrEJGiHqvEjz9KthIiFD0qYB8zZ6a7z+xpMSPEtM9yTYELSa58iFWYlzSRqP9FXO6KoT3+ZMtg==", + "type": "package", + "path": "microsoft.codeanalysis.bannedapianalyzers/4.14.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "ThirdPartyNotices.txt", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.BannedApiAnalyzers.dll", + "analyzers/dotnet/cs/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.BannedApiAnalyzers.dll", + "analyzers/dotnet/vb/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props", + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets", + "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.md", + "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.sarif", + "editorconfig/AllRulesDefault/.editorconfig", + "editorconfig/AllRulesDisabled/.editorconfig", + "editorconfig/AllRulesEnabled/.editorconfig", + "editorconfig/ApiDesignRulesDefault/.editorconfig", + "editorconfig/ApiDesignRulesEnabled/.editorconfig", + "editorconfig/DataflowRulesDefault/.editorconfig", + "editorconfig/DataflowRulesEnabled/.editorconfig", + "editorconfig/PortedFromFxCopRulesDefault/.editorconfig", + "editorconfig/PortedFromFxCopRulesEnabled/.editorconfig", + "microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512", + "microsoft.codeanalysis.bannedapianalyzers.nuspec", + "rulesets/AllRulesDefault.ruleset", + "rulesets/AllRulesDisabled.ruleset", + "rulesets/AllRulesEnabled.ruleset", + "rulesets/ApiDesignRulesDefault.ruleset", + "rulesets/ApiDesignRulesEnabled.ruleset", + "rulesets/DataflowRulesDefault.ruleset", + "rulesets/DataflowRulesEnabled.ruleset", + "rulesets/PortedFromFxCopRulesDefault.ruleset", + "rulesets/PortedFromFxCopRulesEnabled.ruleset", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": { "sha512": "Nox5NDdfvErlYUc9dyMlI7OzyrVQPKBzaq9P+SqMbAOm+gdG5KjtxpIkk7I/6NhcQ85HYaug/tEEnb7RvYdEYA==", "type": "package", @@ -1465,6 +1583,36 @@ "polly.core.nuspec" ] }, + "SerilogAnalyzer/0.15.0": { + "sha512": "sVpwfls4MfNnwIXLSGCgaUnV+c9kgJ8ia6GsyRcpd4Vs3gLogSDtSYBYrre2K2u/PNMo8GgG09RehwVnze70Tw==", + "type": "package", + "path": "seriloganalyzer/0.15.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/SerilogAnalyzer.dll", + "seriloganalyzer.0.15.0.nupkg.sha512", + "seriloganalyzer.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, + "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": { + "sha512": "2f2k7bbhDd132ArglCKpzKoWBcp3uzbIFcb4aosnlqIKlfYKDE2HevBVRNVa+LkWFnjXFFWs47Bo96fu8iS//Q==", + "type": "package", + "path": "smartanalyzers.multithreadinganalyzer/1.1.31", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/SmartAnalyzers.MultithreadingAnalyzer.dll", + "smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512", + "smartanalyzers.multithreadinganalyzer.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Std.UriTemplate/2.0.5": { "sha512": "PtqPdWNBObRcDHjyjbgOz2XoCJQaiA+HNDPQve/O7yGCkospfHDCuH9ULVx1msImwHHG+uhpDjiZX7bpLN/cnw==", "type": "package", @@ -1479,6 +1627,45 @@ "std.uritemplate.nuspec" ] }, + "StyleCop.Analyzers/1.2.0-beta.556": { + "sha512": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==", + "type": "package", + "path": "stylecop.analyzers/1.2.0-beta.556", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "THIRD-PARTY-NOTICES.txt", + "stylecop.analyzers.1.2.0-beta.556.nupkg.sha512", + "stylecop.analyzers.nuspec" + ] + }, + "StyleCop.Analyzers.Unstable/1.2.0.556": { + "sha512": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==", + "type": "package", + "path": "stylecop.analyzers.unstable/1.2.0.556", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "THIRD-PARTY-NOTICES.txt", + "analyzers/dotnet/cs/StyleCop.Analyzers.CodeFixes.dll", + "analyzers/dotnet/cs/StyleCop.Analyzers.dll", + "analyzers/dotnet/cs/de-DE/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/en-GB/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/es-MX/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/fr-FR/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/pl-PL/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/pt-BR/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/ru-RU/StyleCop.Analyzers.resources.dll", + "rulesets/StyleCopAnalyzersDefault.ruleset", + "stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512", + "stylecop.analyzers.unstable.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Jellyfin.CodeAnalysis/1.0.0": { "type": "project", "path": "../Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj", @@ -1528,10 +1715,16 @@ "projectFileDependencyGroups": { "net11.0": [ "AsyncKeyedLock >= 8.0.2", + "IDisposableAnalyzers >= 4.0.8", + "Jellyfin.CodeAnalysis >= 1.0.0", "Jellyfin.Common >= 10.12.0", "Jellyfin.Controller >= 10.12.0", "Jellyfin.Model >= 10.12.0", - "Jellyfin.Sdk >= 2025.10.21" + "Jellyfin.Sdk >= 2025.10.21", + "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0", + "SerilogAnalyzer >= 0.15.0", + "SmartAnalyzers.MultithreadingAnalyzer >= 1.1.31", + "StyleCop.Analyzers >= 1.2.0-beta.556" ] }, "packageFolders": { @@ -1576,6 +1769,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -1606,10 +1802,42 @@ "version": "[8.0.2, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { diff --git a/src/Jellyfin.Drawing/obj/project.nuget.cache b/src/Jellyfin.Drawing/obj/project.nuget.cache index 32d4e703..63719595 100644 --- a/src/Jellyfin.Drawing/obj/project.nuget.cache +++ b/src/Jellyfin.Drawing/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "tkToZnuYtmQ=", + "dgSpecHash": "kfdiYX/qdMo=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Drawing\\Jellyfin.Drawing.csproj", "expectedPackageFiles": [ @@ -9,8 +9,10 @@ "C:\\Users\\wjones\\.nuget\\packages\\diacritics\\4.1.4\\diacritics.4.1.4.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\icu4n\\60.1.0-alpha.356\\icu4n.60.1.0-alpha.356.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\icu4n.transliterator\\60.1.0-alpha.356\\icu4n.transliterator.60.1.0-alpha.356.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\idisposableanalyzers\\4.0.8\\idisposableanalyzers.4.0.8.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\j2n\\2.0.0\\j2n.2.0.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\jellyfin.sdk\\2025.10.21\\jellyfin.sdk.2025.10.21.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.bannedapianalyzers\\4.14.0\\microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.11.0.0-preview.1.26104.118.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.abstractions.11.0.0-preview.1.26104.118.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.analyzers.11.0.0-preview.1.26104.118.nupkg.sha512", @@ -35,7 +37,11 @@ "C:\\Users\\wjones\\.nuget\\packages\\nebml\\1.1.0.5\\nebml.1.1.0.5.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\polly\\8.6.5\\polly.8.6.5.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\polly.core\\8.6.5\\polly.core.8.6.5.nupkg.sha512", - "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512" + "C:\\Users\\wjones\\.nuget\\packages\\seriloganalyzer\\0.15.0\\seriloganalyzer.0.15.0.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\smartanalyzers.multithreadinganalyzer\\1.1.31\\smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers\\1.2.0-beta.556\\stylecop.analyzers.1.2.0-beta.556.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers.unstable\\1.2.0.556\\stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512" ], "logs": [] } \ No newline at end of file diff --git a/src/Jellyfin.Extensions/obj/Jellyfin.Extensions.csproj.nuget.dgspec.json b/src/Jellyfin.Extensions/obj/Jellyfin.Extensions.csproj.nuget.dgspec.json index 165ae5e1..fdac3f65 100644 --- a/src/Jellyfin.Extensions/obj/Jellyfin.Extensions.csproj.nuget.dgspec.json +++ b/src/Jellyfin.Extensions/obj/Jellyfin.Extensions.csproj.nuget.dgspec.json @@ -4,6 +4,216 @@ "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": {} }, "projects": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj", + "projectName": "Jellyfin.CodeAnalysis", + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj", + "packagesPath": "C:\\Users\\wjones\\.nuget\\packages\\", + "outputPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\obj\\", + "projectStyle": "PackageReference", + "centralPackageVersionsManagementEnabled": true, + "fallbackFolders": [ + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" + ], + "configFilePaths": [ + "E:\\Projects\\pgsql-jellyfin\\NuGet.Config", + "C:\\Users\\wjones\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + ], + "originalTargetFrameworks": [ + "netstandard2.0" + ], + "sources": { + "C:\\Program Files\\dotnet\\library-packs": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "netstandard2.0": { + "targetAlias": "netstandard2.0", + "projectReferences": {} + } + }, + "warningProperties": { + "allWarningsAsErrors": true, + "warnAsError": [ + "NU1605" + ], + "warnNotAsError": [ + "NU1902", + "NU1903" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + }, + "SdkAnalysisLevel": "11.0.100" + }, + "frameworks": { + "netstandard2.0": { + "targetAlias": "netstandard2.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[3.11.0, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.CSharp": { + "suppressParent": "All", + "target": "Package", + "version": "[5.0.0, )", + "versionCentrallyManaged": true + }, + "NETStandard.Library": { + "suppressParent": "All", + "target": "Package", + "version": "[2.0.3, )", + "autoReferenced": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, + "centralPackageVersions": { + "AsyncKeyedLock": "8.0.2", + "AutoFixture": "4.18.1", + "AutoFixture.AutoMoq": "4.18.1", + "AutoFixture.Xunit2": "4.18.1", + "BDInfo": "0.8.0", + "BitFaster.Caching": "2.5.4", + "BlurHashSharp": "1.4.0-pre.1", + "BlurHashSharp.SkiaSharp": "1.4.0-pre.1", + "CommandLineParser": "2.9.1", + "coverlet.collector": "8.0.0", + "Diacritics": "4.1.4", + "DiscUtils.Udf": "0.16.13", + "DotNet.Glob": "3.1.3", + "FsCheck.Xunit": "3.3.2", + "HarfBuzzSharp.NativeAssets.Linux": "8.3.1.1", + "ICU4N.Transliterator": "60.1.0-alpha.356", + "IDisposableAnalyzers": "4.0.8", + "Ignore": "0.2.1", + "Jellyfin.Sdk": "2025.10.21", + "Jellyfin.XmlTv": "10.8.0", + "libse": "4.0.12", + "LrcParser": "2025.623.0", + "MetaBrainz.MusicBrainz": "8.0.1", + "Microsoft.AspNetCore.Authorization": "11.0.0-preview.1.26104.118", + "Microsoft.AspNetCore.Mvc.Testing": "11.0.0-preview.1.26104.118", + "Microsoft.CodeAnalysis.Analyzers": "3.11.0", + "Microsoft.CodeAnalysis.BannedApiAnalyzers": "4.14.0", + "Microsoft.CodeAnalysis.Common": "5.0.0", + "Microsoft.CodeAnalysis.CSharp": "5.0.0", + "Microsoft.Data.Sqlite": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore.Design": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore.Sqlite": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore.Tools": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Caching.Abstractions": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Caching.Memory": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Configuration.Abstractions": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Configuration.Binder": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.DependencyInjection": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Hosting.Abstractions": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Http": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Options": "11.0.0-preview.1.26104.118", + "Microsoft.NET.Test.Sdk": "18.0.1", + "MimeTypes": "2.5.2", + "Moq": "4.18.4", + "Morestachio": "5.0.1.631", + "NEbml": "1.1.0.5", + "Newtonsoft.Json": "13.0.4", + "Npgsql.EntityFrameworkCore.PostgreSQL": "11.0.0-preview.1", + "PlaylistsNET": "1.4.1", + "Polly": "8.6.5", + "prometheus-net": "8.2.1", + "prometheus-net.AspNetCore": "8.2.1", + "prometheus-net.DotNetRuntime": "4.4.1", + "Serilog.AspNetCore": "10.0.0", + "Serilog.Enrichers.Thread": "4.0.0", + "Serilog.Expressions": "5.0.0", + "Serilog.Settings.Configuration": "10.0.0", + "Serilog.Sinks.Async": "2.1.0", + "Serilog.Sinks.Console": "6.1.1", + "Serilog.Sinks.File": "7.0.0", + "Serilog.Sinks.Graylog": "3.1.1", + "SerilogAnalyzer": "0.15.0", + "SharpFuzz": "2.2.0", + "SkiaSharp": "[3.116.1]", + "SkiaSharp.HarfBuzz": "[3.116.1]", + "SkiaSharp.NativeAssets.Linux": "[3.116.1]", + "SmartAnalyzers.MultithreadingAnalyzer": "1.1.31", + "StyleCop.Analyzers": "1.2.0-beta.556", + "Svg.Skia": "3.4.1", + "Swashbuckle.AspNetCore": "7.3.2", + "Swashbuckle.AspNetCore.ReDoc": "6.9.0", + "System.Text.Json": "11.0.0-preview.1.26104.118", + "TagLibSharp": "2.3.0", + "TMDbLib": "2.3.0", + "UTF.Unknown": "2.6.0", + "xunit": "2.9.3", + "Xunit.Priority": "1.1.6", + "xunit.runner.visualstudio": "2.8.2", + "Xunit.SkippableFact": "1.5.61", + "z440.atl.core": "7.11.0" + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\11.0.100-preview.1.26104.118\\RuntimeIdentifierGraph.json" + } + } + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": { "version": "10.12.0", "restore": { @@ -33,7 +243,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -70,10 +284,42 @@ "version": "[60.1.0-alpha.356, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { diff --git a/src/Jellyfin.Extensions/obj/Jellyfin.Extensions.csproj.nuget.g.props b/src/Jellyfin.Extensions/obj/Jellyfin.Extensions.csproj.nuget.g.props index bc14df92..481be336 100644 --- a/src/Jellyfin.Extensions/obj/Jellyfin.Extensions.csproj.nuget.g.props +++ b/src/Jellyfin.Extensions/obj/Jellyfin.Extensions.csproj.nuget.g.props @@ -13,4 +13,14 @@ + + + + + C:\Users\wjones\.nuget\packages\stylecop.analyzers.unstable\1.2.0.556 + C:\Users\wjones\.nuget\packages\smartanalyzers.multithreadinganalyzer\1.1.31 + C:\Users\wjones\.nuget\packages\seriloganalyzer\0.15.0 + C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.bannedapianalyzers\4.14.0 + C:\Users\wjones\.nuget\packages\idisposableanalyzers\4.0.8 + \ No newline at end of file diff --git a/src/Jellyfin.Extensions/obj/Jellyfin.Extensions.csproj.nuget.g.targets b/src/Jellyfin.Extensions/obj/Jellyfin.Extensions.csproj.nuget.g.targets index 3dc06ef3..d513a57a 100644 --- a/src/Jellyfin.Extensions/obj/Jellyfin.Extensions.csproj.nuget.g.targets +++ b/src/Jellyfin.Extensions/obj/Jellyfin.Extensions.csproj.nuget.g.targets @@ -1,2 +1,6 @@  - \ No newline at end of file + + + + + \ No newline at end of file diff --git a/src/Jellyfin.Extensions/obj/project.assets.json b/src/Jellyfin.Extensions/obj/project.assets.json index 6415b9af..5d6b6a5e 100644 --- a/src/Jellyfin.Extensions/obj/project.assets.json +++ b/src/Jellyfin.Extensions/obj/project.assets.json @@ -48,6 +48,9 @@ } } }, + "IDisposableAnalyzers/4.0.8": { + "type": "package" + }, "J2N/2.0.0": { "type": "package", "compile": { @@ -82,6 +85,13 @@ } } }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": { + "type": "package", + "build": { + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props": {}, + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets": {} + } + }, "Microsoft.Extensions.Caching.Abstractions/2.0.0": { "type": "package", "dependencies": { @@ -255,6 +265,12 @@ } } }, + "SerilogAnalyzer/0.15.0": { + "type": "package" + }, + "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": { + "type": "package" + }, "Std.UriTemplate/2.0.5": { "type": "package", "compile": { @@ -263,6 +279,28 @@ "runtime": { "lib/net5.0/Std.UriTemplate.dll": {} } + }, + "StyleCop.Analyzers/1.2.0-beta.556": { + "type": "package", + "dependencies": { + "StyleCop.Analyzers.Unstable": "1.2.0.556" + } + }, + "StyleCop.Analyzers.Unstable/1.2.0.556": { + "type": "package" + }, + "Jellyfin.CodeAnalysis/1.0.0": { + "type": "project", + "framework": ".NETStandard,Version=v2.0", + "dependencies": { + "Jellyfin.Sdk": "2025.10.21" + }, + "compile": { + "bin/placeholder/Jellyfin.CodeAnalysis.dll": {} + }, + "runtime": { + "bin/placeholder/Jellyfin.CodeAnalysis.dll": {} + } } } }, @@ -333,6 +371,21 @@ "unicode-icon-128x128.jpg" ] }, + "IDisposableAnalyzers/4.0.8": { + "sha512": "vNi4NMG0CcJyjXxiNDcQ21FwV/whM9o9OEZKD+oP7tuxAqFEzX/x5OhC3OZJqW/w+8GOtCmJPBquYgMWgz0rfQ==", + "type": "package", + "path": "idisposableanalyzers/4.0.8", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/IDisposableAnalyzers.dll", + "idisposableanalyzers.4.0.8.nupkg.sha512", + "idisposableanalyzers.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "J2N/2.0.0": { "sha512": "M5bwDajAARZiyqupU+rHQJnsVLxNBOHJ8vKYHd8LcLIb1FgLfzzcJvc31Qo5Xz/GEHFjDF9ScjKL/ks/zRTXuA==", "type": "package", @@ -380,6 +433,74 @@ "lib/netstandard2.1/Jellyfin.Sdk.xml" ] }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": { + "sha512": "gSWJlDWwmDhtbrEJGiHqvEjz9KthIiFD0qYB8zZ6a7z+xpMSPEtM9yTYELSa58iFWYlzSRqP9FXO6KoT3+ZMtg==", + "type": "package", + "path": "microsoft.codeanalysis.bannedapianalyzers/4.14.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "ThirdPartyNotices.txt", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.BannedApiAnalyzers.dll", + "analyzers/dotnet/cs/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.BannedApiAnalyzers.dll", + "analyzers/dotnet/vb/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props", + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets", + "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.md", + "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.sarif", + "editorconfig/AllRulesDefault/.editorconfig", + "editorconfig/AllRulesDisabled/.editorconfig", + "editorconfig/AllRulesEnabled/.editorconfig", + "editorconfig/ApiDesignRulesDefault/.editorconfig", + "editorconfig/ApiDesignRulesEnabled/.editorconfig", + "editorconfig/DataflowRulesDefault/.editorconfig", + "editorconfig/DataflowRulesEnabled/.editorconfig", + "editorconfig/PortedFromFxCopRulesDefault/.editorconfig", + "editorconfig/PortedFromFxCopRulesEnabled/.editorconfig", + "microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512", + "microsoft.codeanalysis.bannedapianalyzers.nuspec", + "rulesets/AllRulesDefault.ruleset", + "rulesets/AllRulesDisabled.ruleset", + "rulesets/AllRulesEnabled.ruleset", + "rulesets/ApiDesignRulesDefault.ruleset", + "rulesets/ApiDesignRulesEnabled.ruleset", + "rulesets/DataflowRulesDefault.ruleset", + "rulesets/DataflowRulesEnabled.ruleset", + "rulesets/PortedFromFxCopRulesDefault.ruleset", + "rulesets/PortedFromFxCopRulesEnabled.ruleset", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Microsoft.Extensions.Caching.Abstractions/2.0.0": { "sha512": "kGMEV53Od1ES0BDh7OOKbTW9Zu5dbbQ72yI936dvvbHlde3puuq/WRKAccFgcB2PuRjox1HFhA9+t53RYqfuEA==", "type": "package", @@ -581,6 +702,36 @@ "microsoft.kiota.serialization.text.nuspec" ] }, + "SerilogAnalyzer/0.15.0": { + "sha512": "sVpwfls4MfNnwIXLSGCgaUnV+c9kgJ8ia6GsyRcpd4Vs3gLogSDtSYBYrre2K2u/PNMo8GgG09RehwVnze70Tw==", + "type": "package", + "path": "seriloganalyzer/0.15.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/SerilogAnalyzer.dll", + "seriloganalyzer.0.15.0.nupkg.sha512", + "seriloganalyzer.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, + "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": { + "sha512": "2f2k7bbhDd132ArglCKpzKoWBcp3uzbIFcb4aosnlqIKlfYKDE2HevBVRNVa+LkWFnjXFFWs47Bo96fu8iS//Q==", + "type": "package", + "path": "smartanalyzers.multithreadinganalyzer/1.1.31", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/SmartAnalyzers.MultithreadingAnalyzer.dll", + "smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512", + "smartanalyzers.multithreadinganalyzer.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Std.UriTemplate/2.0.5": { "sha512": "PtqPdWNBObRcDHjyjbgOz2XoCJQaiA+HNDPQve/O7yGCkospfHDCuH9ULVx1msImwHHG+uhpDjiZX7bpLN/cnw==", "type": "package", @@ -594,13 +745,63 @@ "std.uritemplate.2.0.5.nupkg.sha512", "std.uritemplate.nuspec" ] + }, + "StyleCop.Analyzers/1.2.0-beta.556": { + "sha512": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==", + "type": "package", + "path": "stylecop.analyzers/1.2.0-beta.556", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "THIRD-PARTY-NOTICES.txt", + "stylecop.analyzers.1.2.0-beta.556.nupkg.sha512", + "stylecop.analyzers.nuspec" + ] + }, + "StyleCop.Analyzers.Unstable/1.2.0.556": { + "sha512": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==", + "type": "package", + "path": "stylecop.analyzers.unstable/1.2.0.556", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "THIRD-PARTY-NOTICES.txt", + "analyzers/dotnet/cs/StyleCop.Analyzers.CodeFixes.dll", + "analyzers/dotnet/cs/StyleCop.Analyzers.dll", + "analyzers/dotnet/cs/de-DE/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/en-GB/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/es-MX/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/fr-FR/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/pl-PL/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/pt-BR/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/ru-RU/StyleCop.Analyzers.resources.dll", + "rulesets/StyleCopAnalyzersDefault.ruleset", + "stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512", + "stylecop.analyzers.unstable.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, + "Jellyfin.CodeAnalysis/1.0.0": { + "type": "project", + "path": "../Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj", + "msbuildProject": "../Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj" } }, "projectFileDependencyGroups": { "net11.0": [ "Diacritics >= 4.1.4", "ICU4N.Transliterator >= 60.1.0-alpha.356", - "Jellyfin.Sdk >= 2025.10.21" + "IDisposableAnalyzers >= 4.0.8", + "Jellyfin.CodeAnalysis >= 1.0.0", + "Jellyfin.Sdk >= 2025.10.21", + "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0", + "SerilogAnalyzer >= 0.15.0", + "SmartAnalyzers.MultithreadingAnalyzer >= 1.1.31", + "StyleCop.Analyzers >= 1.2.0-beta.556" ] }, "packageFolders": { @@ -636,7 +837,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -673,10 +878,42 @@ "version": "[60.1.0-alpha.356, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { diff --git a/src/Jellyfin.Extensions/obj/project.nuget.cache b/src/Jellyfin.Extensions/obj/project.nuget.cache index 4e4bfef1..af2e2577 100644 --- a/src/Jellyfin.Extensions/obj/project.nuget.cache +++ b/src/Jellyfin.Extensions/obj/project.nuget.cache @@ -1,14 +1,16 @@ { "version": 2, - "dgSpecHash": "1F9fNSdM5co=", + "dgSpecHash": "jFXUtLlrjTY=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj", "expectedPackageFiles": [ "C:\\Users\\wjones\\.nuget\\packages\\diacritics\\4.1.4\\diacritics.4.1.4.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\icu4n\\60.1.0-alpha.356\\icu4n.60.1.0-alpha.356.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\icu4n.transliterator\\60.1.0-alpha.356\\icu4n.transliterator.60.1.0-alpha.356.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\idisposableanalyzers\\4.0.8\\idisposableanalyzers.4.0.8.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\j2n\\2.0.0\\j2n.2.0.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\jellyfin.sdk\\2025.10.21\\jellyfin.sdk.2025.10.21.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.bannedapianalyzers\\4.14.0\\microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.extensions.caching.abstractions\\2.0.0\\microsoft.extensions.caching.abstractions.2.0.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.extensions.caching.memory\\2.0.0\\microsoft.extensions.caching.memory.2.0.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\2.0.0\\microsoft.extensions.dependencyinjection.abstractions.2.0.0.nupkg.sha512", @@ -20,7 +22,11 @@ "C:\\Users\\wjones\\.nuget\\packages\\microsoft.kiota.serialization.json\\1.20.1\\microsoft.kiota.serialization.json.1.20.1.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.kiota.serialization.multipart\\1.20.1\\microsoft.kiota.serialization.multipart.1.20.1.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.kiota.serialization.text\\1.20.1\\microsoft.kiota.serialization.text.1.20.1.nupkg.sha512", - "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512" + "C:\\Users\\wjones\\.nuget\\packages\\seriloganalyzer\\0.15.0\\seriloganalyzer.0.15.0.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\smartanalyzers.multithreadinganalyzer\\1.1.31\\smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers\\1.2.0-beta.556\\stylecop.analyzers.1.2.0-beta.556.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers.unstable\\1.2.0.556\\stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512" ], "logs": [] } \ No newline at end of file diff --git a/src/Jellyfin.LiveTv/obj/Jellyfin.LiveTv.csproj.nuget.dgspec.json b/src/Jellyfin.LiveTv/obj/Jellyfin.LiveTv.csproj.nuget.dgspec.json index 7c6ba6c8..61e1bb18 100644 --- a/src/Jellyfin.LiveTv/obj/Jellyfin.LiveTv.csproj.nuget.dgspec.json +++ b/src/Jellyfin.LiveTv/obj/Jellyfin.LiveTv.csproj.nuget.dgspec.json @@ -39,20 +39,13 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } }, - "warningProperties": { - "allWarningsAsErrors": true, - "warnAsError": [ - "NU1605" - ], - "warnNotAsError": [ - "NU1902", - "NU1903" - ] - }, "restoreAuditProperties": { "enableAudit": "true", "auditLevel": "low", @@ -63,6 +56,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -473,6 +505,9 @@ "net11.0": { "targetAlias": "net11.0", "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -500,10 +535,47 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Logging": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -918,6 +990,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -942,6 +1017,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -1505,6 +1619,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj" } @@ -1537,15 +1654,47 @@ "version": "[2.5.4, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Configuration.Binder": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -1961,6 +2110,9 @@ "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj" } @@ -1988,17 +2140,49 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "MimeTypes": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", "target": "Package", "version": "[2.5.2, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -2578,6 +2762,13 @@ "netstandard2.0": { "targetAlias": "netstandard2.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -2589,6 +2780,13 @@ "version": "[3.11.0, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.CodeAnalysis.CSharp": { "suppressParent": "All", "target": "Package", @@ -2600,6 +2798,24 @@ "target": "Package", "version": "[2.0.3, )", "autoReferenced": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -2732,7 +2948,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -2756,6 +2976,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -2779,6 +3013,24 @@ "target": "Package", "version": "[8.6.5, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -3190,7 +3442,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -3227,10 +3483,42 @@ "version": "[60.1.0-alpha.356, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -3651,6 +3939,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -3681,6 +3972,13 @@ "version": "[8.0.2, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -3690,6 +3988,31 @@ "target": "Package", "version": "[10.8.0, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { diff --git a/src/Jellyfin.LiveTv/obj/Jellyfin.LiveTv.csproj.nuget.g.props b/src/Jellyfin.LiveTv/obj/Jellyfin.LiveTv.csproj.nuget.g.props index 59d22c92..651d5bb6 100644 --- a/src/Jellyfin.LiveTv/obj/Jellyfin.LiveTv.csproj.nuget.g.props +++ b/src/Jellyfin.LiveTv/obj/Jellyfin.LiveTv.csproj.nuget.g.props @@ -15,5 +15,13 @@ + + + C:\Users\wjones\.nuget\packages\stylecop.analyzers.unstable\1.2.0.556 + C:\Users\wjones\.nuget\packages\smartanalyzers.multithreadinganalyzer\1.1.31 + C:\Users\wjones\.nuget\packages\seriloganalyzer\0.15.0 + C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.bannedapianalyzers\4.14.0 + C:\Users\wjones\.nuget\packages\idisposableanalyzers\4.0.8 + \ No newline at end of file diff --git a/src/Jellyfin.LiveTv/obj/Jellyfin.LiveTv.csproj.nuget.g.targets b/src/Jellyfin.LiveTv/obj/Jellyfin.LiveTv.csproj.nuget.g.targets index 693275db..fee5dc52 100644 --- a/src/Jellyfin.LiveTv/obj/Jellyfin.LiveTv.csproj.nuget.g.targets +++ b/src/Jellyfin.LiveTv/obj/Jellyfin.LiveTv.csproj.nuget.g.targets @@ -4,5 +4,6 @@ + \ No newline at end of file diff --git a/src/Jellyfin.LiveTv/obj/project.assets.json b/src/Jellyfin.LiveTv/obj/project.assets.json index 0fb37b4f..513b5161 100644 --- a/src/Jellyfin.LiveTv/obj/project.assets.json +++ b/src/Jellyfin.LiveTv/obj/project.assets.json @@ -74,6 +74,9 @@ } } }, + "IDisposableAnalyzers/4.0.8": { + "type": "package" + }, "J2N/2.0.0": { "type": "package", "compile": { @@ -121,6 +124,13 @@ } } }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": { + "type": "package", + "build": { + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props": {}, + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets": {} + } + }, "Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": { "type": "package", "dependencies": { @@ -528,6 +538,12 @@ } } }, + "SerilogAnalyzer/0.15.0": { + "type": "package" + }, + "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": { + "type": "package" + }, "Std.UriTemplate/2.0.5": { "type": "package", "compile": { @@ -537,6 +553,15 @@ "lib/net5.0/Std.UriTemplate.dll": {} } }, + "StyleCop.Analyzers/1.2.0-beta.556": { + "type": "package", + "dependencies": { + "StyleCop.Analyzers.Unstable": "1.2.0.556" + } + }, + "StyleCop.Analyzers.Unstable/1.2.0.556": { + "type": "package" + }, "Jellyfin.CodeAnalysis/1.0.0": { "type": "project", "framework": ".NETStandard,Version=v2.0", @@ -554,7 +579,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { - "Jellyfin.Model": "10.12.0" + "Jellyfin.CodeAnalysis": "1.0.0", + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Common.dll": {} @@ -571,6 +598,7 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "BitFaster.Caching": "2.5.4", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.MediaEncoding.Keyframes": "10.11.0", "Jellyfin.Model": "10.12.0", @@ -589,7 +617,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Database.Implementations": "10.11.0", + "Jellyfin.Sdk": "2025.10.21", "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118" }, "compile": { @@ -603,6 +633,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", "Polly": "8.6.5" }, @@ -619,6 +650,7 @@ "dependencies": { "Diacritics": "4.1.4", "ICU4N.Transliterator": "60.1.0-alpha.356", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Sdk": "2025.10.21" }, "compile": { @@ -647,6 +679,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Data": "10.12.0", "Jellyfin.Extensions": "10.12.0", "Jellyfin.Sdk": "2025.10.21" @@ -665,8 +698,10 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", - "Jellyfin.Model": "10.12.0" + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Naming.dll": {} @@ -790,6 +825,21 @@ "unicode-icon-128x128.jpg" ] }, + "IDisposableAnalyzers/4.0.8": { + "sha512": "vNi4NMG0CcJyjXxiNDcQ21FwV/whM9o9OEZKD+oP7tuxAqFEzX/x5OhC3OZJqW/w+8GOtCmJPBquYgMWgz0rfQ==", + "type": "package", + "path": "idisposableanalyzers/4.0.8", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/IDisposableAnalyzers.dll", + "idisposableanalyzers.4.0.8.nupkg.sha512", + "idisposableanalyzers.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "J2N/2.0.0": { "sha512": "M5bwDajAARZiyqupU+rHQJnsVLxNBOHJ8vKYHd8LcLIb1FgLfzzcJvc31Qo5Xz/GEHFjDF9ScjKL/ks/zRTXuA==", "type": "package", @@ -852,6 +902,74 @@ "lib/netstandard2.1/Jellyfin.XmlTv.xml" ] }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": { + "sha512": "gSWJlDWwmDhtbrEJGiHqvEjz9KthIiFD0qYB8zZ6a7z+xpMSPEtM9yTYELSa58iFWYlzSRqP9FXO6KoT3+ZMtg==", + "type": "package", + "path": "microsoft.codeanalysis.bannedapianalyzers/4.14.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "ThirdPartyNotices.txt", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.BannedApiAnalyzers.dll", + "analyzers/dotnet/cs/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.BannedApiAnalyzers.dll", + "analyzers/dotnet/vb/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props", + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets", + "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.md", + "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.sarif", + "editorconfig/AllRulesDefault/.editorconfig", + "editorconfig/AllRulesDisabled/.editorconfig", + "editorconfig/AllRulesEnabled/.editorconfig", + "editorconfig/ApiDesignRulesDefault/.editorconfig", + "editorconfig/ApiDesignRulesEnabled/.editorconfig", + "editorconfig/DataflowRulesDefault/.editorconfig", + "editorconfig/DataflowRulesEnabled/.editorconfig", + "editorconfig/PortedFromFxCopRulesDefault/.editorconfig", + "editorconfig/PortedFromFxCopRulesEnabled/.editorconfig", + "microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512", + "microsoft.codeanalysis.bannedapianalyzers.nuspec", + "rulesets/AllRulesDefault.ruleset", + "rulesets/AllRulesDisabled.ruleset", + "rulesets/AllRulesEnabled.ruleset", + "rulesets/ApiDesignRulesDefault.ruleset", + "rulesets/ApiDesignRulesEnabled.ruleset", + "rulesets/DataflowRulesDefault.ruleset", + "rulesets/DataflowRulesEnabled.ruleset", + "rulesets/PortedFromFxCopRulesDefault.ruleset", + "rulesets/PortedFromFxCopRulesEnabled.ruleset", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": { "sha512": "Nox5NDdfvErlYUc9dyMlI7OzyrVQPKBzaq9P+SqMbAOm+gdG5KjtxpIkk7I/6NhcQ85HYaug/tEEnb7RvYdEYA==", "type": "package", @@ -1493,6 +1611,36 @@ "polly.core.nuspec" ] }, + "SerilogAnalyzer/0.15.0": { + "sha512": "sVpwfls4MfNnwIXLSGCgaUnV+c9kgJ8ia6GsyRcpd4Vs3gLogSDtSYBYrre2K2u/PNMo8GgG09RehwVnze70Tw==", + "type": "package", + "path": "seriloganalyzer/0.15.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/SerilogAnalyzer.dll", + "seriloganalyzer.0.15.0.nupkg.sha512", + "seriloganalyzer.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, + "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": { + "sha512": "2f2k7bbhDd132ArglCKpzKoWBcp3uzbIFcb4aosnlqIKlfYKDE2HevBVRNVa+LkWFnjXFFWs47Bo96fu8iS//Q==", + "type": "package", + "path": "smartanalyzers.multithreadinganalyzer/1.1.31", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/SmartAnalyzers.MultithreadingAnalyzer.dll", + "smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512", + "smartanalyzers.multithreadinganalyzer.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Std.UriTemplate/2.0.5": { "sha512": "PtqPdWNBObRcDHjyjbgOz2XoCJQaiA+HNDPQve/O7yGCkospfHDCuH9ULVx1msImwHHG+uhpDjiZX7bpLN/cnw==", "type": "package", @@ -1507,6 +1655,45 @@ "std.uritemplate.nuspec" ] }, + "StyleCop.Analyzers/1.2.0-beta.556": { + "sha512": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==", + "type": "package", + "path": "stylecop.analyzers/1.2.0-beta.556", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "THIRD-PARTY-NOTICES.txt", + "stylecop.analyzers.1.2.0-beta.556.nupkg.sha512", + "stylecop.analyzers.nuspec" + ] + }, + "StyleCop.Analyzers.Unstable/1.2.0.556": { + "sha512": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==", + "type": "package", + "path": "stylecop.analyzers.unstable/1.2.0.556", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "THIRD-PARTY-NOTICES.txt", + "analyzers/dotnet/cs/StyleCop.Analyzers.CodeFixes.dll", + "analyzers/dotnet/cs/StyleCop.Analyzers.dll", + "analyzers/dotnet/cs/de-DE/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/en-GB/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/es-MX/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/fr-FR/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/pl-PL/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/pt-BR/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/ru-RU/StyleCop.Analyzers.resources.dll", + "rulesets/StyleCopAnalyzersDefault.ruleset", + "stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512", + "stylecop.analyzers.unstable.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Jellyfin.CodeAnalysis/1.0.0": { "type": "project", "path": "../Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj", @@ -1556,11 +1743,17 @@ "projectFileDependencyGroups": { "net11.0": [ "AsyncKeyedLock >= 8.0.2", + "IDisposableAnalyzers >= 4.0.8", + "Jellyfin.CodeAnalysis >= 1.0.0", "Jellyfin.Common >= 10.12.0", "Jellyfin.Controller >= 10.12.0", "Jellyfin.Model >= 10.12.0", "Jellyfin.Sdk >= 2025.10.21", - "Jellyfin.XmlTv >= 10.8.0" + "Jellyfin.XmlTv >= 10.8.0", + "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0", + "SerilogAnalyzer >= 0.15.0", + "SmartAnalyzers.MultithreadingAnalyzer >= 1.1.31", + "StyleCop.Analyzers >= 1.2.0-beta.556" ] }, "packageFolders": { @@ -1605,6 +1798,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -1635,6 +1831,13 @@ "version": "[8.0.2, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -1644,6 +1847,31 @@ "target": "Package", "version": "[10.8.0, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { diff --git a/src/Jellyfin.LiveTv/obj/project.nuget.cache b/src/Jellyfin.LiveTv/obj/project.nuget.cache index 758c65d8..96bf1989 100644 --- a/src/Jellyfin.LiveTv/obj/project.nuget.cache +++ b/src/Jellyfin.LiveTv/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "U8eneO6Tg34=", + "dgSpecHash": "Wq1Uahcka68=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.LiveTv\\Jellyfin.LiveTv.csproj", "expectedPackageFiles": [ @@ -9,9 +9,11 @@ "C:\\Users\\wjones\\.nuget\\packages\\diacritics\\4.1.4\\diacritics.4.1.4.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\icu4n\\60.1.0-alpha.356\\icu4n.60.1.0-alpha.356.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\icu4n.transliterator\\60.1.0-alpha.356\\icu4n.transliterator.60.1.0-alpha.356.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\idisposableanalyzers\\4.0.8\\idisposableanalyzers.4.0.8.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\j2n\\2.0.0\\j2n.2.0.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\jellyfin.sdk\\2025.10.21\\jellyfin.sdk.2025.10.21.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\jellyfin.xmltv\\10.8.0\\jellyfin.xmltv.10.8.0.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.bannedapianalyzers\\4.14.0\\microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.11.0.0-preview.1.26104.118.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.abstractions.11.0.0-preview.1.26104.118.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.analyzers.11.0.0-preview.1.26104.118.nupkg.sha512", @@ -36,7 +38,11 @@ "C:\\Users\\wjones\\.nuget\\packages\\nebml\\1.1.0.5\\nebml.1.1.0.5.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\polly\\8.6.5\\polly.8.6.5.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\polly.core\\8.6.5\\polly.core.8.6.5.nupkg.sha512", - "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512" + "C:\\Users\\wjones\\.nuget\\packages\\seriloganalyzer\\0.15.0\\seriloganalyzer.0.15.0.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\smartanalyzers.multithreadinganalyzer\\1.1.31\\smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers\\1.2.0-beta.556\\stylecop.analyzers.1.2.0-beta.556.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers.unstable\\1.2.0.556\\stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512" ], "logs": [] } \ No newline at end of file diff --git a/src/Jellyfin.MediaEncoding.Hls/obj/Jellyfin.MediaEncoding.Hls.csproj.nuget.dgspec.json b/src/Jellyfin.MediaEncoding.Hls/obj/Jellyfin.MediaEncoding.Hls.csproj.nuget.dgspec.json index ab2e0839..499e0262 100644 --- a/src/Jellyfin.MediaEncoding.Hls/obj/Jellyfin.MediaEncoding.Hls.csproj.nuget.dgspec.json +++ b/src/Jellyfin.MediaEncoding.Hls/obj/Jellyfin.MediaEncoding.Hls.csproj.nuget.dgspec.json @@ -39,20 +39,13 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } }, - "warningProperties": { - "allWarningsAsErrors": true, - "warnAsError": [ - "NU1605" - ], - "warnNotAsError": [ - "NU1902", - "NU1903" - ] - }, "restoreAuditProperties": { "enableAudit": "true", "auditLevel": "low", @@ -63,6 +56,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -473,6 +505,9 @@ "net11.0": { "targetAlias": "net11.0", "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -500,10 +535,47 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Logging": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -918,6 +990,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -942,6 +1017,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -1505,6 +1619,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj" } @@ -1537,15 +1654,47 @@ "version": "[2.5.4, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Configuration.Binder": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -1961,6 +2110,9 @@ "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj" } @@ -1988,17 +2140,49 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "MimeTypes": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", "target": "Package", "version": "[2.5.2, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -2578,6 +2762,13 @@ "netstandard2.0": { "targetAlias": "netstandard2.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -2589,6 +2780,13 @@ "version": "[3.11.0, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.CodeAnalysis.CSharp": { "suppressParent": "All", "target": "Package", @@ -2600,6 +2798,24 @@ "target": "Package", "version": "[2.0.3, )", "autoReferenced": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -2732,7 +2948,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -2756,6 +2976,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -2779,6 +3013,24 @@ "target": "Package", "version": "[8.6.5, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -3190,7 +3442,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -3227,10 +3483,42 @@ "version": "[60.1.0-alpha.356, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { diff --git a/src/Jellyfin.MediaEncoding.Hls/obj/project.assets.json b/src/Jellyfin.MediaEncoding.Hls/obj/project.assets.json index dbf59ab3..ac23a92c 100644 --- a/src/Jellyfin.MediaEncoding.Hls/obj/project.assets.json +++ b/src/Jellyfin.MediaEncoding.Hls/obj/project.assets.json @@ -553,7 +553,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { - "Jellyfin.Model": "10.12.0" + "Jellyfin.CodeAnalysis": "1.0.0", + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Common.dll": {} @@ -570,6 +572,7 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "BitFaster.Caching": "2.5.4", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.MediaEncoding.Keyframes": "10.11.0", "Jellyfin.Model": "10.12.0", @@ -588,7 +591,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Database.Implementations": "10.11.0", + "Jellyfin.Sdk": "2025.10.21", "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118" }, "compile": { @@ -602,6 +607,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", "Polly": "8.6.5" }, @@ -618,6 +624,7 @@ "dependencies": { "Diacritics": "4.1.4", "ICU4N.Transliterator": "60.1.0-alpha.356", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Sdk": "2025.10.21" }, "compile": { @@ -646,6 +653,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Data": "10.12.0", "Jellyfin.Extensions": "10.12.0", "Jellyfin.Sdk": "2025.10.21" @@ -664,8 +672,10 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", - "Jellyfin.Model": "10.12.0" + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Naming.dll": {} diff --git a/src/Jellyfin.MediaEncoding.Hls/obj/project.nuget.cache b/src/Jellyfin.MediaEncoding.Hls/obj/project.nuget.cache index 6df5a709..86ecdc7f 100644 --- a/src/Jellyfin.MediaEncoding.Hls/obj/project.nuget.cache +++ b/src/Jellyfin.MediaEncoding.Hls/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "S8QzujIGrtw=", + "dgSpecHash": "2kUNnZdwGG8=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Hls\\Jellyfin.MediaEncoding.Hls.csproj", "expectedPackageFiles": [ diff --git a/src/Jellyfin.MediaEncoding.Keyframes/obj/Jellyfin.MediaEncoding.Keyframes.csproj.nuget.dgspec.json b/src/Jellyfin.MediaEncoding.Keyframes/obj/Jellyfin.MediaEncoding.Keyframes.csproj.nuget.dgspec.json index f60f59da..7f88ae98 100644 --- a/src/Jellyfin.MediaEncoding.Keyframes/obj/Jellyfin.MediaEncoding.Keyframes.csproj.nuget.dgspec.json +++ b/src/Jellyfin.MediaEncoding.Keyframes/obj/Jellyfin.MediaEncoding.Keyframes.csproj.nuget.dgspec.json @@ -57,6 +57,13 @@ "netstandard2.0": { "targetAlias": "netstandard2.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -68,6 +75,13 @@ "version": "[3.11.0, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.CodeAnalysis.CSharp": { "suppressParent": "All", "target": "Package", @@ -79,6 +93,24 @@ "target": "Package", "version": "[2.0.3, )", "autoReferenced": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { diff --git a/src/Jellyfin.MediaEncoding.Keyframes/obj/project.nuget.cache b/src/Jellyfin.MediaEncoding.Keyframes/obj/project.nuget.cache index 3ea1f4c8..f6c37485 100644 --- a/src/Jellyfin.MediaEncoding.Keyframes/obj/project.nuget.cache +++ b/src/Jellyfin.MediaEncoding.Keyframes/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "phtk2RJzTyA=", + "dgSpecHash": "mTVFQQSIGo8=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj", "expectedPackageFiles": [ diff --git a/src/Jellyfin.Networking/obj/Jellyfin.Networking.csproj.nuget.dgspec.json b/src/Jellyfin.Networking/obj/Jellyfin.Networking.csproj.nuget.dgspec.json index a013a400..7879778f 100644 --- a/src/Jellyfin.Networking/obj/Jellyfin.Networking.csproj.nuget.dgspec.json +++ b/src/Jellyfin.Networking/obj/Jellyfin.Networking.csproj.nuget.dgspec.json @@ -39,20 +39,13 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } }, - "warningProperties": { - "allWarningsAsErrors": true, - "warnAsError": [ - "NU1605" - ], - "warnNotAsError": [ - "NU1902", - "NU1903" - ] - }, "restoreAuditProperties": { "enableAudit": "true", "auditLevel": "low", @@ -63,6 +56,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -473,6 +505,9 @@ "net11.0": { "targetAlias": "net11.0", "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -500,10 +535,47 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Logging": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -918,6 +990,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -942,6 +1017,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -1505,6 +1619,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj" } @@ -1537,15 +1654,47 @@ "version": "[2.5.4, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Configuration.Binder": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -1961,6 +2110,9 @@ "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj" } @@ -1988,17 +2140,49 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "MimeTypes": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", "target": "Package", "version": "[2.5.2, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -2578,6 +2762,13 @@ "netstandard2.0": { "targetAlias": "netstandard2.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -2589,6 +2780,13 @@ "version": "[3.11.0, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.CodeAnalysis.CSharp": { "suppressParent": "All", "target": "Package", @@ -2600,6 +2798,24 @@ "target": "Package", "version": "[2.0.3, )", "autoReferenced": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -2732,7 +2948,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -2756,6 +2976,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -2779,6 +3013,24 @@ "target": "Package", "version": "[8.6.5, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -3190,7 +3442,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -3227,10 +3483,42 @@ "version": "[60.1.0-alpha.356, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -4128,6 +4416,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -4152,6 +4443,40 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", diff --git a/src/Jellyfin.Networking/obj/Jellyfin.Networking.csproj.nuget.g.props b/src/Jellyfin.Networking/obj/Jellyfin.Networking.csproj.nuget.g.props index 59d22c92..651d5bb6 100644 --- a/src/Jellyfin.Networking/obj/Jellyfin.Networking.csproj.nuget.g.props +++ b/src/Jellyfin.Networking/obj/Jellyfin.Networking.csproj.nuget.g.props @@ -15,5 +15,13 @@ + + + C:\Users\wjones\.nuget\packages\stylecop.analyzers.unstable\1.2.0.556 + C:\Users\wjones\.nuget\packages\smartanalyzers.multithreadinganalyzer\1.1.31 + C:\Users\wjones\.nuget\packages\seriloganalyzer\0.15.0 + C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.bannedapianalyzers\4.14.0 + C:\Users\wjones\.nuget\packages\idisposableanalyzers\4.0.8 + \ No newline at end of file diff --git a/src/Jellyfin.Networking/obj/Jellyfin.Networking.csproj.nuget.g.targets b/src/Jellyfin.Networking/obj/Jellyfin.Networking.csproj.nuget.g.targets index 693275db..fee5dc52 100644 --- a/src/Jellyfin.Networking/obj/Jellyfin.Networking.csproj.nuget.g.targets +++ b/src/Jellyfin.Networking/obj/Jellyfin.Networking.csproj.nuget.g.targets @@ -4,5 +4,6 @@ + \ No newline at end of file diff --git a/src/Jellyfin.Networking/obj/project.assets.json b/src/Jellyfin.Networking/obj/project.assets.json index 2783936d..1130314a 100644 --- a/src/Jellyfin.Networking/obj/project.assets.json +++ b/src/Jellyfin.Networking/obj/project.assets.json @@ -61,6 +61,9 @@ } } }, + "IDisposableAnalyzers/4.0.8": { + "type": "package" + }, "J2N/2.0.0": { "type": "package", "compile": { @@ -95,6 +98,13 @@ } } }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": { + "type": "package", + "build": { + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props": {}, + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets": {} + } + }, "Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": { "type": "package", "dependencies": { @@ -502,6 +512,12 @@ } } }, + "SerilogAnalyzer/0.15.0": { + "type": "package" + }, + "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": { + "type": "package" + }, "Std.UriTemplate/2.0.5": { "type": "package", "compile": { @@ -511,6 +527,15 @@ "lib/net5.0/Std.UriTemplate.dll": {} } }, + "StyleCop.Analyzers/1.2.0-beta.556": { + "type": "package", + "dependencies": { + "StyleCop.Analyzers.Unstable": "1.2.0.556" + } + }, + "StyleCop.Analyzers.Unstable/1.2.0.556": { + "type": "package" + }, "Jellyfin.CodeAnalysis/1.0.0": { "type": "project", "framework": ".NETStandard,Version=v2.0", @@ -528,7 +553,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { - "Jellyfin.Model": "10.12.0" + "Jellyfin.CodeAnalysis": "1.0.0", + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Common.dll": {} @@ -545,6 +572,7 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "BitFaster.Caching": "2.5.4", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.MediaEncoding.Keyframes": "10.11.0", "Jellyfin.Model": "10.12.0", @@ -563,7 +591,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Database.Implementations": "10.11.0", + "Jellyfin.Sdk": "2025.10.21", "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118" }, "compile": { @@ -577,6 +607,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", "Polly": "8.6.5" }, @@ -593,6 +624,7 @@ "dependencies": { "Diacritics": "4.1.4", "ICU4N.Transliterator": "60.1.0-alpha.356", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Sdk": "2025.10.21" }, "compile": { @@ -621,6 +653,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Data": "10.12.0", "Jellyfin.Extensions": "10.12.0", "Jellyfin.Sdk": "2025.10.21" @@ -639,8 +672,10 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", - "Jellyfin.Model": "10.12.0" + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Naming.dll": {} @@ -737,6 +772,21 @@ "unicode-icon-128x128.jpg" ] }, + "IDisposableAnalyzers/4.0.8": { + "sha512": "vNi4NMG0CcJyjXxiNDcQ21FwV/whM9o9OEZKD+oP7tuxAqFEzX/x5OhC3OZJqW/w+8GOtCmJPBquYgMWgz0rfQ==", + "type": "package", + "path": "idisposableanalyzers/4.0.8", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/IDisposableAnalyzers.dll", + "idisposableanalyzers.4.0.8.nupkg.sha512", + "idisposableanalyzers.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "J2N/2.0.0": { "sha512": "M5bwDajAARZiyqupU+rHQJnsVLxNBOHJ8vKYHd8LcLIb1FgLfzzcJvc31Qo5Xz/GEHFjDF9ScjKL/ks/zRTXuA==", "type": "package", @@ -784,6 +834,74 @@ "lib/netstandard2.1/Jellyfin.Sdk.xml" ] }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers/4.14.0": { + "sha512": "gSWJlDWwmDhtbrEJGiHqvEjz9KthIiFD0qYB8zZ6a7z+xpMSPEtM9yTYELSa58iFWYlzSRqP9FXO6KoT3+ZMtg==", + "type": "package", + "path": "microsoft.codeanalysis.bannedapianalyzers/4.14.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "ThirdPartyNotices.txt", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.BannedApiAnalyzers.dll", + "analyzers/dotnet/cs/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/cs/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.BannedApiAnalyzers.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.BannedApiAnalyzers.dll", + "analyzers/dotnet/vb/cs/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/de/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/es/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/fr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/it/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ja/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ko/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/pl/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/pt-BR/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/ru/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/tr/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hans/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "analyzers/dotnet/vb/zh-Hant/Microsoft.CodeAnalysis.BannedApiAnalyzers.resources.dll", + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.props", + "buildTransitive/Microsoft.CodeAnalysis.BannedApiAnalyzers.targets", + "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.md", + "documentation/Microsoft.CodeAnalysis.BannedApiAnalyzers.sarif", + "editorconfig/AllRulesDefault/.editorconfig", + "editorconfig/AllRulesDisabled/.editorconfig", + "editorconfig/AllRulesEnabled/.editorconfig", + "editorconfig/ApiDesignRulesDefault/.editorconfig", + "editorconfig/ApiDesignRulesEnabled/.editorconfig", + "editorconfig/DataflowRulesDefault/.editorconfig", + "editorconfig/DataflowRulesEnabled/.editorconfig", + "editorconfig/PortedFromFxCopRulesDefault/.editorconfig", + "editorconfig/PortedFromFxCopRulesEnabled/.editorconfig", + "microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512", + "microsoft.codeanalysis.bannedapianalyzers.nuspec", + "rulesets/AllRulesDefault.ruleset", + "rulesets/AllRulesDisabled.ruleset", + "rulesets/AllRulesEnabled.ruleset", + "rulesets/ApiDesignRulesDefault.ruleset", + "rulesets/ApiDesignRulesEnabled.ruleset", + "rulesets/DataflowRulesDefault.ruleset", + "rulesets/DataflowRulesEnabled.ruleset", + "rulesets/PortedFromFxCopRulesDefault.ruleset", + "rulesets/PortedFromFxCopRulesEnabled.ruleset", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Microsoft.EntityFrameworkCore/11.0.0-preview.1.26104.118": { "sha512": "Nox5NDdfvErlYUc9dyMlI7OzyrVQPKBzaq9P+SqMbAOm+gdG5KjtxpIkk7I/6NhcQ85HYaug/tEEnb7RvYdEYA==", "type": "package", @@ -1425,6 +1543,36 @@ "polly.core.nuspec" ] }, + "SerilogAnalyzer/0.15.0": { + "sha512": "sVpwfls4MfNnwIXLSGCgaUnV+c9kgJ8ia6GsyRcpd4Vs3gLogSDtSYBYrre2K2u/PNMo8GgG09RehwVnze70Tw==", + "type": "package", + "path": "seriloganalyzer/0.15.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/SerilogAnalyzer.dll", + "seriloganalyzer.0.15.0.nupkg.sha512", + "seriloganalyzer.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, + "SmartAnalyzers.MultithreadingAnalyzer/1.1.31": { + "sha512": "2f2k7bbhDd132ArglCKpzKoWBcp3uzbIFcb4aosnlqIKlfYKDE2HevBVRNVa+LkWFnjXFFWs47Bo96fu8iS//Q==", + "type": "package", + "path": "smartanalyzers.multithreadinganalyzer/1.1.31", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/dotnet/cs/SmartAnalyzers.MultithreadingAnalyzer.dll", + "smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512", + "smartanalyzers.multithreadinganalyzer.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Std.UriTemplate/2.0.5": { "sha512": "PtqPdWNBObRcDHjyjbgOz2XoCJQaiA+HNDPQve/O7yGCkospfHDCuH9ULVx1msImwHHG+uhpDjiZX7bpLN/cnw==", "type": "package", @@ -1439,6 +1587,45 @@ "std.uritemplate.nuspec" ] }, + "StyleCop.Analyzers/1.2.0-beta.556": { + "sha512": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==", + "type": "package", + "path": "stylecop.analyzers/1.2.0-beta.556", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "THIRD-PARTY-NOTICES.txt", + "stylecop.analyzers.1.2.0-beta.556.nupkg.sha512", + "stylecop.analyzers.nuspec" + ] + }, + "StyleCop.Analyzers.Unstable/1.2.0.556": { + "sha512": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==", + "type": "package", + "path": "stylecop.analyzers.unstable/1.2.0.556", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "THIRD-PARTY-NOTICES.txt", + "analyzers/dotnet/cs/StyleCop.Analyzers.CodeFixes.dll", + "analyzers/dotnet/cs/StyleCop.Analyzers.dll", + "analyzers/dotnet/cs/de-DE/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/en-GB/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/es-MX/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/fr-FR/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/pl-PL/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/pt-BR/StyleCop.Analyzers.resources.dll", + "analyzers/dotnet/cs/ru-RU/StyleCop.Analyzers.resources.dll", + "rulesets/StyleCopAnalyzersDefault.ruleset", + "stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512", + "stylecop.analyzers.unstable.nuspec", + "tools/install.ps1", + "tools/uninstall.ps1" + ] + }, "Jellyfin.CodeAnalysis/1.0.0": { "type": "project", "path": "../Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj", @@ -1487,8 +1674,14 @@ }, "projectFileDependencyGroups": { "net11.0": [ + "IDisposableAnalyzers >= 4.0.8", + "Jellyfin.CodeAnalysis >= 1.0.0", "Jellyfin.Common >= 10.12.0", - "Jellyfin.Controller >= 10.12.0" + "Jellyfin.Controller >= 10.12.0", + "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0", + "SerilogAnalyzer >= 0.15.0", + "SmartAnalyzers.MultithreadingAnalyzer >= 1.1.31", + "StyleCop.Analyzers >= 1.2.0-beta.556" ] }, "packageFolders": { @@ -1530,6 +1723,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -1554,6 +1750,40 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", diff --git a/src/Jellyfin.Networking/obj/project.nuget.cache b/src/Jellyfin.Networking/obj/project.nuget.cache index 40e9d2de..bde2e2ce 100644 --- a/src/Jellyfin.Networking/obj/project.nuget.cache +++ b/src/Jellyfin.Networking/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "Zk1SCbAayGM=", + "dgSpecHash": "o8ef9/49oOU=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Networking\\Jellyfin.Networking.csproj", "expectedPackageFiles": [ @@ -8,8 +8,10 @@ "C:\\Users\\wjones\\.nuget\\packages\\diacritics\\4.1.4\\diacritics.4.1.4.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\icu4n\\60.1.0-alpha.356\\icu4n.60.1.0-alpha.356.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\icu4n.transliterator\\60.1.0-alpha.356\\icu4n.transliterator.60.1.0-alpha.356.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\idisposableanalyzers\\4.0.8\\idisposableanalyzers.4.0.8.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\j2n\\2.0.0\\j2n.2.0.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\jellyfin.sdk\\2025.10.21\\jellyfin.sdk.2025.10.21.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\microsoft.codeanalysis.bannedapianalyzers\\4.14.0\\microsoft.codeanalysis.bannedapianalyzers.4.14.0.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.11.0.0-preview.1.26104.118.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.abstractions.11.0.0-preview.1.26104.118.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\11.0.0-preview.1.26104.118\\microsoft.entityframeworkcore.analyzers.11.0.0-preview.1.26104.118.nupkg.sha512", @@ -34,7 +36,11 @@ "C:\\Users\\wjones\\.nuget\\packages\\nebml\\1.1.0.5\\nebml.1.1.0.5.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\polly\\8.6.5\\polly.8.6.5.nupkg.sha512", "C:\\Users\\wjones\\.nuget\\packages\\polly.core\\8.6.5\\polly.core.8.6.5.nupkg.sha512", - "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512" + "C:\\Users\\wjones\\.nuget\\packages\\seriloganalyzer\\0.15.0\\seriloganalyzer.0.15.0.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\smartanalyzers.multithreadinganalyzer\\1.1.31\\smartanalyzers.multithreadinganalyzer.1.1.31.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\std.uritemplate\\2.0.5\\std.uritemplate.2.0.5.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers\\1.2.0-beta.556\\stylecop.analyzers.1.2.0-beta.556.nupkg.sha512", + "C:\\Users\\wjones\\.nuget\\packages\\stylecop.analyzers.unstable\\1.2.0.556\\stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512" ], "logs": [] } \ No newline at end of file diff --git a/tests/Jellyfin.Api.Tests/obj/Jellyfin.Api.Tests.csproj.nuget.dgspec.json b/tests/Jellyfin.Api.Tests/obj/Jellyfin.Api.Tests.csproj.nuget.dgspec.json index c0c7e5b6..d64bd8ff 100644 --- a/tests/Jellyfin.Api.Tests/obj/Jellyfin.Api.Tests.csproj.nuget.dgspec.json +++ b/tests/Jellyfin.Api.Tests/obj/Jellyfin.Api.Tests.csproj.nuget.dgspec.json @@ -39,20 +39,13 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } }, - "warningProperties": { - "allWarningsAsErrors": true, - "warnAsError": [ - "NU1605" - ], - "warnNotAsError": [ - "NU1902", - "NU1903" - ] - }, "restoreAuditProperties": { "enableAudit": "true", "auditLevel": "low", @@ -63,6 +56,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -479,6 +511,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.MediaEncoding\\MediaBrowser.MediaEncoding.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.MediaEncoding\\MediaBrowser.MediaEncoding.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Hls\\Jellyfin.MediaEncoding.Hls.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Hls\\Jellyfin.MediaEncoding.Hls.csproj" }, @@ -509,6 +544,13 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -519,11 +561,36 @@ "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Http": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "Swashbuckle.AspNetCore": { "target": "Package", "version": "[7.3.2, )", @@ -945,6 +1012,9 @@ "net11.0": { "targetAlias": "net11.0", "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -972,10 +1042,47 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Logging": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -1397,6 +1504,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" }, @@ -1435,10 +1545,47 @@ "version": "[8.0.2, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Relational": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -1853,6 +2000,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -1877,6 +2027,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -2440,6 +2629,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj" } @@ -2472,15 +2664,47 @@ "version": "[2.5.4, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Configuration.Binder": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -2901,6 +3125,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -2936,16 +3163,48 @@ "version": "[0.8.0, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Http": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "UTF.Unknown": { "target": "Package", "version": "[2.6.0, )", @@ -3370,6 +3629,9 @@ "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj" } @@ -3397,17 +3659,49 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "MimeTypes": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", "target": "Package", "version": "[2.5.2, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -3987,6 +4281,13 @@ "netstandard2.0": { "targetAlias": "netstandard2.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -3998,6 +4299,13 @@ "version": "[3.11.0, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.CodeAnalysis.CSharp": { "suppressParent": "All", "target": "Package", @@ -4009,6 +4317,24 @@ "target": "Package", "version": "[2.0.3, )", "autoReferenced": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -4141,7 +4467,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -4165,6 +4495,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -4188,6 +4532,24 @@ "target": "Package", "version": "[8.6.5, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -4603,6 +4965,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -4630,6 +4995,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", @@ -4658,6 +5037,24 @@ "target": "Package", "version": "[11.0.0-preview.1, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -5073,6 +5470,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -5100,6 +5500,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -5123,6 +5537,24 @@ "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -5534,7 +5966,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -5571,10 +6007,42 @@ "version": "[60.1.0-alpha.356, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -6959,6 +7427,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -6983,6 +7454,40 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -7398,6 +7903,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server.Implementations\\Jellyfin.Server.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server.Implementations\\Jellyfin.Server.Implementations.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } diff --git a/tests/Jellyfin.Api.Tests/obj/project.assets.json b/tests/Jellyfin.Api.Tests/obj/project.assets.json index d618695e..c1f9aae5 100644 --- a/tests/Jellyfin.Api.Tests/obj/project.assets.json +++ b/tests/Jellyfin.Api.Tests/obj/project.assets.json @@ -2065,6 +2065,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.MediaEncoding.Hls": "1.0.0", "Jellyfin.Networking": "1.0.0", @@ -2099,7 +2100,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { - "Jellyfin.Model": "10.12.0" + "Jellyfin.CodeAnalysis": "1.0.0", + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Common.dll": {} @@ -2116,6 +2119,7 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "BitFaster.Caching": "2.5.4", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.MediaEncoding.Keyframes": "10.11.0", "Jellyfin.Model": "10.12.0", @@ -2134,7 +2138,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Database.Implementations": "10.11.0", + "Jellyfin.Sdk": "2025.10.21", "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118" }, "compile": { @@ -2148,6 +2154,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", "Polly": "8.6.5" }, @@ -2162,6 +2169,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Database.Implementations": "10.11.0", "Microsoft.EntityFrameworkCore": "11.0.0-preview.1.26104.118", @@ -2179,6 +2187,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Database.Implementations": "10.11.0", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", @@ -2197,6 +2206,7 @@ "dependencies": { "Diacritics": "4.1.4", "ICU4N.Transliterator": "60.1.0-alpha.356", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Sdk": "2025.10.21" }, "compile": { @@ -2243,6 +2253,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Data": "10.12.0", "Jellyfin.Extensions": "10.12.0", "Jellyfin.Sdk": "2025.10.21" @@ -2261,8 +2272,10 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", - "Jellyfin.Model": "10.12.0" + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Naming.dll": {} @@ -2275,6 +2288,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Controller": "10.12.0" }, @@ -2290,12 +2304,14 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "AsyncKeyedLock": "8.0.2", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.Data": "10.12.0", "Jellyfin.Database.Implementations": "10.11.0", "Jellyfin.Database.Providers.Postgres": "1.0.0", "Jellyfin.Database.Providers.Sqlite": "1.0.0", "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118" }, "compile": { @@ -2311,6 +2327,7 @@ "dependencies": { "AsyncKeyedLock": "8.0.2", "BDInfo": "0.8.0", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.Model": "10.12.0", @@ -5381,6 +5398,7 @@ "AutoFixture.AutoMoq >= 4.18.1", "AutoFixture.Xunit2 >= 4.18.1", "Jellyfin.Api >= 1.0.0", + "Jellyfin.CodeAnalysis >= 1.0.0", "Jellyfin.Server.Implementations >= 1.0.0", "Microsoft.AspNetCore.Mvc.Testing >= 11.0.0-preview.1.26104.118", "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0", @@ -5433,6 +5451,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server.Implementations\\Jellyfin.Server.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server.Implementations\\Jellyfin.Server.Implementations.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } diff --git a/tests/Jellyfin.Api.Tests/obj/project.nuget.cache b/tests/Jellyfin.Api.Tests/obj/project.nuget.cache index 79fa0dfe..c3cdad2e 100644 --- a/tests/Jellyfin.Api.Tests/obj/project.nuget.cache +++ b/tests/Jellyfin.Api.Tests/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "SgCjZHlPcPQ=", + "dgSpecHash": "O1YKQwWO1Jg=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.Api.Tests\\Jellyfin.Api.Tests.csproj", "expectedPackageFiles": [ diff --git a/tests/Jellyfin.Common.Tests/obj/Jellyfin.Common.Tests.csproj.nuget.dgspec.json b/tests/Jellyfin.Common.Tests/obj/Jellyfin.Common.Tests.csproj.nuget.dgspec.json index 3a07c6c4..ae178975 100644 --- a/tests/Jellyfin.Common.Tests/obj/Jellyfin.Common.Tests.csproj.nuget.dgspec.json +++ b/tests/Jellyfin.Common.Tests/obj/Jellyfin.Common.Tests.csproj.nuget.dgspec.json @@ -39,20 +39,13 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } }, - "warningProperties": { - "allWarningsAsErrors": true, - "warnAsError": [ - "NU1605" - ], - "warnNotAsError": [ - "NU1902", - "NU1903" - ] - }, "restoreAuditProperties": { "enableAudit": "true", "auditLevel": "low", @@ -63,6 +56,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -473,6 +505,9 @@ "net11.0": { "targetAlias": "net11.0", "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -500,10 +535,47 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Logging": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -918,6 +990,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -942,6 +1017,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -1505,6 +1619,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj" } @@ -1537,15 +1654,47 @@ "version": "[2.5.4, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Configuration.Binder": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -1961,6 +2110,9 @@ "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj" } @@ -1988,17 +2140,49 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "MimeTypes": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", "target": "Package", "version": "[2.5.2, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -2560,6 +2744,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -2590,6 +2777,13 @@ "version": "[8.0.2, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -2605,6 +2799,13 @@ "version": "[8.0.1, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Caching.Abstractions": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", @@ -2625,6 +2826,24 @@ "version": "[1.4.1, )", "versionCentrallyManaged": true }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "TMDbLib": { "target": "Package", "version": "[2.3.0, )", @@ -3069,6 +3288,13 @@ "netstandard2.0": { "targetAlias": "netstandard2.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -3080,6 +3306,13 @@ "version": "[3.11.0, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.CodeAnalysis.CSharp": { "suppressParent": "All", "target": "Package", @@ -3091,6 +3324,24 @@ "target": "Package", "version": "[2.0.3, )", "autoReferenced": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -3223,7 +3474,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -3247,6 +3502,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -3270,6 +3539,24 @@ "target": "Package", "version": "[8.6.5, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -3681,7 +3968,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -3718,10 +4009,42 @@ "version": "[60.1.0-alpha.356, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -4619,6 +4942,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Providers\\MediaBrowser.Providers.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Providers\\MediaBrowser.Providers.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } diff --git a/tests/Jellyfin.Common.Tests/obj/project.assets.json b/tests/Jellyfin.Common.Tests/obj/project.assets.json index b91fc8f3..892a736f 100644 --- a/tests/Jellyfin.Common.Tests/obj/project.assets.json +++ b/tests/Jellyfin.Common.Tests/obj/project.assets.json @@ -1247,7 +1247,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { - "Jellyfin.Model": "10.12.0" + "Jellyfin.CodeAnalysis": "1.0.0", + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Common.dll": {} @@ -1264,6 +1266,7 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "BitFaster.Caching": "2.5.4", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.MediaEncoding.Keyframes": "10.11.0", "Jellyfin.Model": "10.12.0", @@ -1282,7 +1285,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Database.Implementations": "10.11.0", + "Jellyfin.Sdk": "2025.10.21", "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118" }, "compile": { @@ -1296,6 +1301,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", "Polly": "8.6.5" }, @@ -1312,6 +1318,7 @@ "dependencies": { "Diacritics": "4.1.4", "ICU4N.Transliterator": "60.1.0-alpha.356", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Sdk": "2025.10.21" }, "compile": { @@ -1340,6 +1347,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Data": "10.12.0", "Jellyfin.Extensions": "10.12.0", "Jellyfin.Sdk": "2025.10.21" @@ -1358,8 +1366,10 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", - "Jellyfin.Model": "10.12.0" + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Naming.dll": {} @@ -1373,6 +1383,7 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "AsyncKeyedLock": "8.0.2", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.Model": "10.12.0", "Jellyfin.Sdk": "2025.10.21", @@ -3222,6 +3233,7 @@ "projectFileDependencyGroups": { "net11.0": [ "FsCheck.Xunit >= 3.3.2", + "Jellyfin.CodeAnalysis >= 1.0.0", "Jellyfin.Common >= 10.12.0", "Jellyfin.Sdk >= 2025.10.21", "MediaBrowser.Providers >= 1.0.0", @@ -3274,6 +3286,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Providers\\MediaBrowser.Providers.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Providers\\MediaBrowser.Providers.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } diff --git a/tests/Jellyfin.Common.Tests/obj/project.nuget.cache b/tests/Jellyfin.Common.Tests/obj/project.nuget.cache index d0fa205f..1562062a 100644 --- a/tests/Jellyfin.Common.Tests/obj/project.nuget.cache +++ b/tests/Jellyfin.Common.Tests/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "4eCMyjDitNI=", + "dgSpecHash": "rSTC0c4hKeg=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.Common.Tests\\Jellyfin.Common.Tests.csproj", "expectedPackageFiles": [ diff --git a/tests/Jellyfin.Controller.Tests/obj/Jellyfin.Controller.Tests.csproj.nuget.dgspec.json b/tests/Jellyfin.Controller.Tests/obj/Jellyfin.Controller.Tests.csproj.nuget.dgspec.json index a24523c0..b3ec3a48 100644 --- a/tests/Jellyfin.Controller.Tests/obj/Jellyfin.Controller.Tests.csproj.nuget.dgspec.json +++ b/tests/Jellyfin.Controller.Tests/obj/Jellyfin.Controller.Tests.csproj.nuget.dgspec.json @@ -39,20 +39,13 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } }, - "warningProperties": { - "allWarningsAsErrors": true, - "warnAsError": [ - "NU1605" - ], - "warnNotAsError": [ - "NU1902", - "NU1903" - ] - }, "restoreAuditProperties": { "enableAudit": "true", "auditLevel": "low", @@ -63,6 +56,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -473,6 +505,9 @@ "net11.0": { "targetAlias": "net11.0", "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -500,10 +535,47 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Logging": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -918,6 +990,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -942,6 +1017,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -1505,6 +1619,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj" } @@ -1537,15 +1654,47 @@ "version": "[2.5.4, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Configuration.Binder": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -1961,6 +2110,9 @@ "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj" } @@ -1988,17 +2140,49 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "MimeTypes": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", "target": "Package", "version": "[2.5.2, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -2578,6 +2762,13 @@ "netstandard2.0": { "targetAlias": "netstandard2.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -2589,6 +2780,13 @@ "version": "[3.11.0, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.CodeAnalysis.CSharp": { "suppressParent": "All", "target": "Package", @@ -2600,6 +2798,24 @@ "target": "Package", "version": "[2.0.3, )", "autoReferenced": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -2732,7 +2948,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -2756,6 +2976,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -2779,6 +3013,24 @@ "target": "Package", "version": "[8.6.5, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -3190,7 +3442,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -3227,10 +3483,42 @@ "version": "[60.1.0-alpha.356, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -4125,6 +4413,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } diff --git a/tests/Jellyfin.Controller.Tests/obj/project.assets.json b/tests/Jellyfin.Controller.Tests/obj/project.assets.json index fc6d4155..d0f450b0 100644 --- a/tests/Jellyfin.Controller.Tests/obj/project.assets.json +++ b/tests/Jellyfin.Controller.Tests/obj/project.assets.json @@ -1000,7 +1000,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { - "Jellyfin.Model": "10.12.0" + "Jellyfin.CodeAnalysis": "1.0.0", + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Common.dll": {} @@ -1017,6 +1019,7 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "BitFaster.Caching": "2.5.4", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.MediaEncoding.Keyframes": "10.11.0", "Jellyfin.Model": "10.12.0", @@ -1035,7 +1038,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Database.Implementations": "10.11.0", + "Jellyfin.Sdk": "2025.10.21", "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118" }, "compile": { @@ -1049,6 +1054,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", "Polly": "8.6.5" }, @@ -1065,6 +1071,7 @@ "dependencies": { "Diacritics": "4.1.4", "ICU4N.Transliterator": "60.1.0-alpha.356", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Sdk": "2025.10.21" }, "compile": { @@ -1093,6 +1100,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Data": "10.12.0", "Jellyfin.Extensions": "10.12.0", "Jellyfin.Sdk": "2025.10.21" @@ -1111,8 +1119,10 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", - "Jellyfin.Model": "10.12.0" + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Naming.dll": {} @@ -2694,6 +2704,7 @@ }, "projectFileDependencyGroups": { "net11.0": [ + "Jellyfin.CodeAnalysis >= 1.0.0", "Jellyfin.Controller >= 10.12.0", "Jellyfin.Sdk >= 2025.10.21", "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0", @@ -2743,6 +2754,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } diff --git a/tests/Jellyfin.Controller.Tests/obj/project.nuget.cache b/tests/Jellyfin.Controller.Tests/obj/project.nuget.cache index 063819c9..6ab22ad8 100644 --- a/tests/Jellyfin.Controller.Tests/obj/project.nuget.cache +++ b/tests/Jellyfin.Controller.Tests/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "db2D+E3MrOA=", + "dgSpecHash": "rCzbZx73oRU=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.Controller.Tests\\Jellyfin.Controller.Tests.csproj", "expectedPackageFiles": [ diff --git a/tests/Jellyfin.Extensions.Tests/obj/Jellyfin.Extensions.Tests.csproj.nuget.dgspec.json b/tests/Jellyfin.Extensions.Tests/obj/Jellyfin.Extensions.Tests.csproj.nuget.dgspec.json index 0b2e473a..0586067d 100644 --- a/tests/Jellyfin.Extensions.Tests/obj/Jellyfin.Extensions.Tests.csproj.nuget.dgspec.json +++ b/tests/Jellyfin.Extensions.Tests/obj/Jellyfin.Extensions.Tests.csproj.nuget.dgspec.json @@ -34,6 +34,9 @@ "net11.0": { "targetAlias": "net11.0", "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -61,10 +64,47 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Logging": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -480,6 +520,9 @@ "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj" } @@ -507,17 +550,49 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "MimeTypes": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", "target": "Package", "version": "[2.5.2, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -1044,6 +1119,216 @@ } } }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj", + "projectName": "Jellyfin.CodeAnalysis", + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj", + "packagesPath": "C:\\Users\\wjones\\.nuget\\packages\\", + "outputPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\obj\\", + "projectStyle": "PackageReference", + "centralPackageVersionsManagementEnabled": true, + "fallbackFolders": [ + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" + ], + "configFilePaths": [ + "E:\\Projects\\pgsql-jellyfin\\NuGet.Config", + "C:\\Users\\wjones\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + ], + "originalTargetFrameworks": [ + "netstandard2.0" + ], + "sources": { + "C:\\Program Files\\dotnet\\library-packs": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "netstandard2.0": { + "targetAlias": "netstandard2.0", + "projectReferences": {} + } + }, + "warningProperties": { + "allWarningsAsErrors": true, + "warnAsError": [ + "NU1605" + ], + "warnNotAsError": [ + "NU1902", + "NU1903" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + }, + "SdkAnalysisLevel": "11.0.100" + }, + "frameworks": { + "netstandard2.0": { + "targetAlias": "netstandard2.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[3.11.0, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.CSharp": { + "suppressParent": "All", + "target": "Package", + "version": "[5.0.0, )", + "versionCentrallyManaged": true + }, + "NETStandard.Library": { + "suppressParent": "All", + "target": "Package", + "version": "[2.0.3, )", + "autoReferenced": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, + "centralPackageVersions": { + "AsyncKeyedLock": "8.0.2", + "AutoFixture": "4.18.1", + "AutoFixture.AutoMoq": "4.18.1", + "AutoFixture.Xunit2": "4.18.1", + "BDInfo": "0.8.0", + "BitFaster.Caching": "2.5.4", + "BlurHashSharp": "1.4.0-pre.1", + "BlurHashSharp.SkiaSharp": "1.4.0-pre.1", + "CommandLineParser": "2.9.1", + "coverlet.collector": "8.0.0", + "Diacritics": "4.1.4", + "DiscUtils.Udf": "0.16.13", + "DotNet.Glob": "3.1.3", + "FsCheck.Xunit": "3.3.2", + "HarfBuzzSharp.NativeAssets.Linux": "8.3.1.1", + "ICU4N.Transliterator": "60.1.0-alpha.356", + "IDisposableAnalyzers": "4.0.8", + "Ignore": "0.2.1", + "Jellyfin.Sdk": "2025.10.21", + "Jellyfin.XmlTv": "10.8.0", + "libse": "4.0.12", + "LrcParser": "2025.623.0", + "MetaBrainz.MusicBrainz": "8.0.1", + "Microsoft.AspNetCore.Authorization": "11.0.0-preview.1.26104.118", + "Microsoft.AspNetCore.Mvc.Testing": "11.0.0-preview.1.26104.118", + "Microsoft.CodeAnalysis.Analyzers": "3.11.0", + "Microsoft.CodeAnalysis.BannedApiAnalyzers": "4.14.0", + "Microsoft.CodeAnalysis.Common": "5.0.0", + "Microsoft.CodeAnalysis.CSharp": "5.0.0", + "Microsoft.Data.Sqlite": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore.Design": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore.Sqlite": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore.Tools": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Caching.Abstractions": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Caching.Memory": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Configuration.Abstractions": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Configuration.Binder": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.DependencyInjection": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Hosting.Abstractions": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Http": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Options": "11.0.0-preview.1.26104.118", + "Microsoft.NET.Test.Sdk": "18.0.1", + "MimeTypes": "2.5.2", + "Moq": "4.18.4", + "Morestachio": "5.0.1.631", + "NEbml": "1.1.0.5", + "Newtonsoft.Json": "13.0.4", + "Npgsql.EntityFrameworkCore.PostgreSQL": "11.0.0-preview.1", + "PlaylistsNET": "1.4.1", + "Polly": "8.6.5", + "prometheus-net": "8.2.1", + "prometheus-net.AspNetCore": "8.2.1", + "prometheus-net.DotNetRuntime": "4.4.1", + "Serilog.AspNetCore": "10.0.0", + "Serilog.Enrichers.Thread": "4.0.0", + "Serilog.Expressions": "5.0.0", + "Serilog.Settings.Configuration": "10.0.0", + "Serilog.Sinks.Async": "2.1.0", + "Serilog.Sinks.Console": "6.1.1", + "Serilog.Sinks.File": "7.0.0", + "Serilog.Sinks.Graylog": "3.1.1", + "SerilogAnalyzer": "0.15.0", + "SharpFuzz": "2.2.0", + "SkiaSharp": "[3.116.1]", + "SkiaSharp.HarfBuzz": "[3.116.1]", + "SkiaSharp.NativeAssets.Linux": "[3.116.1]", + "SmartAnalyzers.MultithreadingAnalyzer": "1.1.31", + "StyleCop.Analyzers": "1.2.0-beta.556", + "Svg.Skia": "3.4.1", + "Swashbuckle.AspNetCore": "7.3.2", + "Swashbuckle.AspNetCore.ReDoc": "6.9.0", + "System.Text.Json": "11.0.0-preview.1.26104.118", + "TagLibSharp": "2.3.0", + "TMDbLib": "2.3.0", + "UTF.Unknown": "2.6.0", + "xunit": "2.9.3", + "Xunit.Priority": "1.1.6", + "xunit.runner.visualstudio": "2.8.2", + "Xunit.SkippableFact": "1.5.61", + "z440.atl.core": "7.11.0" + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\11.0.100-preview.1.26104.118\\RuntimeIdentifierGraph.json" + } + } + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "version": "10.11.0", "restore": { @@ -1073,7 +1358,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -1097,6 +1386,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -1120,6 +1423,24 @@ "target": "Package", "version": "[8.6.5, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -1531,7 +1852,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -1568,10 +1893,42 @@ "version": "[60.1.0-alpha.356, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -1987,6 +2344,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj" } diff --git a/tests/Jellyfin.Extensions.Tests/obj/project.assets.json b/tests/Jellyfin.Extensions.Tests/obj/project.assets.json index cbb3413c..0de148c6 100644 --- a/tests/Jellyfin.Extensions.Tests/obj/project.assets.json +++ b/tests/Jellyfin.Extensions.Tests/obj/project.assets.json @@ -954,11 +954,26 @@ "build/net6.0/xunit.runner.visualstudio.props": {} } }, + "Jellyfin.CodeAnalysis/1.0.0": { + "type": "project", + "framework": ".NETStandard,Version=v2.0", + "dependencies": { + "Jellyfin.Sdk": "2025.10.21" + }, + "compile": { + "bin/placeholder/Jellyfin.CodeAnalysis.dll": {} + }, + "runtime": { + "bin/placeholder/Jellyfin.CodeAnalysis.dll": {} + } + }, "Jellyfin.Data/10.12.0": { "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Database.Implementations": "10.11.0", + "Jellyfin.Sdk": "2025.10.21", "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118" }, "compile": { @@ -972,6 +987,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", "Polly": "8.6.5" }, @@ -988,6 +1004,7 @@ "dependencies": { "Diacritics": "4.1.4", "ICU4N.Transliterator": "60.1.0-alpha.356", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Sdk": "2025.10.21" }, "compile": { @@ -1001,6 +1018,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Data": "10.12.0", "Jellyfin.Extensions": "10.12.0", "Jellyfin.Sdk": "2025.10.21" @@ -2423,6 +2441,11 @@ "xunit.runner.visualstudio.nuspec" ] }, + "Jellyfin.CodeAnalysis/1.0.0": { + "type": "project", + "path": "../../src/Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj", + "msbuildProject": "../../src/Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj" + }, "Jellyfin.Data/10.12.0": { "type": "project", "path": "../../Jellyfin.Data/Jellyfin.Data.csproj", @@ -2447,6 +2470,7 @@ "projectFileDependencyGroups": { "net11.0": [ "FsCheck.Xunit >= 3.3.2", + "Jellyfin.CodeAnalysis >= 1.0.0", "Jellyfin.Extensions >= 10.12.0", "Jellyfin.Model >= 10.12.0", "Jellyfin.Sdk >= 2025.10.21", @@ -2497,6 +2521,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj" } diff --git a/tests/Jellyfin.Extensions.Tests/obj/project.nuget.cache b/tests/Jellyfin.Extensions.Tests/obj/project.nuget.cache index 1a95f5c9..7dd496fa 100644 --- a/tests/Jellyfin.Extensions.Tests/obj/project.nuget.cache +++ b/tests/Jellyfin.Extensions.Tests/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "LizuFfX8aRs=", + "dgSpecHash": "en/g4Rojfa8=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.Extensions.Tests\\Jellyfin.Extensions.Tests.csproj", "expectedPackageFiles": [ diff --git a/tests/Jellyfin.LiveTv.Tests/obj/Jellyfin.LiveTv.Tests.csproj.nuget.dgspec.json b/tests/Jellyfin.LiveTv.Tests/obj/Jellyfin.LiveTv.Tests.csproj.nuget.dgspec.json index a85f4af4..4ca8ae70 100644 --- a/tests/Jellyfin.LiveTv.Tests/obj/Jellyfin.LiveTv.Tests.csproj.nuget.dgspec.json +++ b/tests/Jellyfin.LiveTv.Tests/obj/Jellyfin.LiveTv.Tests.csproj.nuget.dgspec.json @@ -39,20 +39,13 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } }, - "warningProperties": { - "allWarningsAsErrors": true, - "warnAsError": [ - "NU1605" - ], - "warnNotAsError": [ - "NU1902", - "NU1903" - ] - }, "restoreAuditProperties": { "enableAudit": "true", "auditLevel": "low", @@ -63,6 +56,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -473,6 +505,9 @@ "net11.0": { "targetAlias": "net11.0", "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -500,10 +535,47 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Logging": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -918,6 +990,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -942,6 +1017,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -1505,6 +1619,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj" } @@ -1537,15 +1654,47 @@ "version": "[2.5.4, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Configuration.Binder": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -1961,6 +2110,9 @@ "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj" } @@ -1988,17 +2140,49 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "MimeTypes": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", "target": "Package", "version": "[2.5.2, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -2578,6 +2762,13 @@ "netstandard2.0": { "targetAlias": "netstandard2.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -2589,6 +2780,13 @@ "version": "[3.11.0, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.CodeAnalysis.CSharp": { "suppressParent": "All", "target": "Package", @@ -2600,6 +2798,24 @@ "target": "Package", "version": "[2.0.3, )", "autoReferenced": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -2732,7 +2948,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -2756,6 +2976,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -2779,6 +3013,24 @@ "target": "Package", "version": "[8.6.5, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -3190,7 +3442,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -3227,10 +3483,42 @@ "version": "[60.1.0-alpha.356, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -3651,6 +3939,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -3681,6 +3972,13 @@ "version": "[8.0.2, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -3690,6 +3988,31 @@ "target": "Package", "version": "[10.8.0, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -4582,6 +4905,9 @@ "net11.0": { "targetAlias": "net11.0", "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.LiveTv\\Jellyfin.LiveTv.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.LiveTv\\Jellyfin.LiveTv.csproj" } diff --git a/tests/Jellyfin.LiveTv.Tests/obj/project.assets.json b/tests/Jellyfin.LiveTv.Tests/obj/project.assets.json index 58289616..365e0e72 100644 --- a/tests/Jellyfin.LiveTv.Tests/obj/project.assets.json +++ b/tests/Jellyfin.LiveTv.Tests/obj/project.assets.json @@ -1120,7 +1120,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { - "Jellyfin.Model": "10.12.0" + "Jellyfin.CodeAnalysis": "1.0.0", + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Common.dll": {} @@ -1137,6 +1139,7 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "BitFaster.Caching": "2.5.4", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.MediaEncoding.Keyframes": "10.11.0", "Jellyfin.Model": "10.12.0", @@ -1155,7 +1158,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Database.Implementations": "10.11.0", + "Jellyfin.Sdk": "2025.10.21", "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118" }, "compile": { @@ -1169,6 +1174,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", "Polly": "8.6.5" }, @@ -1185,6 +1191,7 @@ "dependencies": { "Diacritics": "4.1.4", "ICU4N.Transliterator": "60.1.0-alpha.356", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Sdk": "2025.10.21" }, "compile": { @@ -1199,6 +1206,7 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "AsyncKeyedLock": "8.0.2", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.Model": "10.12.0", @@ -1231,6 +1239,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Data": "10.12.0", "Jellyfin.Extensions": "10.12.0", "Jellyfin.Sdk": "2025.10.21" @@ -1249,8 +1258,10 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", - "Jellyfin.Model": "10.12.0" + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Naming.dll": {} @@ -3005,6 +3016,7 @@ "net11.0": [ "AutoFixture >= 4.18.1", "AutoFixture.AutoMoq >= 4.18.1", + "Jellyfin.CodeAnalysis >= 1.0.0", "Jellyfin.LiveTv >= 1.0.0", "Jellyfin.Sdk >= 2025.10.21", "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0", @@ -3053,6 +3065,9 @@ "net11.0": { "targetAlias": "net11.0", "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.LiveTv\\Jellyfin.LiveTv.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.LiveTv\\Jellyfin.LiveTv.csproj" } diff --git a/tests/Jellyfin.LiveTv.Tests/obj/project.nuget.cache b/tests/Jellyfin.LiveTv.Tests/obj/project.nuget.cache index 828b631c..2b70e0e0 100644 --- a/tests/Jellyfin.LiveTv.Tests/obj/project.nuget.cache +++ b/tests/Jellyfin.LiveTv.Tests/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "n8otvmfeqlY=", + "dgSpecHash": "YQ4opaxxEO8=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.LiveTv.Tests\\Jellyfin.LiveTv.Tests.csproj", "expectedPackageFiles": [ diff --git a/tests/Jellyfin.MediaEncoding.Hls.Tests/obj/Jellyfin.MediaEncoding.Hls.Tests.csproj.nuget.dgspec.json b/tests/Jellyfin.MediaEncoding.Hls.Tests/obj/Jellyfin.MediaEncoding.Hls.Tests.csproj.nuget.dgspec.json index 979936ff..6a75f39d 100644 --- a/tests/Jellyfin.MediaEncoding.Hls.Tests/obj/Jellyfin.MediaEncoding.Hls.Tests.csproj.nuget.dgspec.json +++ b/tests/Jellyfin.MediaEncoding.Hls.Tests/obj/Jellyfin.MediaEncoding.Hls.Tests.csproj.nuget.dgspec.json @@ -39,20 +39,13 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } }, - "warningProperties": { - "allWarningsAsErrors": true, - "warnAsError": [ - "NU1605" - ], - "warnNotAsError": [ - "NU1902", - "NU1903" - ] - }, "restoreAuditProperties": { "enableAudit": "true", "auditLevel": "low", @@ -63,6 +56,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -473,6 +505,9 @@ "net11.0": { "targetAlias": "net11.0", "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -500,10 +535,47 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Logging": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -918,6 +990,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -942,6 +1017,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -1505,6 +1619,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj" } @@ -1537,15 +1654,47 @@ "version": "[2.5.4, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Configuration.Binder": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -1961,6 +2110,9 @@ "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj" } @@ -1988,17 +2140,49 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "MimeTypes": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", "target": "Package", "version": "[2.5.2, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -2578,6 +2762,13 @@ "netstandard2.0": { "targetAlias": "netstandard2.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -2589,6 +2780,13 @@ "version": "[3.11.0, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.CodeAnalysis.CSharp": { "suppressParent": "All", "target": "Package", @@ -2600,6 +2798,24 @@ "target": "Package", "version": "[2.0.3, )", "autoReferenced": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -2732,7 +2948,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -2756,6 +2976,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -2779,6 +3013,24 @@ "target": "Package", "version": "[8.6.5, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -3190,7 +3442,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -3227,10 +3483,42 @@ "version": "[60.1.0-alpha.356, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -4610,6 +4898,9 @@ "net11.0": { "targetAlias": "net11.0", "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Hls\\Jellyfin.MediaEncoding.Hls.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Hls\\Jellyfin.MediaEncoding.Hls.csproj" }, diff --git a/tests/Jellyfin.MediaEncoding.Hls.Tests/obj/project.assets.json b/tests/Jellyfin.MediaEncoding.Hls.Tests/obj/project.assets.json index f483b138..e4ddf4fc 100644 --- a/tests/Jellyfin.MediaEncoding.Hls.Tests/obj/project.assets.json +++ b/tests/Jellyfin.MediaEncoding.Hls.Tests/obj/project.assets.json @@ -942,7 +942,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { - "Jellyfin.Model": "10.12.0" + "Jellyfin.CodeAnalysis": "1.0.0", + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Common.dll": {} @@ -959,6 +961,7 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "BitFaster.Caching": "2.5.4", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.MediaEncoding.Keyframes": "10.11.0", "Jellyfin.Model": "10.12.0", @@ -977,7 +980,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Database.Implementations": "10.11.0", + "Jellyfin.Sdk": "2025.10.21", "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118" }, "compile": { @@ -991,6 +996,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", "Polly": "8.6.5" }, @@ -1007,6 +1013,7 @@ "dependencies": { "Diacritics": "4.1.4", "ICU4N.Transliterator": "60.1.0-alpha.356", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Sdk": "2025.10.21" }, "compile": { @@ -1053,6 +1060,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Data": "10.12.0", "Jellyfin.Extensions": "10.12.0", "Jellyfin.Sdk": "2025.10.21" @@ -1071,8 +1079,10 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", - "Jellyfin.Model": "10.12.0" + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Naming.dll": {} @@ -2584,6 +2594,7 @@ }, "projectFileDependencyGroups": { "net11.0": [ + "Jellyfin.CodeAnalysis >= 1.0.0", "Jellyfin.MediaEncoding.Hls >= 1.0.0", "Jellyfin.MediaEncoding.Keyframes >= 10.11.0", "Jellyfin.Sdk >= 2025.10.21", @@ -2631,6 +2642,9 @@ "net11.0": { "targetAlias": "net11.0", "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Hls\\Jellyfin.MediaEncoding.Hls.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Hls\\Jellyfin.MediaEncoding.Hls.csproj" }, diff --git a/tests/Jellyfin.MediaEncoding.Hls.Tests/obj/project.nuget.cache b/tests/Jellyfin.MediaEncoding.Hls.Tests/obj/project.nuget.cache index 728603f3..8d750119 100644 --- a/tests/Jellyfin.MediaEncoding.Hls.Tests/obj/project.nuget.cache +++ b/tests/Jellyfin.MediaEncoding.Hls.Tests/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "vyYiQiXdsdo=", + "dgSpecHash": "/lT1/xD3XnU=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.MediaEncoding.Hls.Tests\\Jellyfin.MediaEncoding.Hls.Tests.csproj", "expectedPackageFiles": [ diff --git a/tests/Jellyfin.MediaEncoding.Keyframes.Tests/obj/Jellyfin.MediaEncoding.Keyframes.Tests.csproj.nuget.dgspec.json b/tests/Jellyfin.MediaEncoding.Keyframes.Tests/obj/Jellyfin.MediaEncoding.Keyframes.Tests.csproj.nuget.dgspec.json index 04c9123f..5883721c 100644 --- a/tests/Jellyfin.MediaEncoding.Keyframes.Tests/obj/Jellyfin.MediaEncoding.Keyframes.Tests.csproj.nuget.dgspec.json +++ b/tests/Jellyfin.MediaEncoding.Keyframes.Tests/obj/Jellyfin.MediaEncoding.Keyframes.Tests.csproj.nuget.dgspec.json @@ -57,6 +57,13 @@ "netstandard2.0": { "targetAlias": "netstandard2.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -68,6 +75,13 @@ "version": "[3.11.0, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.CodeAnalysis.CSharp": { "suppressParent": "All", "target": "Package", @@ -79,6 +93,24 @@ "target": "Package", "version": "[2.0.3, )", "autoReferenced": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -692,6 +724,9 @@ "net11.0": { "targetAlias": "net11.0", "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj" } diff --git a/tests/Jellyfin.MediaEncoding.Keyframes.Tests/obj/project.assets.json b/tests/Jellyfin.MediaEncoding.Keyframes.Tests/obj/project.assets.json index 9b27332a..2b3f0be2 100644 --- a/tests/Jellyfin.MediaEncoding.Keyframes.Tests/obj/project.assets.json +++ b/tests/Jellyfin.MediaEncoding.Keyframes.Tests/obj/project.assets.json @@ -1444,6 +1444,7 @@ }, "projectFileDependencyGroups": { "net11.0": [ + "Jellyfin.CodeAnalysis >= 1.0.0", "Jellyfin.MediaEncoding.Keyframes >= 10.11.0", "Jellyfin.Sdk >= 2025.10.21", "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0", @@ -1490,6 +1491,9 @@ "net11.0": { "targetAlias": "net11.0", "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj" } diff --git a/tests/Jellyfin.MediaEncoding.Keyframes.Tests/obj/project.nuget.cache b/tests/Jellyfin.MediaEncoding.Keyframes.Tests/obj/project.nuget.cache index 20e8f6e7..546f0827 100644 --- a/tests/Jellyfin.MediaEncoding.Keyframes.Tests/obj/project.nuget.cache +++ b/tests/Jellyfin.MediaEncoding.Keyframes.Tests/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "Zd3h3rZ7uhE=", + "dgSpecHash": "0nvUEzLEN94=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.MediaEncoding.Keyframes.Tests\\Jellyfin.MediaEncoding.Keyframes.Tests.csproj", "expectedPackageFiles": [ diff --git a/tests/Jellyfin.MediaEncoding.Tests/obj/Jellyfin.MediaEncoding.Tests.csproj.nuget.dgspec.json b/tests/Jellyfin.MediaEncoding.Tests/obj/Jellyfin.MediaEncoding.Tests.csproj.nuget.dgspec.json index db7431d9..fd0dd105 100644 --- a/tests/Jellyfin.MediaEncoding.Tests/obj/Jellyfin.MediaEncoding.Tests.csproj.nuget.dgspec.json +++ b/tests/Jellyfin.MediaEncoding.Tests/obj/Jellyfin.MediaEncoding.Tests.csproj.nuget.dgspec.json @@ -39,20 +39,13 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } }, - "warningProperties": { - "allWarningsAsErrors": true, - "warnAsError": [ - "NU1605" - ], - "warnNotAsError": [ - "NU1902", - "NU1903" - ] - }, "restoreAuditProperties": { "enableAudit": "true", "auditLevel": "low", @@ -63,6 +56,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -473,6 +505,9 @@ "net11.0": { "targetAlias": "net11.0", "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -500,10 +535,47 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Logging": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -918,6 +990,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -942,6 +1017,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -1505,6 +1619,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj" } @@ -1537,15 +1654,47 @@ "version": "[2.5.4, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Configuration.Binder": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -1966,6 +2115,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -2001,16 +2153,48 @@ "version": "[0.8.0, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Http": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "UTF.Unknown": { "target": "Package", "version": "[2.6.0, )", @@ -2435,6 +2619,9 @@ "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj" } @@ -2462,17 +2649,49 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "MimeTypes": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", "target": "Package", "version": "[2.5.2, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -3052,6 +3271,13 @@ "netstandard2.0": { "targetAlias": "netstandard2.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -3063,6 +3289,13 @@ "version": "[3.11.0, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.CodeAnalysis.CSharp": { "suppressParent": "All", "target": "Package", @@ -3074,6 +3307,24 @@ "target": "Package", "version": "[2.0.3, )", "autoReferenced": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -3206,7 +3457,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -3230,6 +3485,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -3253,6 +3522,24 @@ "target": "Package", "version": "[8.6.5, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -3664,7 +3951,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -3701,10 +3992,42 @@ "version": "[60.1.0-alpha.356, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -4599,6 +4922,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.MediaEncoding\\MediaBrowser.MediaEncoding.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.MediaEncoding\\MediaBrowser.MediaEncoding.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } diff --git a/tests/Jellyfin.MediaEncoding.Tests/obj/project.assets.json b/tests/Jellyfin.MediaEncoding.Tests/obj/project.assets.json index 5b3f4260..e5f18def 100644 --- a/tests/Jellyfin.MediaEncoding.Tests/obj/project.assets.json +++ b/tests/Jellyfin.MediaEncoding.Tests/obj/project.assets.json @@ -1281,7 +1281,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { - "Jellyfin.Model": "10.12.0" + "Jellyfin.CodeAnalysis": "1.0.0", + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Common.dll": {} @@ -1298,6 +1300,7 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "BitFaster.Caching": "2.5.4", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.MediaEncoding.Keyframes": "10.11.0", "Jellyfin.Model": "10.12.0", @@ -1316,7 +1319,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Database.Implementations": "10.11.0", + "Jellyfin.Sdk": "2025.10.21", "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118" }, "compile": { @@ -1330,6 +1335,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", "Polly": "8.6.5" }, @@ -1346,6 +1352,7 @@ "dependencies": { "Diacritics": "4.1.4", "ICU4N.Transliterator": "60.1.0-alpha.356", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Sdk": "2025.10.21" }, "compile": { @@ -1374,6 +1381,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Data": "10.12.0", "Jellyfin.Extensions": "10.12.0", "Jellyfin.Sdk": "2025.10.21" @@ -1392,8 +1400,10 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", - "Jellyfin.Model": "10.12.0" + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Naming.dll": {} @@ -1408,6 +1418,7 @@ "dependencies": { "AsyncKeyedLock": "8.0.2", "BDInfo": "0.8.0", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.Model": "10.12.0", @@ -3381,6 +3392,7 @@ "AutoFixture >= 4.18.1", "AutoFixture.AutoMoq >= 4.18.1", "AutoFixture.Xunit2 >= 4.18.1", + "Jellyfin.CodeAnalysis >= 1.0.0", "Jellyfin.Sdk >= 2025.10.21", "MediaBrowser.MediaEncoding >= 1.0.0", "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0", @@ -3430,6 +3442,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.MediaEncoding\\MediaBrowser.MediaEncoding.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.MediaEncoding\\MediaBrowser.MediaEncoding.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } diff --git a/tests/Jellyfin.MediaEncoding.Tests/obj/project.nuget.cache b/tests/Jellyfin.MediaEncoding.Tests/obj/project.nuget.cache index d700c1f5..b4bb581b 100644 --- a/tests/Jellyfin.MediaEncoding.Tests/obj/project.nuget.cache +++ b/tests/Jellyfin.MediaEncoding.Tests/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "sHjNVVnFwko=", + "dgSpecHash": "SBmVy71j/UM=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.MediaEncoding.Tests\\Jellyfin.MediaEncoding.Tests.csproj", "expectedPackageFiles": [ diff --git a/tests/Jellyfin.Model.Tests/obj/Jellyfin.Model.Tests.csproj.nuget.dgspec.json b/tests/Jellyfin.Model.Tests/obj/Jellyfin.Model.Tests.csproj.nuget.dgspec.json index 55dd7a0c..8a5ebbea 100644 --- a/tests/Jellyfin.Model.Tests/obj/Jellyfin.Model.Tests.csproj.nuget.dgspec.json +++ b/tests/Jellyfin.Model.Tests/obj/Jellyfin.Model.Tests.csproj.nuget.dgspec.json @@ -34,6 +34,9 @@ "net11.0": { "targetAlias": "net11.0", "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -61,10 +64,47 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Logging": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -480,6 +520,9 @@ "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj" } @@ -507,17 +550,49 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "MimeTypes": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", "target": "Package", "version": "[2.5.2, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -1044,6 +1119,216 @@ } } }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj", + "projectName": "Jellyfin.CodeAnalysis", + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj", + "packagesPath": "C:\\Users\\wjones\\.nuget\\packages\\", + "outputPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\obj\\", + "projectStyle": "PackageReference", + "centralPackageVersionsManagementEnabled": true, + "fallbackFolders": [ + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" + ], + "configFilePaths": [ + "E:\\Projects\\pgsql-jellyfin\\NuGet.Config", + "C:\\Users\\wjones\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + ], + "originalTargetFrameworks": [ + "netstandard2.0" + ], + "sources": { + "C:\\Program Files\\dotnet\\library-packs": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "netstandard2.0": { + "targetAlias": "netstandard2.0", + "projectReferences": {} + } + }, + "warningProperties": { + "allWarningsAsErrors": true, + "warnAsError": [ + "NU1605" + ], + "warnNotAsError": [ + "NU1902", + "NU1903" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + }, + "SdkAnalysisLevel": "11.0.100" + }, + "frameworks": { + "netstandard2.0": { + "targetAlias": "netstandard2.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[3.11.0, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.CSharp": { + "suppressParent": "All", + "target": "Package", + "version": "[5.0.0, )", + "versionCentrallyManaged": true + }, + "NETStandard.Library": { + "suppressParent": "All", + "target": "Package", + "version": "[2.0.3, )", + "autoReferenced": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, + "centralPackageVersions": { + "AsyncKeyedLock": "8.0.2", + "AutoFixture": "4.18.1", + "AutoFixture.AutoMoq": "4.18.1", + "AutoFixture.Xunit2": "4.18.1", + "BDInfo": "0.8.0", + "BitFaster.Caching": "2.5.4", + "BlurHashSharp": "1.4.0-pre.1", + "BlurHashSharp.SkiaSharp": "1.4.0-pre.1", + "CommandLineParser": "2.9.1", + "coverlet.collector": "8.0.0", + "Diacritics": "4.1.4", + "DiscUtils.Udf": "0.16.13", + "DotNet.Glob": "3.1.3", + "FsCheck.Xunit": "3.3.2", + "HarfBuzzSharp.NativeAssets.Linux": "8.3.1.1", + "ICU4N.Transliterator": "60.1.0-alpha.356", + "IDisposableAnalyzers": "4.0.8", + "Ignore": "0.2.1", + "Jellyfin.Sdk": "2025.10.21", + "Jellyfin.XmlTv": "10.8.0", + "libse": "4.0.12", + "LrcParser": "2025.623.0", + "MetaBrainz.MusicBrainz": "8.0.1", + "Microsoft.AspNetCore.Authorization": "11.0.0-preview.1.26104.118", + "Microsoft.AspNetCore.Mvc.Testing": "11.0.0-preview.1.26104.118", + "Microsoft.CodeAnalysis.Analyzers": "3.11.0", + "Microsoft.CodeAnalysis.BannedApiAnalyzers": "4.14.0", + "Microsoft.CodeAnalysis.Common": "5.0.0", + "Microsoft.CodeAnalysis.CSharp": "5.0.0", + "Microsoft.Data.Sqlite": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore.Design": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore.Sqlite": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore.Tools": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Caching.Abstractions": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Caching.Memory": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Configuration.Abstractions": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Configuration.Binder": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.DependencyInjection": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Hosting.Abstractions": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Http": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Options": "11.0.0-preview.1.26104.118", + "Microsoft.NET.Test.Sdk": "18.0.1", + "MimeTypes": "2.5.2", + "Moq": "4.18.4", + "Morestachio": "5.0.1.631", + "NEbml": "1.1.0.5", + "Newtonsoft.Json": "13.0.4", + "Npgsql.EntityFrameworkCore.PostgreSQL": "11.0.0-preview.1", + "PlaylistsNET": "1.4.1", + "Polly": "8.6.5", + "prometheus-net": "8.2.1", + "prometheus-net.AspNetCore": "8.2.1", + "prometheus-net.DotNetRuntime": "4.4.1", + "Serilog.AspNetCore": "10.0.0", + "Serilog.Enrichers.Thread": "4.0.0", + "Serilog.Expressions": "5.0.0", + "Serilog.Settings.Configuration": "10.0.0", + "Serilog.Sinks.Async": "2.1.0", + "Serilog.Sinks.Console": "6.1.1", + "Serilog.Sinks.File": "7.0.0", + "Serilog.Sinks.Graylog": "3.1.1", + "SerilogAnalyzer": "0.15.0", + "SharpFuzz": "2.2.0", + "SkiaSharp": "[3.116.1]", + "SkiaSharp.HarfBuzz": "[3.116.1]", + "SkiaSharp.NativeAssets.Linux": "[3.116.1]", + "SmartAnalyzers.MultithreadingAnalyzer": "1.1.31", + "StyleCop.Analyzers": "1.2.0-beta.556", + "Svg.Skia": "3.4.1", + "Swashbuckle.AspNetCore": "7.3.2", + "Swashbuckle.AspNetCore.ReDoc": "6.9.0", + "System.Text.Json": "11.0.0-preview.1.26104.118", + "TagLibSharp": "2.3.0", + "TMDbLib": "2.3.0", + "UTF.Unknown": "2.6.0", + "xunit": "2.9.3", + "Xunit.Priority": "1.1.6", + "xunit.runner.visualstudio": "2.8.2", + "Xunit.SkippableFact": "1.5.61", + "z440.atl.core": "7.11.0" + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\11.0.100-preview.1.26104.118\\RuntimeIdentifierGraph.json" + } + } + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "version": "10.11.0", "restore": { @@ -1073,7 +1358,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -1097,6 +1386,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -1120,6 +1423,24 @@ "target": "Package", "version": "[8.6.5, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -1531,7 +1852,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -1568,10 +1893,42 @@ "version": "[60.1.0-alpha.356, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -1986,6 +2343,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } diff --git a/tests/Jellyfin.Model.Tests/obj/project.assets.json b/tests/Jellyfin.Model.Tests/obj/project.assets.json index 7ecbb815..bee94196 100644 --- a/tests/Jellyfin.Model.Tests/obj/project.assets.json +++ b/tests/Jellyfin.Model.Tests/obj/project.assets.json @@ -1012,11 +1012,26 @@ "build/net6.0/xunit.runner.visualstudio.props": {} } }, + "Jellyfin.CodeAnalysis/1.0.0": { + "type": "project", + "framework": ".NETStandard,Version=v2.0", + "dependencies": { + "Jellyfin.Sdk": "2025.10.21" + }, + "compile": { + "bin/placeholder/Jellyfin.CodeAnalysis.dll": {} + }, + "runtime": { + "bin/placeholder/Jellyfin.CodeAnalysis.dll": {} + } + }, "Jellyfin.Data/10.12.0": { "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Database.Implementations": "10.11.0", + "Jellyfin.Sdk": "2025.10.21", "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118" }, "compile": { @@ -1030,6 +1045,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", "Polly": "8.6.5" }, @@ -1046,6 +1062,7 @@ "dependencies": { "Diacritics": "4.1.4", "ICU4N.Transliterator": "60.1.0-alpha.356", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Sdk": "2025.10.21" }, "compile": { @@ -1059,6 +1076,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Data": "10.12.0", "Jellyfin.Extensions": "10.12.0", "Jellyfin.Sdk": "2025.10.21" @@ -2556,6 +2574,11 @@ "xunit.runner.visualstudio.nuspec" ] }, + "Jellyfin.CodeAnalysis/1.0.0": { + "type": "project", + "path": "../../src/Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj", + "msbuildProject": "../../src/Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj" + }, "Jellyfin.Data/10.12.0": { "type": "project", "path": "../../Jellyfin.Data/Jellyfin.Data.csproj", @@ -2580,6 +2603,7 @@ "projectFileDependencyGroups": { "net11.0": [ "FsCheck.Xunit >= 3.3.2", + "Jellyfin.CodeAnalysis >= 1.0.0", "Jellyfin.Model >= 10.12.0", "Jellyfin.Sdk >= 2025.10.21", "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0", @@ -2629,6 +2653,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } diff --git a/tests/Jellyfin.Model.Tests/obj/project.nuget.cache b/tests/Jellyfin.Model.Tests/obj/project.nuget.cache index 1e48847a..ecc57c45 100644 --- a/tests/Jellyfin.Model.Tests/obj/project.nuget.cache +++ b/tests/Jellyfin.Model.Tests/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "n/Uqe7ageCk=", + "dgSpecHash": "S2M6GE9E6Mw=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.Model.Tests\\Jellyfin.Model.Tests.csproj", "expectedPackageFiles": [ diff --git a/tests/Jellyfin.Naming.Tests/obj/Jellyfin.Naming.Tests.csproj.nuget.dgspec.json b/tests/Jellyfin.Naming.Tests/obj/Jellyfin.Naming.Tests.csproj.nuget.dgspec.json index be3449fc..d04769e0 100644 --- a/tests/Jellyfin.Naming.Tests/obj/Jellyfin.Naming.Tests.csproj.nuget.dgspec.json +++ b/tests/Jellyfin.Naming.Tests/obj/Jellyfin.Naming.Tests.csproj.nuget.dgspec.json @@ -39,20 +39,13 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } }, - "warningProperties": { - "allWarningsAsErrors": true, - "warnAsError": [ - "NU1605" - ], - "warnNotAsError": [ - "NU1902", - "NU1903" - ] - }, "restoreAuditProperties": { "enableAudit": "true", "auditLevel": "low", @@ -63,6 +56,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -473,6 +505,9 @@ "net11.0": { "targetAlias": "net11.0", "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -500,10 +535,47 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Logging": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -918,6 +990,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -942,6 +1017,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -1499,6 +1613,9 @@ "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj" } @@ -1526,17 +1643,49 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "MimeTypes": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", "target": "Package", "version": "[2.5.2, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -2063,6 +2212,216 @@ } } }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj", + "projectName": "Jellyfin.CodeAnalysis", + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj", + "packagesPath": "C:\\Users\\wjones\\.nuget\\packages\\", + "outputPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\obj\\", + "projectStyle": "PackageReference", + "centralPackageVersionsManagementEnabled": true, + "fallbackFolders": [ + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" + ], + "configFilePaths": [ + "E:\\Projects\\pgsql-jellyfin\\NuGet.Config", + "C:\\Users\\wjones\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + ], + "originalTargetFrameworks": [ + "netstandard2.0" + ], + "sources": { + "C:\\Program Files\\dotnet\\library-packs": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "netstandard2.0": { + "targetAlias": "netstandard2.0", + "projectReferences": {} + } + }, + "warningProperties": { + "allWarningsAsErrors": true, + "warnAsError": [ + "NU1605" + ], + "warnNotAsError": [ + "NU1902", + "NU1903" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + }, + "SdkAnalysisLevel": "11.0.100" + }, + "frameworks": { + "netstandard2.0": { + "targetAlias": "netstandard2.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[3.11.0, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.CSharp": { + "suppressParent": "All", + "target": "Package", + "version": "[5.0.0, )", + "versionCentrallyManaged": true + }, + "NETStandard.Library": { + "suppressParent": "All", + "target": "Package", + "version": "[2.0.3, )", + "autoReferenced": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, + "centralPackageVersions": { + "AsyncKeyedLock": "8.0.2", + "AutoFixture": "4.18.1", + "AutoFixture.AutoMoq": "4.18.1", + "AutoFixture.Xunit2": "4.18.1", + "BDInfo": "0.8.0", + "BitFaster.Caching": "2.5.4", + "BlurHashSharp": "1.4.0-pre.1", + "BlurHashSharp.SkiaSharp": "1.4.0-pre.1", + "CommandLineParser": "2.9.1", + "coverlet.collector": "8.0.0", + "Diacritics": "4.1.4", + "DiscUtils.Udf": "0.16.13", + "DotNet.Glob": "3.1.3", + "FsCheck.Xunit": "3.3.2", + "HarfBuzzSharp.NativeAssets.Linux": "8.3.1.1", + "ICU4N.Transliterator": "60.1.0-alpha.356", + "IDisposableAnalyzers": "4.0.8", + "Ignore": "0.2.1", + "Jellyfin.Sdk": "2025.10.21", + "Jellyfin.XmlTv": "10.8.0", + "libse": "4.0.12", + "LrcParser": "2025.623.0", + "MetaBrainz.MusicBrainz": "8.0.1", + "Microsoft.AspNetCore.Authorization": "11.0.0-preview.1.26104.118", + "Microsoft.AspNetCore.Mvc.Testing": "11.0.0-preview.1.26104.118", + "Microsoft.CodeAnalysis.Analyzers": "3.11.0", + "Microsoft.CodeAnalysis.BannedApiAnalyzers": "4.14.0", + "Microsoft.CodeAnalysis.Common": "5.0.0", + "Microsoft.CodeAnalysis.CSharp": "5.0.0", + "Microsoft.Data.Sqlite": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore.Design": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore.Sqlite": "11.0.0-preview.1.26104.118", + "Microsoft.EntityFrameworkCore.Tools": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Caching.Abstractions": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Caching.Memory": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Configuration.Abstractions": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Configuration.Binder": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.DependencyInjection": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Hosting.Abstractions": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Http": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118", + "Microsoft.Extensions.Options": "11.0.0-preview.1.26104.118", + "Microsoft.NET.Test.Sdk": "18.0.1", + "MimeTypes": "2.5.2", + "Moq": "4.18.4", + "Morestachio": "5.0.1.631", + "NEbml": "1.1.0.5", + "Newtonsoft.Json": "13.0.4", + "Npgsql.EntityFrameworkCore.PostgreSQL": "11.0.0-preview.1", + "PlaylistsNET": "1.4.1", + "Polly": "8.6.5", + "prometheus-net": "8.2.1", + "prometheus-net.AspNetCore": "8.2.1", + "prometheus-net.DotNetRuntime": "4.4.1", + "Serilog.AspNetCore": "10.0.0", + "Serilog.Enrichers.Thread": "4.0.0", + "Serilog.Expressions": "5.0.0", + "Serilog.Settings.Configuration": "10.0.0", + "Serilog.Sinks.Async": "2.1.0", + "Serilog.Sinks.Console": "6.1.1", + "Serilog.Sinks.File": "7.0.0", + "Serilog.Sinks.Graylog": "3.1.1", + "SerilogAnalyzer": "0.15.0", + "SharpFuzz": "2.2.0", + "SkiaSharp": "[3.116.1]", + "SkiaSharp.HarfBuzz": "[3.116.1]", + "SkiaSharp.NativeAssets.Linux": "[3.116.1]", + "SmartAnalyzers.MultithreadingAnalyzer": "1.1.31", + "StyleCop.Analyzers": "1.2.0-beta.556", + "Svg.Skia": "3.4.1", + "Swashbuckle.AspNetCore": "7.3.2", + "Swashbuckle.AspNetCore.ReDoc": "6.9.0", + "System.Text.Json": "11.0.0-preview.1.26104.118", + "TagLibSharp": "2.3.0", + "TMDbLib": "2.3.0", + "UTF.Unknown": "2.6.0", + "xunit": "2.9.3", + "Xunit.Priority": "1.1.6", + "xunit.runner.visualstudio": "2.8.2", + "Xunit.SkippableFact": "1.5.61", + "z440.atl.core": "7.11.0" + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\11.0.100-preview.1.26104.118\\RuntimeIdentifierGraph.json" + } + } + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "version": "10.11.0", "restore": { @@ -2092,7 +2451,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -2116,6 +2479,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -2139,6 +2516,24 @@ "target": "Package", "version": "[8.6.5, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -2550,7 +2945,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -2587,10 +2986,42 @@ "version": "[60.1.0-alpha.356, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -3005,6 +3436,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\Emby.Naming\\Emby.Naming.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Emby.Naming\\Emby.Naming.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } diff --git a/tests/Jellyfin.Naming.Tests/obj/project.assets.json b/tests/Jellyfin.Naming.Tests/obj/project.assets.json index 9063c4d5..e651d8c1 100644 --- a/tests/Jellyfin.Naming.Tests/obj/project.assets.json +++ b/tests/Jellyfin.Naming.Tests/obj/project.assets.json @@ -917,11 +917,26 @@ "build/net6.0/xunit.runner.visualstudio.props": {} } }, + "Jellyfin.CodeAnalysis/1.0.0": { + "type": "project", + "framework": ".NETStandard,Version=v2.0", + "dependencies": { + "Jellyfin.Sdk": "2025.10.21" + }, + "compile": { + "bin/placeholder/Jellyfin.CodeAnalysis.dll": {} + }, + "runtime": { + "bin/placeholder/Jellyfin.CodeAnalysis.dll": {} + } + }, "Jellyfin.Common/10.12.0": { "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { - "Jellyfin.Model": "10.12.0" + "Jellyfin.CodeAnalysis": "1.0.0", + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Common.dll": {} @@ -937,7 +952,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Database.Implementations": "10.11.0", + "Jellyfin.Sdk": "2025.10.21", "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118" }, "compile": { @@ -951,6 +968,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", "Polly": "8.6.5" }, @@ -967,6 +985,7 @@ "dependencies": { "Diacritics": "4.1.4", "ICU4N.Transliterator": "60.1.0-alpha.356", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Sdk": "2025.10.21" }, "compile": { @@ -980,6 +999,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Data": "10.12.0", "Jellyfin.Extensions": "10.12.0", "Jellyfin.Sdk": "2025.10.21" @@ -998,8 +1018,10 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", - "Jellyfin.Model": "10.12.0" + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Naming.dll": {} @@ -2433,6 +2455,11 @@ "xunit.runner.visualstudio.nuspec" ] }, + "Jellyfin.CodeAnalysis/1.0.0": { + "type": "project", + "path": "../../src/Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj", + "msbuildProject": "../../src/Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj" + }, "Jellyfin.Common/10.12.0": { "type": "project", "path": "../../MediaBrowser.Common/MediaBrowser.Common.csproj", @@ -2466,6 +2493,7 @@ }, "projectFileDependencyGroups": { "net11.0": [ + "Jellyfin.CodeAnalysis >= 1.0.0", "Jellyfin.Naming >= 10.12.0", "Jellyfin.Sdk >= 2025.10.21", "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0", @@ -2515,6 +2543,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\Emby.Naming\\Emby.Naming.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Emby.Naming\\Emby.Naming.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } diff --git a/tests/Jellyfin.Naming.Tests/obj/project.nuget.cache b/tests/Jellyfin.Naming.Tests/obj/project.nuget.cache index 96b74000..f9f28ac9 100644 --- a/tests/Jellyfin.Naming.Tests/obj/project.nuget.cache +++ b/tests/Jellyfin.Naming.Tests/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "N3m4/GDb7P0=", + "dgSpecHash": "aetk2kDndoI=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.Naming.Tests\\Jellyfin.Naming.Tests.csproj", "expectedPackageFiles": [ diff --git a/tests/Jellyfin.Networking.Tests/obj/Jellyfin.Networking.Tests.csproj.nuget.dgspec.json b/tests/Jellyfin.Networking.Tests/obj/Jellyfin.Networking.Tests.csproj.nuget.dgspec.json index 498192e0..84591b64 100644 --- a/tests/Jellyfin.Networking.Tests/obj/Jellyfin.Networking.Tests.csproj.nuget.dgspec.json +++ b/tests/Jellyfin.Networking.Tests/obj/Jellyfin.Networking.Tests.csproj.nuget.dgspec.json @@ -39,20 +39,13 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } }, - "warningProperties": { - "allWarningsAsErrors": true, - "warnAsError": [ - "NU1605" - ], - "warnNotAsError": [ - "NU1902", - "NU1903" - ] - }, "restoreAuditProperties": { "enableAudit": "true", "auditLevel": "low", @@ -63,6 +56,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -473,6 +505,9 @@ "net11.0": { "targetAlias": "net11.0", "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -500,10 +535,47 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Logging": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -918,6 +990,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -942,6 +1017,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -1505,6 +1619,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj" } @@ -1537,15 +1654,47 @@ "version": "[2.5.4, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Configuration.Binder": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -1961,6 +2110,9 @@ "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj" } @@ -1988,17 +2140,49 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "MimeTypes": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", "target": "Package", "version": "[2.5.2, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -2578,6 +2762,13 @@ "netstandard2.0": { "targetAlias": "netstandard2.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -2589,6 +2780,13 @@ "version": "[3.11.0, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.CodeAnalysis.CSharp": { "suppressParent": "All", "target": "Package", @@ -2600,6 +2798,24 @@ "target": "Package", "version": "[2.0.3, )", "autoReferenced": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -2732,7 +2948,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -2756,6 +2976,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -2779,6 +3013,24 @@ "target": "Package", "version": "[8.6.5, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -3190,7 +3442,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -3227,10 +3483,42 @@ "version": "[60.1.0-alpha.356, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -4128,6 +4416,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -4152,6 +4443,40 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -4562,6 +4887,9 @@ "net11.0": { "targetAlias": "net11.0", "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Networking\\Jellyfin.Networking.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Networking\\Jellyfin.Networking.csproj" } diff --git a/tests/Jellyfin.Networking.Tests/obj/project.assets.json b/tests/Jellyfin.Networking.Tests/obj/project.assets.json index 244eaad3..5acb6f93 100644 --- a/tests/Jellyfin.Networking.Tests/obj/project.assets.json +++ b/tests/Jellyfin.Networking.Tests/obj/project.assets.json @@ -1095,7 +1095,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { - "Jellyfin.Model": "10.12.0" + "Jellyfin.CodeAnalysis": "1.0.0", + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Common.dll": {} @@ -1112,6 +1114,7 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "BitFaster.Caching": "2.5.4", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.MediaEncoding.Keyframes": "10.11.0", "Jellyfin.Model": "10.12.0", @@ -1130,7 +1133,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Database.Implementations": "10.11.0", + "Jellyfin.Sdk": "2025.10.21", "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118" }, "compile": { @@ -1144,6 +1149,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", "Polly": "8.6.5" }, @@ -1160,6 +1166,7 @@ "dependencies": { "Diacritics": "4.1.4", "ICU4N.Transliterator": "60.1.0-alpha.356", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Sdk": "2025.10.21" }, "compile": { @@ -1188,6 +1195,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Data": "10.12.0", "Jellyfin.Extensions": "10.12.0", "Jellyfin.Sdk": "2025.10.21" @@ -1206,8 +1214,10 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", - "Jellyfin.Model": "10.12.0" + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Naming.dll": {} @@ -1220,6 +1230,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Controller": "10.12.0" }, @@ -2867,6 +2878,7 @@ "projectFileDependencyGroups": { "net11.0": [ "FsCheck.Xunit >= 3.3.2", + "Jellyfin.CodeAnalysis >= 1.0.0", "Jellyfin.Networking >= 1.0.0", "Jellyfin.Sdk >= 2025.10.21", "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0", @@ -2914,6 +2926,9 @@ "net11.0": { "targetAlias": "net11.0", "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Networking\\Jellyfin.Networking.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Networking\\Jellyfin.Networking.csproj" } diff --git a/tests/Jellyfin.Networking.Tests/obj/project.nuget.cache b/tests/Jellyfin.Networking.Tests/obj/project.nuget.cache index 1fd118f1..3a22e8f1 100644 --- a/tests/Jellyfin.Networking.Tests/obj/project.nuget.cache +++ b/tests/Jellyfin.Networking.Tests/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "2beOD7YFSA8=", + "dgSpecHash": "VqeAp96kZ+8=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.Networking.Tests\\Jellyfin.Networking.Tests.csproj", "expectedPackageFiles": [ diff --git a/tests/Jellyfin.Providers.Tests/obj/Jellyfin.Providers.Tests.csproj.nuget.dgspec.json b/tests/Jellyfin.Providers.Tests/obj/Jellyfin.Providers.Tests.csproj.nuget.dgspec.json index b42552c0..5965598e 100644 --- a/tests/Jellyfin.Providers.Tests/obj/Jellyfin.Providers.Tests.csproj.nuget.dgspec.json +++ b/tests/Jellyfin.Providers.Tests/obj/Jellyfin.Providers.Tests.csproj.nuget.dgspec.json @@ -39,20 +39,13 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } }, - "warningProperties": { - "allWarningsAsErrors": true, - "warnAsError": [ - "NU1605" - ], - "warnNotAsError": [ - "NU1902", - "NU1903" - ] - }, "restoreAuditProperties": { "enableAudit": "true", "auditLevel": "low", @@ -63,6 +56,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -473,6 +505,9 @@ "net11.0": { "targetAlias": "net11.0", "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -500,10 +535,47 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Logging": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -918,6 +990,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -942,6 +1017,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -1505,6 +1619,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj" } @@ -1537,15 +1654,47 @@ "version": "[2.5.4, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Configuration.Binder": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -1961,6 +2110,9 @@ "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj" } @@ -1988,17 +2140,49 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "MimeTypes": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", "target": "Package", "version": "[2.5.2, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -2560,6 +2744,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -2590,6 +2777,13 @@ "version": "[8.0.2, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -2605,6 +2799,13 @@ "version": "[8.0.1, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Caching.Abstractions": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", @@ -2625,6 +2826,24 @@ "version": "[1.4.1, )", "versionCentrallyManaged": true }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "TMDbLib": { "target": "Package", "version": "[2.3.0, )", @@ -3069,6 +3288,13 @@ "netstandard2.0": { "targetAlias": "netstandard2.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -3080,6 +3306,13 @@ "version": "[3.11.0, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.CodeAnalysis.CSharp": { "suppressParent": "All", "target": "Package", @@ -3091,6 +3324,24 @@ "target": "Package", "version": "[2.0.3, )", "autoReferenced": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -3223,7 +3474,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -3247,6 +3502,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -3270,6 +3539,24 @@ "target": "Package", "version": "[8.6.5, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -3681,7 +3968,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -3718,10 +4009,42 @@ "version": "[60.1.0-alpha.356, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -4616,6 +4939,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Providers\\MediaBrowser.Providers.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Providers\\MediaBrowser.Providers.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } diff --git a/tests/Jellyfin.Providers.Tests/obj/project.assets.json b/tests/Jellyfin.Providers.Tests/obj/project.assets.json index 1096f52a..97a2feee 100644 --- a/tests/Jellyfin.Providers.Tests/obj/project.assets.json +++ b/tests/Jellyfin.Providers.Tests/obj/project.assets.json @@ -1291,7 +1291,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { - "Jellyfin.Model": "10.12.0" + "Jellyfin.CodeAnalysis": "1.0.0", + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Common.dll": {} @@ -1308,6 +1310,7 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "BitFaster.Caching": "2.5.4", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.MediaEncoding.Keyframes": "10.11.0", "Jellyfin.Model": "10.12.0", @@ -1326,7 +1329,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Database.Implementations": "10.11.0", + "Jellyfin.Sdk": "2025.10.21", "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118" }, "compile": { @@ -1340,6 +1345,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", "Polly": "8.6.5" }, @@ -1356,6 +1362,7 @@ "dependencies": { "Diacritics": "4.1.4", "ICU4N.Transliterator": "60.1.0-alpha.356", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Sdk": "2025.10.21" }, "compile": { @@ -1384,6 +1391,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Data": "10.12.0", "Jellyfin.Extensions": "10.12.0", "Jellyfin.Sdk": "2025.10.21" @@ -1402,8 +1410,10 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", - "Jellyfin.Model": "10.12.0" + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Naming.dll": {} @@ -1417,6 +1427,7 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "AsyncKeyedLock": "8.0.2", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.Model": "10.12.0", "Jellyfin.Sdk": "2025.10.21", @@ -3391,6 +3402,7 @@ "AutoFixture >= 4.18.1", "AutoFixture.AutoMoq >= 4.18.1", "AutoFixture.Xunit2 >= 4.18.1", + "Jellyfin.CodeAnalysis >= 1.0.0", "Jellyfin.Sdk >= 2025.10.21", "MediaBrowser.Providers >= 1.0.0", "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0", @@ -3440,6 +3452,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Providers\\MediaBrowser.Providers.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Providers\\MediaBrowser.Providers.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } diff --git a/tests/Jellyfin.Providers.Tests/obj/project.nuget.cache b/tests/Jellyfin.Providers.Tests/obj/project.nuget.cache index 84d5260d..612e547e 100644 --- a/tests/Jellyfin.Providers.Tests/obj/project.nuget.cache +++ b/tests/Jellyfin.Providers.Tests/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "fflBqbb1mUM=", + "dgSpecHash": "yVpchsJCVR8=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.Providers.Tests\\Jellyfin.Providers.Tests.csproj", "expectedPackageFiles": [ diff --git a/tests/Jellyfin.Server.Implementations.Tests/obj/Jellyfin.Server.Implementations.Tests.csproj.nuget.dgspec.json b/tests/Jellyfin.Server.Implementations.Tests/obj/Jellyfin.Server.Implementations.Tests.csproj.nuget.dgspec.json index c198d612..67598761 100644 --- a/tests/Jellyfin.Server.Implementations.Tests/obj/Jellyfin.Server.Implementations.Tests.csproj.nuget.dgspec.json +++ b/tests/Jellyfin.Server.Implementations.Tests/obj/Jellyfin.Server.Implementations.Tests.csproj.nuget.dgspec.json @@ -39,20 +39,13 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } }, - "warningProperties": { - "allWarningsAsErrors": true, - "warnAsError": [ - "NU1605" - ], - "warnNotAsError": [ - "NU1902", - "NU1903" - ] - }, "restoreAuditProperties": { "enableAudit": "true", "auditLevel": "low", @@ -63,6 +56,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -478,6 +510,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -503,6 +538,38 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "TagLibSharp": { "target": "Package", "version": "[2.3.0, )", @@ -952,6 +1019,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.XbmcMetadata\\MediaBrowser.XbmcMetadata.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.XbmcMetadata\\MediaBrowser.XbmcMetadata.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" }, @@ -1002,6 +1072,13 @@ "version": "[0.2.1, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Data.Sqlite": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", @@ -1027,6 +1104,24 @@ "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "prometheus-net.DotNetRuntime": { "target": "Package", "version": "[4.4.1, )", @@ -1449,6 +1544,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.MediaEncoding\\MediaBrowser.MediaEncoding.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.MediaEncoding\\MediaBrowser.MediaEncoding.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Hls\\Jellyfin.MediaEncoding.Hls.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Hls\\Jellyfin.MediaEncoding.Hls.csproj" }, @@ -1479,6 +1577,13 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -1489,11 +1594,36 @@ "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Http": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "Swashbuckle.AspNetCore": { "target": "Package", "version": "[7.3.2, )", @@ -1915,6 +2045,9 @@ "net11.0": { "targetAlias": "net11.0", "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -1942,10 +2075,47 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Logging": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -2367,6 +2537,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" }, @@ -2405,10 +2578,47 @@ "version": "[8.0.2, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Relational": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -2827,6 +3037,9 @@ "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server.Implementations\\Jellyfin.Server.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server.Implementations\\Jellyfin.Server.Implementations.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" }, @@ -2874,6 +3087,25 @@ "version": "[2.9.1, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", @@ -2924,6 +3156,24 @@ "version": "[3.1.1, )", "versionCentrallyManaged": true }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "prometheus-net": { "target": "Package", "version": "[8.2.1, )", @@ -3491,6 +3741,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -3515,6 +3768,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -4078,6 +4370,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj" } @@ -4110,15 +4405,47 @@ "version": "[2.5.4, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Configuration.Binder": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -4536,6 +4863,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -4560,6 +4890,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -4978,6 +5347,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -5013,16 +5385,48 @@ "version": "[0.8.0, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Http": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "UTF.Unknown": { "target": "Package", "version": "[2.6.0, )", @@ -5447,6 +5851,9 @@ "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj" } @@ -5474,17 +5881,49 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "MimeTypes": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", "target": "Package", "version": "[2.5.2, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -6046,6 +6485,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -6076,6 +6518,13 @@ "version": "[8.0.2, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -6091,6 +6540,13 @@ "version": "[8.0.1, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Caching.Abstractions": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", @@ -6111,6 +6567,24 @@ "version": "[1.4.1, )", "versionCentrallyManaged": true }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "TMDbLib": { "target": "Package", "version": "[2.3.0, )", @@ -6537,6 +7011,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -6561,6 +7038,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -6994,6 +7510,13 @@ "netstandard2.0": { "targetAlias": "netstandard2.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -7005,6 +7528,13 @@ "version": "[3.11.0, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.CodeAnalysis.CSharp": { "suppressParent": "All", "target": "Package", @@ -7016,6 +7546,24 @@ "target": "Package", "version": "[2.0.3, )", "autoReferenced": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -7148,7 +7696,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -7172,6 +7724,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -7195,6 +7761,24 @@ "target": "Package", "version": "[8.6.5, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -7610,6 +8194,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -7637,6 +8224,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", @@ -7665,6 +8266,24 @@ "target": "Package", "version": "[11.0.0-preview.1, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -8080,6 +8699,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -8107,6 +8729,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -8130,6 +8766,24 @@ "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -8550,6 +9204,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -8593,11 +9250,31 @@ "version": "[8.3.1.1, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, "SkiaSharp": { "target": "Package", "version": "[3.116.1, 3.116.1]", @@ -8613,6 +9290,18 @@ "version": "[3.116.1, 3.116.1]", "versionCentrallyManaged": true }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "Svg.Skia": { "target": "Package", "version": "[3.4.1, )", @@ -9037,6 +9726,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -9067,10 +9759,42 @@ "version": "[8.0.2, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -9482,7 +10206,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -9519,10 +10247,42 @@ "version": "[60.1.0-alpha.356, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -9943,6 +10703,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -9973,6 +10736,13 @@ "version": "[8.0.2, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -9982,6 +10752,31 @@ "target": "Package", "version": "[10.8.0, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -11366,6 +12161,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -11390,6 +12188,40 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -11806,6 +12638,9 @@ "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server.Implementations\\Jellyfin.Server.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server.Implementations\\Jellyfin.Server.Implementations.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" }, @@ -12321,6 +13156,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server\\Jellyfin.Server.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server\\Jellyfin.Server.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } diff --git a/tests/Jellyfin.Server.Implementations.Tests/obj/project.assets.json b/tests/Jellyfin.Server.Implementations.Tests/obj/project.assets.json index 39074f95..2f31d52c 100644 --- a/tests/Jellyfin.Server.Implementations.Tests/obj/project.assets.json +++ b/tests/Jellyfin.Server.Implementations.Tests/obj/project.assets.json @@ -3011,6 +3011,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.Model": "10.12.0", "TagLibSharp": "2.3.0" @@ -3032,6 +3033,7 @@ "Emby.Photos": "1.0.0", "Ignore": "0.2.1", "Jellyfin.Api": "1.0.0", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.Database.Implementations": "10.11.0", @@ -3063,12 +3065,14 @@ "dependencies": { "CommandLineParser": "2.9.1", "Emby.Server.Implementations": "1.0.0", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Database.Implementations": "10.11.0", "Jellyfin.Database.Providers.Postgres": "1.0.0", "Jellyfin.Drawing": "1.0.0", "Jellyfin.Drawing.Skia": "1.0.0", "Jellyfin.LiveTv": "1.0.0", "Jellyfin.MediaEncoding.Hls": "1.0.0", + "Jellyfin.Sdk": "2025.10.21", "Jellyfin.Server.Implementations": "1.0.0", "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "11.0.0-preview.1.26104.118", "Morestachio": "5.0.1.631", @@ -3097,6 +3101,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.MediaEncoding.Hls": "1.0.0", "Jellyfin.Networking": "1.0.0", @@ -3131,7 +3136,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { - "Jellyfin.Model": "10.12.0" + "Jellyfin.CodeAnalysis": "1.0.0", + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Common.dll": {} @@ -3148,6 +3155,7 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "BitFaster.Caching": "2.5.4", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.MediaEncoding.Keyframes": "10.11.0", "Jellyfin.Model": "10.12.0", @@ -3166,7 +3174,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Database.Implementations": "10.11.0", + "Jellyfin.Sdk": "2025.10.21", "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118" }, "compile": { @@ -3180,6 +3190,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", "Polly": "8.6.5" }, @@ -3194,6 +3205,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Database.Implementations": "10.11.0", "Microsoft.EntityFrameworkCore": "11.0.0-preview.1.26104.118", @@ -3211,6 +3223,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Database.Implementations": "10.11.0", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", @@ -3228,6 +3241,7 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "AsyncKeyedLock": "8.0.2", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.Model": "10.12.0", @@ -3247,6 +3261,7 @@ "BlurHashSharp": "1.4.0-pre.1", "BlurHashSharp.SkiaSharp": "1.4.0-pre.1", "HarfBuzzSharp.NativeAssets.Linux": "8.3.1.1", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.Model": "10.12.0", @@ -3269,6 +3284,7 @@ "dependencies": { "Diacritics": "4.1.4", "ICU4N.Transliterator": "60.1.0-alpha.356", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Sdk": "2025.10.21" }, "compile": { @@ -3283,6 +3299,7 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "AsyncKeyedLock": "8.0.2", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.Model": "10.12.0", @@ -3333,6 +3350,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Data": "10.12.0", "Jellyfin.Extensions": "10.12.0", "Jellyfin.Sdk": "2025.10.21" @@ -3351,8 +3369,10 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", - "Jellyfin.Model": "10.12.0" + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Naming.dll": {} @@ -3365,6 +3385,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Controller": "10.12.0" }, @@ -3380,12 +3401,14 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "AsyncKeyedLock": "8.0.2", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.Data": "10.12.0", "Jellyfin.Database.Implementations": "10.11.0", "Jellyfin.Database.Providers.Postgres": "1.0.0", "Jellyfin.Database.Providers.Sqlite": "1.0.0", "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118" }, "compile": { @@ -3402,6 +3425,7 @@ "AutoFixture": "4.18.1", "AutoFixture.AutoMoq": "4.18.1", "AutoFixture.Xunit2": "4.18.1", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Sdk": "2025.10.21", "Microsoft.AspNetCore.Mvc.Testing": "11.0.0-preview.1.26104.118", "Microsoft.NET.Test.Sdk": "18.0.1", @@ -3422,8 +3446,10 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Controller": "10.12.0", - "Jellyfin.Model": "10.12.0" + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/MediaBrowser.LocalMetadata.dll": {} @@ -3438,6 +3464,7 @@ "dependencies": { "AsyncKeyedLock": "8.0.2", "BDInfo": "0.8.0", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.Model": "10.12.0", @@ -3458,6 +3485,7 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "AsyncKeyedLock": "8.0.2", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.Model": "10.12.0", "Jellyfin.Sdk": "2025.10.21", @@ -3481,8 +3509,10 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Controller": "10.12.0", - "Jellyfin.Model": "10.12.0" + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/MediaBrowser.XbmcMetadata.dll": {} @@ -7816,6 +7846,7 @@ "AutoFixture >= 4.18.1", "AutoFixture.AutoMoq >= 4.18.1", "Emby.Server.Implementations >= 1.0.0", + "Jellyfin.CodeAnalysis >= 1.0.0", "Jellyfin.Database.Implementations >= 10.11.0", "Jellyfin.Sdk >= 2025.10.21", "Jellyfin.Server.Implementations >= 1.0.0", @@ -7872,6 +7903,9 @@ "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server.Implementations\\Jellyfin.Server.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server.Implementations\\Jellyfin.Server.Implementations.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" }, diff --git a/tests/Jellyfin.Server.Implementations.Tests/obj/project.nuget.cache b/tests/Jellyfin.Server.Implementations.Tests/obj/project.nuget.cache index 72a29b55..396ec6b5 100644 --- a/tests/Jellyfin.Server.Implementations.Tests/obj/project.nuget.cache +++ b/tests/Jellyfin.Server.Implementations.Tests/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "piiIPUfU31k=", + "dgSpecHash": "wBLLsvDPe+0=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.Server.Implementations.Tests\\Jellyfin.Server.Implementations.Tests.csproj", "expectedPackageFiles": [ diff --git a/tests/Jellyfin.Server.Integration.Tests/obj/Jellyfin.Server.Integration.Tests.csproj.nuget.dgspec.json b/tests/Jellyfin.Server.Integration.Tests/obj/Jellyfin.Server.Integration.Tests.csproj.nuget.dgspec.json index 65b4c0dc..2c498de6 100644 --- a/tests/Jellyfin.Server.Integration.Tests/obj/Jellyfin.Server.Integration.Tests.csproj.nuget.dgspec.json +++ b/tests/Jellyfin.Server.Integration.Tests/obj/Jellyfin.Server.Integration.Tests.csproj.nuget.dgspec.json @@ -39,20 +39,13 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } }, - "warningProperties": { - "allWarningsAsErrors": true, - "warnAsError": [ - "NU1605" - ], - "warnNotAsError": [ - "NU1902", - "NU1903" - ] - }, "restoreAuditProperties": { "enableAudit": "true", "auditLevel": "low", @@ -63,6 +56,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -478,6 +510,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -503,6 +538,38 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "TagLibSharp": { "target": "Package", "version": "[2.3.0, )", @@ -952,6 +1019,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.XbmcMetadata\\MediaBrowser.XbmcMetadata.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.XbmcMetadata\\MediaBrowser.XbmcMetadata.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" }, @@ -1002,6 +1072,13 @@ "version": "[0.2.1, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Data.Sqlite": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", @@ -1027,6 +1104,24 @@ "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "prometheus-net.DotNetRuntime": { "target": "Package", "version": "[4.4.1, )", @@ -1449,6 +1544,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.MediaEncoding\\MediaBrowser.MediaEncoding.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.MediaEncoding\\MediaBrowser.MediaEncoding.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Hls\\Jellyfin.MediaEncoding.Hls.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Hls\\Jellyfin.MediaEncoding.Hls.csproj" }, @@ -1479,6 +1577,13 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -1489,11 +1594,36 @@ "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Http": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "Swashbuckle.AspNetCore": { "target": "Package", "version": "[7.3.2, )", @@ -1915,6 +2045,9 @@ "net11.0": { "targetAlias": "net11.0", "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -1942,10 +2075,47 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Logging": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -2367,6 +2537,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" }, @@ -2405,10 +2578,47 @@ "version": "[8.0.2, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Relational": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -2827,6 +3037,9 @@ "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server.Implementations\\Jellyfin.Server.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server.Implementations\\Jellyfin.Server.Implementations.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" }, @@ -2874,6 +3087,25 @@ "version": "[2.9.1, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", @@ -2924,6 +3156,24 @@ "version": "[3.1.1, )", "versionCentrallyManaged": true }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "prometheus-net": { "target": "Package", "version": "[8.2.1, )", @@ -3491,6 +3741,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -3515,6 +3768,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -4078,6 +4370,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj" } @@ -4110,15 +4405,47 @@ "version": "[2.5.4, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Configuration.Binder": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -4536,6 +4863,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -4560,6 +4890,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -4978,6 +5347,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -5013,16 +5385,48 @@ "version": "[0.8.0, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Http": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "UTF.Unknown": { "target": "Package", "version": "[2.6.0, )", @@ -5447,6 +5851,9 @@ "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj" } @@ -5474,17 +5881,49 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "MimeTypes": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", "target": "Package", "version": "[2.5.2, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -6046,6 +6485,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -6076,6 +6518,13 @@ "version": "[8.0.2, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -6091,6 +6540,13 @@ "version": "[8.0.1, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Caching.Abstractions": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", @@ -6111,6 +6567,24 @@ "version": "[1.4.1, )", "versionCentrallyManaged": true }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "TMDbLib": { "target": "Package", "version": "[2.3.0, )", @@ -6537,6 +7011,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -6561,6 +7038,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -6994,6 +7510,13 @@ "netstandard2.0": { "targetAlias": "netstandard2.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -7005,6 +7528,13 @@ "version": "[3.11.0, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.CodeAnalysis.CSharp": { "suppressParent": "All", "target": "Package", @@ -7016,6 +7546,24 @@ "target": "Package", "version": "[2.0.3, )", "autoReferenced": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -7148,7 +7696,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -7172,6 +7724,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -7195,6 +7761,24 @@ "target": "Package", "version": "[8.6.5, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -7610,6 +8194,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -7637,6 +8224,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", @@ -7665,6 +8266,24 @@ "target": "Package", "version": "[11.0.0-preview.1, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -8080,6 +8699,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -8107,6 +8729,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -8130,6 +8766,24 @@ "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -8550,6 +9204,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -8593,11 +9250,31 @@ "version": "[8.3.1.1, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, "SkiaSharp": { "target": "Package", "version": "[3.116.1, 3.116.1]", @@ -8613,6 +9290,18 @@ "version": "[3.116.1, 3.116.1]", "versionCentrallyManaged": true }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "Svg.Skia": { "target": "Package", "version": "[3.4.1, )", @@ -9037,6 +9726,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -9067,10 +9759,42 @@ "version": "[8.0.2, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -9482,7 +10206,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -9519,10 +10247,42 @@ "version": "[60.1.0-alpha.356, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -9943,6 +10703,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -9973,6 +10736,13 @@ "version": "[8.0.2, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -9982,6 +10752,31 @@ "target": "Package", "version": "[10.8.0, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -11366,6 +12161,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -11390,6 +12188,40 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -11802,6 +12634,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server\\Jellyfin.Server.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server\\Jellyfin.Server.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } diff --git a/tests/Jellyfin.Server.Integration.Tests/obj/project.assets.json b/tests/Jellyfin.Server.Integration.Tests/obj/project.assets.json index adcc5218..945993f6 100644 --- a/tests/Jellyfin.Server.Integration.Tests/obj/project.assets.json +++ b/tests/Jellyfin.Server.Integration.Tests/obj/project.assets.json @@ -2981,6 +2981,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.Model": "10.12.0", "TagLibSharp": "2.3.0" @@ -3002,6 +3003,7 @@ "Emby.Photos": "1.0.0", "Ignore": "0.2.1", "Jellyfin.Api": "1.0.0", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.Database.Implementations": "10.11.0", @@ -3033,12 +3035,14 @@ "dependencies": { "CommandLineParser": "2.9.1", "Emby.Server.Implementations": "1.0.0", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Database.Implementations": "10.11.0", "Jellyfin.Database.Providers.Postgres": "1.0.0", "Jellyfin.Drawing": "1.0.0", "Jellyfin.Drawing.Skia": "1.0.0", "Jellyfin.LiveTv": "1.0.0", "Jellyfin.MediaEncoding.Hls": "1.0.0", + "Jellyfin.Sdk": "2025.10.21", "Jellyfin.Server.Implementations": "1.0.0", "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "11.0.0-preview.1.26104.118", "Morestachio": "5.0.1.631", @@ -3067,6 +3071,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.MediaEncoding.Hls": "1.0.0", "Jellyfin.Networking": "1.0.0", @@ -3101,7 +3106,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { - "Jellyfin.Model": "10.12.0" + "Jellyfin.CodeAnalysis": "1.0.0", + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Common.dll": {} @@ -3118,6 +3125,7 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "BitFaster.Caching": "2.5.4", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.MediaEncoding.Keyframes": "10.11.0", "Jellyfin.Model": "10.12.0", @@ -3136,7 +3144,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Database.Implementations": "10.11.0", + "Jellyfin.Sdk": "2025.10.21", "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118" }, "compile": { @@ -3150,6 +3160,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", "Polly": "8.6.5" }, @@ -3164,6 +3175,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Database.Implementations": "10.11.0", "Microsoft.EntityFrameworkCore": "11.0.0-preview.1.26104.118", @@ -3181,6 +3193,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Database.Implementations": "10.11.0", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", @@ -3198,6 +3211,7 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "AsyncKeyedLock": "8.0.2", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.Model": "10.12.0", @@ -3217,6 +3231,7 @@ "BlurHashSharp": "1.4.0-pre.1", "BlurHashSharp.SkiaSharp": "1.4.0-pre.1", "HarfBuzzSharp.NativeAssets.Linux": "8.3.1.1", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.Model": "10.12.0", @@ -3239,6 +3254,7 @@ "dependencies": { "Diacritics": "4.1.4", "ICU4N.Transliterator": "60.1.0-alpha.356", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Sdk": "2025.10.21" }, "compile": { @@ -3253,6 +3269,7 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "AsyncKeyedLock": "8.0.2", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.Model": "10.12.0", @@ -3303,6 +3320,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Data": "10.12.0", "Jellyfin.Extensions": "10.12.0", "Jellyfin.Sdk": "2025.10.21" @@ -3321,8 +3339,10 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", - "Jellyfin.Model": "10.12.0" + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Naming.dll": {} @@ -3335,6 +3355,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Controller": "10.12.0" }, @@ -3350,12 +3371,14 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "AsyncKeyedLock": "8.0.2", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.Data": "10.12.0", "Jellyfin.Database.Implementations": "10.11.0", "Jellyfin.Database.Providers.Postgres": "1.0.0", "Jellyfin.Database.Providers.Sqlite": "1.0.0", "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118" }, "compile": { @@ -3369,8 +3392,10 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Controller": "10.12.0", - "Jellyfin.Model": "10.12.0" + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/MediaBrowser.LocalMetadata.dll": {} @@ -3385,6 +3410,7 @@ "dependencies": { "AsyncKeyedLock": "8.0.2", "BDInfo": "0.8.0", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.Model": "10.12.0", @@ -3405,6 +3431,7 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "AsyncKeyedLock": "8.0.2", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.Model": "10.12.0", "Jellyfin.Sdk": "2025.10.21", @@ -3428,8 +3455,10 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Controller": "10.12.0", - "Jellyfin.Model": "10.12.0" + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/MediaBrowser.XbmcMetadata.dll": {} @@ -7719,6 +7748,7 @@ "AutoFixture >= 4.18.1", "AutoFixture.AutoMoq >= 4.18.1", "AutoFixture.Xunit2 >= 4.18.1", + "Jellyfin.CodeAnalysis >= 1.0.0", "Jellyfin.Sdk >= 2025.10.21", "Microsoft.AspNetCore.Mvc.Testing >= 11.0.0-preview.1.26104.118", "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0", @@ -7770,6 +7800,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server\\Jellyfin.Server.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server\\Jellyfin.Server.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } diff --git a/tests/Jellyfin.Server.Integration.Tests/obj/project.nuget.cache b/tests/Jellyfin.Server.Integration.Tests/obj/project.nuget.cache index c5b3ff1e..5c2df665 100644 --- a/tests/Jellyfin.Server.Integration.Tests/obj/project.nuget.cache +++ b/tests/Jellyfin.Server.Integration.Tests/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "w91ZWhPlQGM=", + "dgSpecHash": "pAHS2jcV+/I=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.Server.Integration.Tests\\Jellyfin.Server.Integration.Tests.csproj", "expectedPackageFiles": [ diff --git a/tests/Jellyfin.Server.Tests/obj/Jellyfin.Server.Tests.csproj.nuget.dgspec.json b/tests/Jellyfin.Server.Tests/obj/Jellyfin.Server.Tests.csproj.nuget.dgspec.json index ff2828b1..985eb585 100644 --- a/tests/Jellyfin.Server.Tests/obj/Jellyfin.Server.Tests.csproj.nuget.dgspec.json +++ b/tests/Jellyfin.Server.Tests/obj/Jellyfin.Server.Tests.csproj.nuget.dgspec.json @@ -39,20 +39,13 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } }, - "warningProperties": { - "allWarningsAsErrors": true, - "warnAsError": [ - "NU1605" - ], - "warnNotAsError": [ - "NU1902", - "NU1903" - ] - }, "restoreAuditProperties": { "enableAudit": "true", "auditLevel": "low", @@ -63,6 +56,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -478,6 +510,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -503,6 +538,38 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "TagLibSharp": { "target": "Package", "version": "[2.3.0, )", @@ -952,6 +1019,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.XbmcMetadata\\MediaBrowser.XbmcMetadata.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.XbmcMetadata\\MediaBrowser.XbmcMetadata.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" }, @@ -1002,6 +1072,13 @@ "version": "[0.2.1, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Data.Sqlite": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", @@ -1027,6 +1104,24 @@ "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "prometheus-net.DotNetRuntime": { "target": "Package", "version": "[4.4.1, )", @@ -1449,6 +1544,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.MediaEncoding\\MediaBrowser.MediaEncoding.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.MediaEncoding\\MediaBrowser.MediaEncoding.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Hls\\Jellyfin.MediaEncoding.Hls.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Hls\\Jellyfin.MediaEncoding.Hls.csproj" }, @@ -1479,6 +1577,13 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -1489,11 +1594,36 @@ "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Http": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "Swashbuckle.AspNetCore": { "target": "Package", "version": "[7.3.2, )", @@ -1915,6 +2045,9 @@ "net11.0": { "targetAlias": "net11.0", "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -1942,10 +2075,47 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Logging": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -2367,6 +2537,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" }, @@ -2405,10 +2578,47 @@ "version": "[8.0.2, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Relational": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -2827,6 +3037,9 @@ "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server.Implementations\\Jellyfin.Server.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server.Implementations\\Jellyfin.Server.Implementations.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" }, @@ -2874,6 +3087,25 @@ "version": "[2.9.1, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", @@ -2924,6 +3156,24 @@ "version": "[3.1.1, )", "versionCentrallyManaged": true }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "prometheus-net": { "target": "Package", "version": "[8.2.1, )", @@ -3491,6 +3741,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -3515,6 +3768,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -4078,6 +4370,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj" } @@ -4110,15 +4405,47 @@ "version": "[2.5.4, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Configuration.Binder": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -4536,6 +4863,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -4560,6 +4890,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -4978,6 +5347,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -5013,16 +5385,48 @@ "version": "[0.8.0, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Http": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "UTF.Unknown": { "target": "Package", "version": "[2.6.0, )", @@ -5447,6 +5851,9 @@ "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj" } @@ -5474,17 +5881,49 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "MimeTypes": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", "target": "Package", "version": "[2.5.2, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -6046,6 +6485,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -6076,6 +6518,13 @@ "version": "[8.0.2, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -6091,6 +6540,13 @@ "version": "[8.0.1, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Caching.Abstractions": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", @@ -6111,6 +6567,24 @@ "version": "[1.4.1, )", "versionCentrallyManaged": true }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "TMDbLib": { "target": "Package", "version": "[2.3.0, )", @@ -6537,6 +7011,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -6561,6 +7038,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -6994,6 +7510,13 @@ "netstandard2.0": { "targetAlias": "netstandard2.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -7005,6 +7528,13 @@ "version": "[3.11.0, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.CodeAnalysis.CSharp": { "suppressParent": "All", "target": "Package", @@ -7016,6 +7546,24 @@ "target": "Package", "version": "[2.0.3, )", "autoReferenced": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -7148,7 +7696,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -7172,6 +7724,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -7195,6 +7761,24 @@ "target": "Package", "version": "[8.6.5, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -7610,6 +8194,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -7637,6 +8224,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", @@ -7665,6 +8266,24 @@ "target": "Package", "version": "[11.0.0-preview.1, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -8080,6 +8699,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Common\\MediaBrowser.Common.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -8107,6 +8729,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -8130,6 +8766,24 @@ "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -8550,6 +9204,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -8593,11 +9250,31 @@ "version": "[8.3.1.1, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, "SkiaSharp": { "target": "Package", "version": "[3.116.1, 3.116.1]", @@ -8613,6 +9290,18 @@ "version": "[3.116.1, 3.116.1]", "versionCentrallyManaged": true }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "Svg.Skia": { "target": "Package", "version": "[3.4.1, )", @@ -9037,6 +9726,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -9067,10 +9759,42 @@ "version": "[8.0.2, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -9482,7 +10206,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -9519,10 +10247,42 @@ "version": "[60.1.0-alpha.356, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -9943,6 +10703,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -9973,6 +10736,13 @@ "version": "[8.0.2, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -9982,6 +10752,31 @@ "target": "Package", "version": "[10.8.0, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -11366,6 +12161,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Controller\\MediaBrowser.Controller.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -11390,6 +12188,40 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -11802,6 +12634,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server\\Jellyfin.Server.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server\\Jellyfin.Server.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } diff --git a/tests/Jellyfin.Server.Tests/obj/project.assets.json b/tests/Jellyfin.Server.Tests/obj/project.assets.json index bb88a718..03f44b08 100644 --- a/tests/Jellyfin.Server.Tests/obj/project.assets.json +++ b/tests/Jellyfin.Server.Tests/obj/project.assets.json @@ -2965,6 +2965,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.Model": "10.12.0", "TagLibSharp": "2.3.0" @@ -2986,6 +2987,7 @@ "Emby.Photos": "1.0.0", "Ignore": "0.2.1", "Jellyfin.Api": "1.0.0", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.Database.Implementations": "10.11.0", @@ -3017,12 +3019,14 @@ "dependencies": { "CommandLineParser": "2.9.1", "Emby.Server.Implementations": "1.0.0", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Database.Implementations": "10.11.0", "Jellyfin.Database.Providers.Postgres": "1.0.0", "Jellyfin.Drawing": "1.0.0", "Jellyfin.Drawing.Skia": "1.0.0", "Jellyfin.LiveTv": "1.0.0", "Jellyfin.MediaEncoding.Hls": "1.0.0", + "Jellyfin.Sdk": "2025.10.21", "Jellyfin.Server.Implementations": "1.0.0", "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "11.0.0-preview.1.26104.118", "Morestachio": "5.0.1.631", @@ -3051,6 +3055,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.MediaEncoding.Hls": "1.0.0", "Jellyfin.Networking": "1.0.0", @@ -3085,7 +3090,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { - "Jellyfin.Model": "10.12.0" + "Jellyfin.CodeAnalysis": "1.0.0", + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Common.dll": {} @@ -3102,6 +3109,7 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "BitFaster.Caching": "2.5.4", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.MediaEncoding.Keyframes": "10.11.0", "Jellyfin.Model": "10.12.0", @@ -3120,7 +3128,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Database.Implementations": "10.11.0", + "Jellyfin.Sdk": "2025.10.21", "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118" }, "compile": { @@ -3134,6 +3144,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", "Polly": "8.6.5" }, @@ -3148,6 +3159,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Database.Implementations": "10.11.0", "Microsoft.EntityFrameworkCore": "11.0.0-preview.1.26104.118", @@ -3165,6 +3177,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Database.Implementations": "10.11.0", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", @@ -3182,6 +3195,7 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "AsyncKeyedLock": "8.0.2", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.Model": "10.12.0", @@ -3201,6 +3215,7 @@ "BlurHashSharp": "1.4.0-pre.1", "BlurHashSharp.SkiaSharp": "1.4.0-pre.1", "HarfBuzzSharp.NativeAssets.Linux": "8.3.1.1", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.Model": "10.12.0", @@ -3223,6 +3238,7 @@ "dependencies": { "Diacritics": "4.1.4", "ICU4N.Transliterator": "60.1.0-alpha.356", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Sdk": "2025.10.21" }, "compile": { @@ -3237,6 +3253,7 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "AsyncKeyedLock": "8.0.2", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.Model": "10.12.0", @@ -3287,6 +3304,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Data": "10.12.0", "Jellyfin.Extensions": "10.12.0", "Jellyfin.Sdk": "2025.10.21" @@ -3305,8 +3323,10 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", - "Jellyfin.Model": "10.12.0" + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Naming.dll": {} @@ -3319,6 +3339,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Controller": "10.12.0" }, @@ -3334,12 +3355,14 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "AsyncKeyedLock": "8.0.2", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.Data": "10.12.0", "Jellyfin.Database.Implementations": "10.11.0", "Jellyfin.Database.Providers.Postgres": "1.0.0", "Jellyfin.Database.Providers.Sqlite": "1.0.0", "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118" }, "compile": { @@ -3353,8 +3376,10 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Controller": "10.12.0", - "Jellyfin.Model": "10.12.0" + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/MediaBrowser.LocalMetadata.dll": {} @@ -3369,6 +3394,7 @@ "dependencies": { "AsyncKeyedLock": "8.0.2", "BDInfo": "0.8.0", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.Model": "10.12.0", @@ -3389,6 +3415,7 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "AsyncKeyedLock": "8.0.2", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.Model": "10.12.0", "Jellyfin.Sdk": "2025.10.21", @@ -3412,8 +3439,10 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Controller": "10.12.0", - "Jellyfin.Model": "10.12.0" + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/MediaBrowser.XbmcMetadata.dll": {} @@ -7686,6 +7715,7 @@ "AutoFixture >= 4.18.1", "AutoFixture.AutoMoq >= 4.18.1", "AutoFixture.Xunit2 >= 4.18.1", + "Jellyfin.CodeAnalysis >= 1.0.0", "Jellyfin.Sdk >= 2025.10.21", "Microsoft.AspNetCore.Mvc.Testing >= 11.0.0-preview.1.26104.118", "Microsoft.CodeAnalysis.BannedApiAnalyzers >= 4.14.0", @@ -7736,6 +7766,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server\\Jellyfin.Server.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Server\\Jellyfin.Server.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } diff --git a/tests/Jellyfin.Server.Tests/obj/project.nuget.cache b/tests/Jellyfin.Server.Tests/obj/project.nuget.cache index 33567c84..edfbfa91 100644 --- a/tests/Jellyfin.Server.Tests/obj/project.nuget.cache +++ b/tests/Jellyfin.Server.Tests/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "DcxrFskonXc=", + "dgSpecHash": "gh1cw+kHS8I=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.Server.Tests\\Jellyfin.Server.Tests.csproj", "expectedPackageFiles": [ diff --git a/tests/Jellyfin.XbmcMetadata.Tests/obj/Jellyfin.XbmcMetadata.Tests.csproj.nuget.dgspec.json b/tests/Jellyfin.XbmcMetadata.Tests/obj/Jellyfin.XbmcMetadata.Tests.csproj.nuget.dgspec.json index 0e087f91..23daf55f 100644 --- a/tests/Jellyfin.XbmcMetadata.Tests/obj/Jellyfin.XbmcMetadata.Tests.csproj.nuget.dgspec.json +++ b/tests/Jellyfin.XbmcMetadata.Tests/obj/Jellyfin.XbmcMetadata.Tests.csproj.nuget.dgspec.json @@ -39,20 +39,13 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } }, - "warningProperties": { - "allWarningsAsErrors": true, - "warnAsError": [ - "NU1605" - ], - "warnNotAsError": [ - "NU1902", - "NU1903" - ] - }, "restoreAuditProperties": { "enableAudit": "true", "auditLevel": "low", @@ -63,6 +56,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -473,6 +505,9 @@ "net11.0": { "targetAlias": "net11.0", "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Database\\Jellyfin.Database.Implementations\\Jellyfin.Database.Implementations.csproj" } @@ -500,10 +535,47 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Logging": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -918,6 +990,9 @@ "projectReferences": { "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -942,6 +1017,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -1505,6 +1619,9 @@ "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.MediaEncoding.Keyframes\\Jellyfin.MediaEncoding.Keyframes.csproj" } @@ -1537,15 +1654,47 @@ "version": "[2.5.4, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Configuration.Binder": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -1961,6 +2110,9 @@ "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\Jellyfin.Data\\Jellyfin.Data.csproj" }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + }, "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.Extensions\\Jellyfin.Extensions.csproj" } @@ -1988,17 +2140,49 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "MimeTypes": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", "target": "Package", "version": "[2.5.2, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -2560,6 +2744,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -2590,6 +2777,13 @@ "version": "[8.0.2, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -2605,6 +2799,13 @@ "version": "[8.0.1, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.Extensions.Caching.Abstractions": { "target": "Package", "version": "[11.0.0-preview.1.26104.118, )", @@ -2625,6 +2826,24 @@ "version": "[1.4.1, )", "versionCentrallyManaged": true }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + }, "TMDbLib": { "target": "Package", "version": "[2.3.0, )", @@ -3051,6 +3270,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.Model\\MediaBrowser.Model.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } @@ -3075,6 +3297,45 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", + "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Jellyfin.Sdk": { + "target": "Package", + "version": "[2025.10.21, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true + } + }, "centralPackageVersions": { "AsyncKeyedLock": "8.0.2", "AutoFixture": "4.18.1", @@ -3508,6 +3769,13 @@ "netstandard2.0": { "targetAlias": "netstandard2.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", @@ -3519,6 +3787,13 @@ "version": "[3.11.0, )", "versionCentrallyManaged": true }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.CodeAnalysis.CSharp": { "suppressParent": "All", "target": "Package", @@ -3530,6 +3805,24 @@ "target": "Package", "version": "[2.0.3, )", "autoReferenced": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -3662,7 +3955,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -3686,6 +3983,20 @@ "net11.0": { "targetAlias": "net11.0", "dependencies": { + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, "Microsoft.EntityFrameworkCore.Design": { "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", "suppressParent": "All", @@ -3709,6 +4020,24 @@ "target": "Package", "version": "[8.6.5, )", "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -4120,7 +4449,11 @@ "frameworks": { "net11.0": { "targetAlias": "net11.0", - "projectReferences": {} + "projectReferences": { + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" + } + } } }, "warningProperties": { @@ -4157,10 +4490,42 @@ "version": "[60.1.0-alpha.356, )", "versionCentrallyManaged": true }, + "IDisposableAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.0.8, )", + "versionCentrallyManaged": true + }, "Jellyfin.Sdk": { "target": "Package", "version": "[2025.10.21, )", "versionCentrallyManaged": true + }, + "Microsoft.CodeAnalysis.BannedApiAnalyzers": { + "include": "Runtime, Build, Native, ContentFiles, Analyzers", + "suppressParent": "All", + "target": "Package", + "version": "[4.14.0, )", + "versionCentrallyManaged": true + }, + "SerilogAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[0.15.0, )", + "versionCentrallyManaged": true + }, + "SmartAnalyzers.MultithreadingAnalyzer": { + "suppressParent": "All", + "target": "Package", + "version": "[1.1.31, )", + "versionCentrallyManaged": true + }, + "StyleCop.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[1.2.0-beta.556, )", + "versionCentrallyManaged": true } }, "centralPackageVersions": { @@ -5058,6 +5423,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.XbmcMetadata\\MediaBrowser.XbmcMetadata.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.XbmcMetadata\\MediaBrowser.XbmcMetadata.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } diff --git a/tests/Jellyfin.XbmcMetadata.Tests/obj/project.assets.json b/tests/Jellyfin.XbmcMetadata.Tests/obj/project.assets.json index 9d50aaf0..5fba36b9 100644 --- a/tests/Jellyfin.XbmcMetadata.Tests/obj/project.assets.json +++ b/tests/Jellyfin.XbmcMetadata.Tests/obj/project.assets.json @@ -1210,7 +1210,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { - "Jellyfin.Model": "10.12.0" + "Jellyfin.CodeAnalysis": "1.0.0", + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Common.dll": {} @@ -1227,6 +1229,7 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "BitFaster.Caching": "2.5.4", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", "Jellyfin.MediaEncoding.Keyframes": "10.11.0", "Jellyfin.Model": "10.12.0", @@ -1245,7 +1248,9 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Database.Implementations": "10.11.0", + "Jellyfin.Sdk": "2025.10.21", "Microsoft.Extensions.Logging": "11.0.0-preview.1.26104.118" }, "compile": { @@ -1259,6 +1264,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Microsoft.EntityFrameworkCore.Relational": "11.0.0-preview.1.26104.118", "Polly": "8.6.5" }, @@ -1275,6 +1281,7 @@ "dependencies": { "Diacritics": "4.1.4", "ICU4N.Transliterator": "60.1.0-alpha.356", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Sdk": "2025.10.21" }, "compile": { @@ -1303,6 +1310,7 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Data": "10.12.0", "Jellyfin.Extensions": "10.12.0", "Jellyfin.Sdk": "2025.10.21" @@ -1321,8 +1329,10 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Common": "10.12.0", - "Jellyfin.Model": "10.12.0" + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/Jellyfin.Naming.dll": {} @@ -1336,6 +1346,7 @@ "framework": ".NETCoreApp,Version=v11.0", "dependencies": { "AsyncKeyedLock": "8.0.2", + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Controller": "10.12.0", "Jellyfin.Model": "10.12.0", "Jellyfin.Sdk": "2025.10.21", @@ -1359,8 +1370,10 @@ "type": "project", "framework": ".NETCoreApp,Version=v11.0", "dependencies": { + "Jellyfin.CodeAnalysis": "1.0.0", "Jellyfin.Controller": "10.12.0", - "Jellyfin.Model": "10.12.0" + "Jellyfin.Model": "10.12.0", + "Jellyfin.Sdk": "2025.10.21" }, "compile": { "bin/placeholder/MediaBrowser.XbmcMetadata.dll": {} @@ -3220,6 +3233,7 @@ }, "projectFileDependencyGroups": { "net11.0": [ + "Jellyfin.CodeAnalysis >= 1.0.0", "Jellyfin.Sdk >= 2025.10.21", "MediaBrowser.Providers >= 1.0.0", "MediaBrowser.XbmcMetadata >= 1.0.0", @@ -3273,6 +3287,9 @@ }, "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.XbmcMetadata\\MediaBrowser.XbmcMetadata.csproj": { "projectPath": "E:\\Projects\\pgsql-jellyfin\\MediaBrowser.XbmcMetadata\\MediaBrowser.XbmcMetadata.csproj" + }, + "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj": { + "projectPath": "E:\\Projects\\pgsql-jellyfin\\src\\Jellyfin.CodeAnalysis\\Jellyfin.CodeAnalysis.csproj" } } } diff --git a/tests/Jellyfin.XbmcMetadata.Tests/obj/project.nuget.cache b/tests/Jellyfin.XbmcMetadata.Tests/obj/project.nuget.cache index 27891996..6aa62ef1 100644 --- a/tests/Jellyfin.XbmcMetadata.Tests/obj/project.nuget.cache +++ b/tests/Jellyfin.XbmcMetadata.Tests/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "ReVbGFytYdI=", + "dgSpecHash": "+lkQwnGRsbE=", "success": true, "projectFilePath": "E:\\Projects\\pgsql-jellyfin\\tests\\Jellyfin.XbmcMetadata.Tests\\Jellyfin.XbmcMetadata.Tests.csproj", "expectedPackageFiles": [