using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using StellaOps.Scanner.Analyzers.OS.Abstractions; using StellaOps.Scanner.Analyzers.OS.Plugin; namespace StellaOps.Scanner.Analyzers.OS.Homebrew; /// /// Plugin that registers the Homebrew package analyzer for macOS Cellar discovery. /// public sealed class HomebrewAnalyzerPlugin : IOSAnalyzerPlugin { /// public string Name => "StellaOps.Scanner.Analyzers.OS.Homebrew"; /// public bool IsAvailable(IServiceProvider services) => services is not null; /// public IOSPackageAnalyzer CreateAnalyzer(IServiceProvider services) { ArgumentNullException.ThrowIfNull(services); var loggerFactory = services.GetRequiredService(); return new HomebrewPackageAnalyzer(loggerFactory.CreateLogger()); } }