using StabilityMatrix.Core.Helper; using StabilityMatrix.Core.Models.Packages; using StabilityMatrix.Core.Models.Progress; using StabilityMatrix.Core.Python; namespace StabilityMatrix.Core.Models.PackageModification; public class SetupPrerequisitesStep : IPackageStep { private readonly IPrerequisiteHelper prerequisiteHelper; private readonly IPyRunner pyRunner; private readonly BasePackage package; public SetupPrerequisitesStep( IPrerequisiteHelper prerequisiteHelper, IPyRunner pyRunner, BasePackage package ) { this.prerequisiteHelper = prerequisiteHelper; this.pyRunner = pyRunner; this.package = package; } public async Task ExecuteAsync(IProgress? progress = null) { // package and platform-specific requirements install await prerequisiteHelper.InstallPackageRequirements(package, progress).ConfigureAwait(false); } public string ProgressTitle => "Installing prerequisites..."; }