Exemplo n.º 1
0
        public static ConfiguredProjectServices Create(IPropertyPagesCatalogProvider?propertyPagesCatalogProvider = null,
                                                       IAdditionalRuleDefinitionsService?ruleService          = null,
                                                       IProjectSubscriptionService?projectSubscriptionService = null,
                                                       IProjectPropertiesProvider?projectPropertiesProvider   = null,
                                                       IProjectService?projectService            = null,
                                                       IProjectThreadingService?threadingService = null,
                                                       IProjectAsynchronousTasksService?projectAsynchronousTasksService = null,
                                                       IBuildDependencyProjectReferencesService?projectReferences       = null,
                                                       IPackageReferencesService?packageReferences   = null,
                                                       IAssemblyReferencesService?assemblyReferences = null)
        {
            var mock = new Mock <ConfiguredProjectServices>();

            mock.Setup(c => c.PropertyPagesCatalog).Returns(propertyPagesCatalogProvider !);
            mock.Setup(c => c.AdditionalRuleDefinitions).Returns(ruleService !);
            mock.Setup(c => c.ProjectSubscription).Returns(projectSubscriptionService !);
            mock.Setup(c => c.ProjectPropertiesProvider).Returns(projectPropertiesProvider !);
            mock.Setup(c => c.ThreadingPolicy).Returns(threadingService !);
            mock.Setup(c => c.ProjectAsynchronousTasks).Returns(projectAsynchronousTasksService !);
            mock.SetupGet(s => s.ProjectService).Returns(projectService !);
            mock.SetupGet(c => c.ProjectReferences).Returns(projectReferences !);
            mock.SetupGet(c => c.PackageReferences).Returns(packageReferences !);
            mock.SetupGet(c => c.AssemblyReferences).Returns(assemblyReferences !);
            return(mock.Object);
        }
        protected virtual async Task <IProjectRuleSnapshot> GetLatestSnapshotAsync(ConfiguredProject project)
        {
            IProjectSubscriptionService?service = project.Services.ProjectSubscription;

            Assumes.Present(service);

            IImmutableDictionary <string, IProjectRuleSnapshot> update = await service.ProjectRuleSource.GetLatestVersionAsync(project, new string[] { ConfigurationGeneral.SchemaName });

            return(update[ConfigurationGeneral.SchemaName]);
        }
            public IProjectRuleSnapshot GetProjectSnapshot(ConfiguredProject selectedConfiguredProject)
            {
                IProjectSubscriptionService?serviceSubscription = selectedConfiguredProject.Services.ProjectSubscription;

                Assumes.Present(serviceSubscription);

                serviceSubscription.ProjectRuleSource.SourceBlock.TryReceive(filter, out IProjectVersionedValue <IProjectSubscriptionUpdate> item);

                _snapshotReferences = item.Value.CurrentState[_schema];

                return(_snapshotReferences);
            }
        public static ConfiguredProjectServices Create(IPropertyPagesCatalogProvider?propertyPagesCatalogProvider = null,
                                                       IAdditionalRuleDefinitionsService?ruleService          = null,
                                                       IProjectSubscriptionService?projectSubscriptionService = null,
                                                       IProjectPropertiesProvider?projectPropertiesProvider   = null)
        {
            var mock = new Mock <ConfiguredProjectServices>();

            mock.Setup(c => c.PropertyPagesCatalog).Returns(propertyPagesCatalogProvider !);
            mock.Setup(c => c.AdditionalRuleDefinitions).Returns(ruleService !);
            mock.Setup(c => c.ProjectSubscription).Returns(projectSubscriptionService !);
            mock.Setup(c => c.ProjectPropertiesProvider).Returns(projectPropertiesProvider !);
            return(mock.Object);
        }
        private static WorkspaceProjectContextHostInstance CreateInstance(ConfiguredProject?project = null, IProjectThreadingService?threadingService = null, IUnconfiguredProjectTasksService?tasksService = null, IProjectSubscriptionService?projectSubscriptionService = null, IActiveEditorContextTracker?activeWorkspaceProjectContextTracker = null, IWorkspaceProjectContextProvider?workspaceProjectContextProvider = null, IApplyChangesToWorkspaceContext?applyChangesToWorkspaceContext = null)
        {
            project ??= ConfiguredProjectFactory.Create();
            threadingService ??= IProjectThreadingServiceFactory.Create();
            tasksService ??= IUnconfiguredProjectTasksServiceFactory.Create();
            projectSubscriptionService ??= IProjectSubscriptionServiceFactory.Create();
            activeWorkspaceProjectContextTracker ??= IActiveEditorContextTrackerFactory.Create();
            workspaceProjectContextProvider ??= IWorkspaceProjectContextProviderFactory.ImplementCreateProjectContextAsync(IWorkspaceProjectContextAccessorFactory.Create());
            applyChangesToWorkspaceContext ??= IApplyChangesToWorkspaceContextFactory.Create();
            IDataProgressTrackerService dataProgressTrackerService = IDataProgressTrackerServiceFactory.Create();

            return(new WorkspaceProjectContextHostInstance(project,
                                                           threadingService,
                                                           tasksService,
                                                           projectSubscriptionService,
                                                           workspaceProjectContextProvider,
                                                           activeWorkspaceProjectContextTracker,
                                                           ExportFactoryFactory.ImplementCreateValueWithAutoDispose(() => applyChangesToWorkspaceContext),
                                                           dataProgressTrackerService));
        }
        private static async Task <WorkspaceProjectContextHostInstance> CreateInitializedInstanceAsync(ConfiguredProject?project = null, IProjectThreadingService?threadingService = null, IUnconfiguredProjectTasksService?tasksService = null, IProjectSubscriptionService?projectSubscriptionService = null, IActiveEditorContextTracker?activeWorkspaceProjectContextTracker = null, IWorkspaceProjectContextProvider?workspaceProjectContextProvider = null, IApplyChangesToWorkspaceContext?applyChangesToWorkspaceContext = null)
        {
            var instance = CreateInstance(project, threadingService, tasksService, projectSubscriptionService, activeWorkspaceProjectContextTracker, workspaceProjectContextProvider, applyChangesToWorkspaceContext);

            await instance.InitializeAsync();

            return(instance);
        }
        private PackageRestoreProgressTrackerInstance CreateInstance(ConfiguredProject?project = null, IDataProgressTrackerService?dataProgressTrackerService = null, IPackageRestoreDataSource?packageRestoreDataSource = null, IProjectSubscriptionService?projectSubscriptionService = null)
        {
            project ??= ConfiguredProjectFactory.Create();
            dataProgressTrackerService ??= IDataProgressTrackerServiceFactory.Create();
            packageRestoreDataSource ??= IPackageRestoreServiceFactory.Create();
            projectSubscriptionService ??= IProjectSubscriptionServiceFactory.Create();

            IProjectThreadingService    threadingService           = IProjectThreadingServiceFactory.Create();
            IProjectFaultHandlerService projectFaultHandlerService = IProjectFaultHandlerServiceFactory.Create();

            return(new PackageRestoreProgressTrackerInstance(
                       project,
                       threadingService,
                       projectFaultHandlerService,
                       dataProgressTrackerService,
                       packageRestoreDataSource,
                       projectSubscriptionService));
        }
        private async Task <PackageRestoreProgressTrackerInstance> CreateInitializedInstance(ConfiguredProject?project = null, IDataProgressTrackerService?dataProgressTrackerService = null, IPackageRestoreDataSource?packageRestoreService = null, IProjectSubscriptionService?projectSubscriptionService = null)
        {
            var instance = CreateInstance(project, dataProgressTrackerService, packageRestoreService, projectSubscriptionService);

            await instance.InitializeAsync();

            return(instance);
        }