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