public async Task RestoreAsync(string inputPath) { var inputUri = PathHelper.FilePathToFileUrl(inputPath); var configuration = this.configurationManager.GetConfiguration(inputUri); var sourceFileGrouping = SourceFileGroupingBuilder.Build(this.fileResolver, this.moduleDispatcher, this.workspace, inputUri, configuration); // restore is supposed to only restore the module references that are valid // and not log any other errors await moduleDispatcher.RestoreModules(configuration, moduleDispatcher.GetValidModuleReferences(sourceFileGrouping.ModulesToRestore, configuration)); }
public async Task RestoreAsync(string inputPath) { var inputUri = PathHelper.FilePathToFileUrl(inputPath); var configuration = this.configurationManager.GetConfiguration(inputUri); var sourceFileGrouping = SourceFileGroupingBuilder.Build(this.fileResolver, this.moduleDispatcher, this.workspace, inputUri, configuration); var originalModulesToRestore = sourceFileGrouping.ModulesToRestore; // restore is supposed to only restore the module references that are syntactically valid await moduleDispatcher.RestoreModules(configuration, moduleDispatcher.GetValidModuleReferences(sourceFileGrouping.ModulesToRestore, configuration)); // update the errors based on restore status sourceFileGrouping = SourceFileGroupingBuilder.Rebuild(this.moduleDispatcher, this.workspace, sourceFileGrouping, configuration); LogDiagnostics(GetModuleRestoreDiagnosticsByBicepFile(sourceFileGrouping, originalModulesToRestore)); }
public async Task RestoreAsync(string inputPath, bool forceModulesRestore) { var inputUri = PathHelper.FilePathToFileUrl(inputPath); var configuration = this.configurationManager.GetConfiguration(inputUri); var sourceFileGrouping = SourceFileGroupingBuilder.Build(this.fileResolver, this.moduleDispatcher, this.workspace, inputUri, configuration, forceModulesRestore); var originalModulesToRestore = sourceFileGrouping.ModulesToRestore; // RestoreModules() does a distinct but we'll do it also to prevent duplicates in processing and logging var modulesToRestoreReferences = this.moduleDispatcher.GetValidModuleReferences(sourceFileGrouping.ModulesToRestore, configuration) .Distinct() .OrderBy(key => key.FullyQualifiedReference); // restore is supposed to only restore the module references that are syntactically valid await moduleDispatcher.RestoreModules(configuration, modulesToRestoreReferences, forceModulesRestore); // update the errors based on restore status sourceFileGrouping = SourceFileGroupingBuilder.Rebuild(this.moduleDispatcher, this.workspace, sourceFileGrouping, configuration); LogDiagnostics(GetModuleRestoreDiagnosticsByBicepFile(sourceFileGrouping, originalModulesToRestore, forceModulesRestore)); }
public Compilation Compile(string inputPath) { var inputUri = PathHelper.FilePathToFileUrl(inputPath); var sourceFileGrouping = SourceFileGroupingBuilder.Build(this.fileResolver, this.moduleDispatcher, this.workspace, inputUri); if (moduleDispatcher.RestoreModules(sourceFileGrouping.ModulesToRestore)) { // modules had to be restored - recompile sourceFileGrouping = SourceFileGroupingBuilder.Rebuild(moduleDispatcher, new Workspace(), sourceFileGrouping); } var compilation = new Compilation(this.invocationContext.ResourceTypeProvider, sourceFileGrouping); LogDiagnostics(compilation); return(compilation); }