public ProjectManager( ILoggerFactory loggerFactory, MSBuildOptions options, IEventEmitter eventEmitter, IFileSystemWatcher fileSystemWatcher, MetadataFileReferenceCache metadataFileReferenceCache, PackageDependencyChecker packageDependencyChecker, ProjectLoader projectLoader, OmniSharpWorkspace workspace, IAnalyzerAssemblyLoader analyzerAssemblyLoader, ImmutableArray <IMSBuildEventSink> eventSinks, DotNetInfo dotNetInfo) { _logger = loggerFactory.CreateLogger <ProjectManager>(); _options = options ?? new MSBuildOptions(); _eventEmitter = eventEmitter; _fileSystemWatcher = fileSystemWatcher; _metadataFileReferenceCache = metadataFileReferenceCache; _packageDependencyChecker = packageDependencyChecker; _projectFiles = new ProjectFileInfoCollection(); _failedToLoadProjectFiles = new HashSet <string>(StringComparer.OrdinalIgnoreCase); _projectsRequestedOnDemand = new ConcurrentDictionary <string, int>(StringComparer.OrdinalIgnoreCase); _projectLoader = projectLoader; _workspace = workspace; _eventSinks = eventSinks; _dotNetInfo = dotNetInfo; _queue = new BufferBlock <ProjectToUpdate>(); _processLoopCancellation = new CancellationTokenSource(); _processLoopTask = Task.Run(() => ProcessLoopAsync(_processLoopCancellation.Token)); _analyzerAssemblyLoader = analyzerAssemblyLoader; _onDirectoryFileChanged = OnDirectoryFileChanged; if (_options.LoadProjectsOnDemand) { _workspace.AddWaitForProjectModelReadyHandler(WaitForProjectModelReadyAsync); } }
public ProjectSystem( IOmniSharpEnvironment environment, OmniSharpWorkspace workspace, IMSBuildLocator msbuildLocator, DotNetCliService dotNetCliService, SdksPathResolver sdksPathResolver, MetadataFileReferenceCache metadataFileReferenceCache, IEventEmitter eventEmitter, IFileSystemWatcher fileSystemWatcher, ILoggerFactory loggerFactory) { _environment = environment; _workspace = workspace; _propertyOverrides = msbuildLocator.RegisteredInstance.PropertyOverrides; _dotNetCli = dotNetCliService; _sdksPathResolver = sdksPathResolver; _metadataFileReferenceCache = metadataFileReferenceCache; _eventEmitter = eventEmitter; _fileSystemWatcher = fileSystemWatcher; _loggerFactory = loggerFactory; _projectsToProcess = new Queue <ProjectFileInfo>(); _logger = loggerFactory.CreateLogger <ProjectSystem>(); }
public ScriptContextProvider(ILoggerFactory loggerFactory, IOmniSharpEnvironment env, MetadataFileReferenceCache metadataFileReferenceCache) { _loggerFactory = loggerFactory; _env = env; _metadataFileReferenceCache = metadataFileReferenceCache; _logger = loggerFactory.CreateLogger <ScriptContextProvider>(); _compilationDependencyResolver = new CompilationDependencyResolver(type => { // Prefix with "OmniSharp" so that we make it through the log filter. var categoryName = $"OmniSharp.Script.{type.FullName}"; var dependencyResolverLogger = loggerFactory.CreateLogger(categoryName); return((level, message) => { if (level == LogLevel.Debug) { dependencyResolverLogger.LogDebug(message); } if (level == LogLevel.Info) { dependencyResolverLogger.LogInformation(message); } }); }); }
public DnxProjectSystem CreateProjectSystem( Solution solution, IApplicationLifetime appLifetime, DnxContext context) { var workspace = new OmnisharpWorkspace(); var env = new OmnisharpEnvironment(solution.BaseDirectory); var options = new OmniSharpOptionsWrapper(); var loggerFactory = new LoggerFactory(); var cache = new MetadataFileReferenceCache(); var emitter = new EventEmitter(); var watcher = new FileSystemWatcherWrapper(env); return(new DnxProjectSystem( workspace, env, options, loggerFactory, cache, appLifetime, watcher, emitter, context)); }
public ProjectManager(ILoggerFactory loggerFactory, IEventEmitter eventEmitter, IFileSystemWatcher fileSystemWatcher, MetadataFileReferenceCache metadataFileReferenceCache, PackageDependencyChecker packageDependencyChecker, ProjectLoader projectLoader, OmniSharpWorkspace workspace) { _logger = loggerFactory.CreateLogger <ProjectManager>(); _eventEmitter = eventEmitter; _fileSystemWatcher = fileSystemWatcher; _metadataFileReferenceCache = metadataFileReferenceCache; _packageDependencyChecker = packageDependencyChecker; _projectFiles = new ProjectFileInfoCollection(); _projectLoader = projectLoader; _workspace = workspace; _queue = new BufferBlock <ProjectToUpdate>(); _processLoopCancellation = new CancellationTokenSource(); _processLoopTask = Task.Run(() => ProcessLoopAsync(_processLoopCancellation.Token)); _onDirectoryFileChanged = OnDirectoryFileChanged; }
public ProjectManager(ILoggerFactory loggerFactory, IEventEmitter eventEmitter, IFileSystemWatcher fileSystemWatcher, MetadataFileReferenceCache metadataFileReferenceCache, PackageDependencyChecker packageDependencyChecker, ProjectLoader projectLoader, OmniSharpWorkspace workspace, ImmutableArray <IMSBuildEventSink> eventSinks) { _logger = loggerFactory.CreateLogger <ProjectManager>(); _eventEmitter = eventEmitter; _fileSystemWatcher = fileSystemWatcher; _metadataFileReferenceCache = metadataFileReferenceCache; _packageDependencyChecker = packageDependencyChecker; _projectFiles = new ProjectFileInfoCollection(); _failedToLoadProjectFiles = new HashSet <string>(StringComparer.OrdinalIgnoreCase); _projectLoader = projectLoader; _workspace = workspace; _eventSinks = eventSinks; _queue = new BufferBlock <ProjectToUpdate>(); _processLoopCancellation = new CancellationTokenSource(); _processLoopTask = Task.Run(() => ProcessLoopAsync(_processLoopCancellation.Token)); _onDirectoryFileChanged = OnDirectoryFileChanged; }
public ScriptProjectSystem(OmniSharpWorkspace workspace, IOmniSharpEnvironment env, ILoggerFactory loggerFactory, MetadataFileReferenceCache metadataFileReferenceCache) { _metadataFileReferenceCache = metadataFileReferenceCache; _workspace = workspace; _env = env; _logger = loggerFactory.CreateLogger <ScriptProjectSystem>(); _projects = new Dictionary <string, ProjectInfo>(); _scriptProjectProvider = ScriptProjectProvider.Create(loggerFactory); }