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:
+847
-12
File diff suppressed because it is too large
Load Diff
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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": [
|
||||
|
||||
Reference in New Issue
Block a user