You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.4 KiB
39 lines
1.4 KiB
using System.Runtime.Versioning; |
|
using StabilityMatrix.Core.Models.Progress; |
|
using StabilityMatrix.Core.Processes; |
|
|
|
namespace StabilityMatrix.Core.Helper; |
|
|
|
public interface IPrerequisiteHelper |
|
{ |
|
string GitBinPath { get; } |
|
|
|
bool IsPythonInstalled { get; } |
|
|
|
Task InstallAllIfNecessary(IProgress<ProgressReport>? progress = null); |
|
Task UnpackResourcesIfNecessary(IProgress<ProgressReport>? progress = null); |
|
Task InstallGitIfNecessary(IProgress<ProgressReport>? progress = null); |
|
Task InstallPythonIfNecessary(IProgress<ProgressReport>? progress = null); |
|
|
|
[SupportedOSPlatform("Windows")] |
|
Task InstallVcRedistIfNecessary(IProgress<ProgressReport>? progress = null); |
|
|
|
/// <summary> |
|
/// Run embedded git with the given arguments. |
|
/// </summary> |
|
Task RunGit( |
|
ProcessArgs args, |
|
Action<ProcessOutput>? onProcessOutput, |
|
string? workingDirectory = null |
|
); |
|
|
|
/// <summary> |
|
/// Run embedded git with the given arguments. |
|
/// </summary> |
|
Task RunGit(ProcessArgs args, string? workingDirectory = null); |
|
|
|
Task<string> GetGitOutput(string? workingDirectory = null, params string[] args); |
|
Task InstallTkinterIfNecessary(IProgress<ProgressReport>? progress = null); |
|
Task RunNpm(ProcessArgs args, string? workingDirectory = null); |
|
Task InstallNodeIfNecessary(IProgress<ProgressReport>? progress = null); |
|
}
|
|
|