public RunPatcherPipeline( IExecuteRun executeRun, IGetGroupRunners getGroupRunners, ISynthesisProfileSettings profileSettings, RunPatcherPipelineInstructions instructions) { ProfileSettings = profileSettings; ExecuteRun = executeRun; GetGroupRunners = getGroupRunners; Instructions = instructions; }
public GetGroupRunners( ILogger logger, IGetPatcherRunners getPatcherRunners, IPrepPatcherForRun prepPatcherForRun, ISynthesisProfileSettings profile) { _logger = logger; _getPatcherRunners = getPatcherRunners; _prepPatcherForRun = prepPatcherForRun; _profile = profile; }
public ProfileVm Get(ISynthesisProfileSettings settings) { _logger.Information("Loading {Release} Profile {Nickname} with ID {ID}", settings.TargetRelease, settings.Nickname, settings.ID); var scope = _scope.BeginLifetimeScope( LifetimeScopes.ProfileNickname, cfg => { cfg.RegisterInstance(settings) .AsSelf() .AsImplementedInterfaces(); cfg.RegisterType <ProfileLogDecorator>() .AsImplementedInterfaces() .SingleInstance(); }); var profile = scope.Resolve <ProfileVm>(); var factory = scope.Resolve <IGroupFactory>(); var newGroup = scope.Resolve <INewGroupCreator>(); scope.DisposeWith(profile); profile.Versioning.MutagenVersioning = settings.MutagenVersioning; profile.Versioning.ManualMutagenVersion = settings.MutagenManualVersion; profile.Versioning.SynthesisVersioning = settings.SynthesisVersioning; profile.Versioning.ManualSynthesisVersion = settings.SynthesisManualVersion; profile.DataFolderOverride.DataPathOverride = settings.DataPathOverride; profile.IgnoreMissingMods = settings.IgnoreMissingMods; profile.ConsiderPrereleaseNugets = settings.ConsiderPrereleaseNugets; profile.LockSetting.Lock = settings.LockToCurrentVersioning; profile.SelectedPersistenceMode = settings.FormIdPersistence; profile.TargetLanguage = settings.TargetLanguage; profile.Localize = settings.Localize; profile.Groups.AddRange(settings.Groups.Select(x => factory.Get(x))); if (profile.Groups.Count == 0) { profile.Groups.Add(newGroup.Get()); } return(profile); }
public ProfileNameVm(ISynthesisProfileSettings settings) { Name = settings.Nickname; }