Esempio n. 1
0
 public RunPatcherPipeline(
     IExecuteRun executeRun,
     IGetGroupRunners getGroupRunners,
     ISynthesisProfileSettings profileSettings,
     RunPatcherPipelineInstructions instructions)
 {
     ProfileSettings = profileSettings;
     ExecuteRun      = executeRun;
     GetGroupRunners = getGroupRunners;
     Instructions    = instructions;
 }
Esempio n. 2
0
 public GetGroupRunners(
     ILogger logger,
     IGetPatcherRunners getPatcherRunners,
     IPrepPatcherForRun prepPatcherForRun,
     ISynthesisProfileSettings profile)
 {
     _logger            = logger;
     _getPatcherRunners = getPatcherRunners;
     _prepPatcherForRun = prepPatcherForRun;
     _profile           = profile;
 }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
 public ProfileNameVm(ISynthesisProfileSettings settings)
 {
     Name = settings.Nickname;
 }