Add Jellyfin.CodeAnalysis and analyzers to all projects

Integrated Jellyfin.CodeAnalysis as a project reference across core and test projects. Added centrally managed code analysis and style enforcement packages (IDisposableAnalyzers, Microsoft.CodeAnalysis.BannedApiAnalyzers, SerilogAnalyzer, SmartAnalyzers.MultithreadingAnalyzer, StyleCop.Analyzers) to all affected projects. Updated dependency graphs, asset files, and build scripts to ensure analyzers run during builds, enforcing consistent code quality and style rules throughout the codebase. Removed custom warning properties to rely on analyzer enforcement.
This commit is contained in:
2026-02-23 07:03:54 -05:00
parent 8d39eb77e6
commit ede6904433
181 changed files with 22265 additions and 526 deletions
@@ -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": {
@@ -15,5 +15,13 @@
</ItemGroup>
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<Import Project="$(NuGetPackageRoot)microsoft.entityframeworkcore\11.0.0-preview.1.26104.118\buildTransitive\net11.0\Microsoft.EntityFrameworkCore.props" Condition="Exists('$(NuGetPackageRoot)microsoft.entityframeworkcore\11.0.0-preview.1.26104.118\buildTransitive\net11.0\Microsoft.EntityFrameworkCore.props')" />
<Import Project="$(NuGetPackageRoot)microsoft.codeanalysis.bannedapianalyzers\4.14.0\buildTransitive\Microsoft.CodeAnalysis.BannedApiAnalyzers.props" Condition="Exists('$(NuGetPackageRoot)microsoft.codeanalysis.bannedapianalyzers\4.14.0\buildTransitive\Microsoft.CodeAnalysis.BannedApiAnalyzers.props')" />
</ImportGroup>
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<PkgStyleCop_Analyzers_Unstable Condition=" '$(PkgStyleCop_Analyzers_Unstable)' == '' ">C:\Users\wjones\.nuget\packages\stylecop.analyzers.unstable\1.2.0.556</PkgStyleCop_Analyzers_Unstable>
<PkgSmartAnalyzers_MultithreadingAnalyzer Condition=" '$(PkgSmartAnalyzers_MultithreadingAnalyzer)' == '' ">C:\Users\wjones\.nuget\packages\smartanalyzers.multithreadinganalyzer\1.1.31</PkgSmartAnalyzers_MultithreadingAnalyzer>
<PkgSerilogAnalyzer Condition=" '$(PkgSerilogAnalyzer)' == '' ">C:\Users\wjones\.nuget\packages\seriloganalyzer\0.15.0</PkgSerilogAnalyzer>
<PkgMicrosoft_CodeAnalysis_BannedApiAnalyzers Condition=" '$(PkgMicrosoft_CodeAnalysis_BannedApiAnalyzers)' == '' ">C:\Users\wjones\.nuget\packages\microsoft.codeanalysis.bannedapianalyzers\4.14.0</PkgMicrosoft_CodeAnalysis_BannedApiAnalyzers>
<PkgIDisposableAnalyzers Condition=" '$(PkgIDisposableAnalyzers)' == '' ">C:\Users\wjones\.nuget\packages\idisposableanalyzers\4.0.8</PkgIDisposableAnalyzers>
</PropertyGroup>
</Project>
@@ -3,5 +3,6 @@
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<Import Project="$(NuGetPackageRoot)microsoft.extensions.options\11.0.0-preview.1.26104.118\buildTransitive\net10.0\Microsoft.Extensions.Options.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.options\11.0.0-preview.1.26104.118\buildTransitive\net10.0\Microsoft.Extensions.Options.targets')" />
<Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\11.0.0-preview.1.26104.118\buildTransitive\net10.0\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\11.0.0-preview.1.26104.118\buildTransitive\net10.0\Microsoft.Extensions.Logging.Abstractions.targets')" />
<Import Project="$(NuGetPackageRoot)microsoft.codeanalysis.bannedapianalyzers\4.14.0\buildTransitive\Microsoft.CodeAnalysis.BannedApiAnalyzers.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.codeanalysis.bannedapianalyzers\4.14.0\buildTransitive\Microsoft.CodeAnalysis.BannedApiAnalyzers.targets')" />
</ImportGroup>
</Project>
+253 -12
View File
@@ -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",
+8 -2
View File
@@ -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": []
}