From f2e9677e6a75b8a65e88eb67f2c2b0fef07e3ca1 Mon Sep 17 00:00:00 2001 From: nohwnd Date: Tue, 31 Aug 2021 18:34:11 +0200 Subject: [PATCH 01/18] Fix formatting in readme and changelog --- CHANGELOG.md | 2 +- README.md | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fc8244877..53fc7e2be 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,7 +17,7 @@ * Support nserting outside code when texts are selected (PR: [#4715](https://github.com/OmniSharp/omnisharp-vscode/pull/4715)) * Fix autoFix on save ([#4401](https://github.com/OmniSharp/omnisharp-roslyn/issues/4401) ,PR: [#4717](https://github.com/OmniSharp/omnisharp-vscode/pull/4717)) -Update OmniSharp version to 1.37.15: +* Update OmniSharp version to 1.37.15: * Update Roslyn to 4.0.0-4.21427.11 (PR: [omnisharp-roslyn#2220](https://github.com/OmniSharp/omnisharp-roslyn/pull/2220)) * Update NuGet to 5.10.0 ([omnisharp-roslyn#2027](https://github.com/OmniSharp/omnisharp-roslyn/issues/2027), PR: [omnisharp-roslyn#2034](https://github.com/OmniSharp/omnisharp-roslyn/pull/2034)) * Remove .NET Core 2.1 (PR: [omnisharp-roslyn#2219](https://github.com/OmniSharp/omnisharp-roslyn/pull/2219)) diff --git a/README.md b/README.md index 1804f1754..af2b0e0ec 100644 --- a/README.md +++ b/README.md @@ -33,14 +33,14 @@ For MacOS and Linux users who have Mono installed, this means you will need to s * Support nserting outside code when texts are selected (PR: [#4715](https://github.com/OmniSharp/omnisharp-vscode/pull/4715)) * Fix autoFix on save ([#4401](https://github.com/OmniSharp/omnisharp-roslyn/issues/4401) ,PR: [#4717](https://github.com/OmniSharp/omnisharp-vscode/pull/4717)) -Update OmniSharp version to 1.37.15: - * Update Roslyn to 4.0.0-4.21427.11 (PR: [omnisharp-roslyn#2220](https://github.com/OmniSharp/omnisharp-roslyn/pull/2220)) - * Update NuGet to 5.10.0 ([omnisharp-roslyn#2027](https://github.com/OmniSharp/omnisharp-roslyn/issues/2027), PR: [omnisharp-roslyn#2034](https://github.com/OmniSharp/omnisharp-roslyn/pull/2034)) - * Remove .NET Core 2.1 (PR: [omnisharp-roslyn#2219](https://github.com/OmniSharp/omnisharp-roslyn/pull/2219)) - * Update versions to match .NET SDK 6 RC1 (PR: [omnisharp-roslyn#2217](https://github.com/OmniSharp/omnisharp-roslyn/pull/2217)) - * Use FullPaths for Locations that are returned with relative paths. ([omnisharp-roslyn#2215](https://github.com/OmniSharp/omnisharp-roslyn/issues/2215), PR: [omnisharp-roslyn#2216](https://github.com/OmniSharp/omnisharp-roslyn/pull/2216)) - * Improved logging in project manager (PR: [omnisharp-roslyn#2203](https://github.com/OmniSharp/omnisharp-roslyn/pull/2203)) - * Log a warning when external features path has no assemblies ([omnisharp-roslyn#2201](https://github.com/OmniSharp/omnisharp-roslyn/issues/2201), PR: [omnisharp-roslyn#2202](https://github.com/OmniSharp/omnisharp-roslyn/pull/2202)) +* Update OmniSharp version to 1.37.15: + * Update Roslyn to 4.0.0-4.21427.11 (PR: [omnisharp-roslyn#2220](https://github.com/OmniSharp/omnisharp-roslyn/pull/2220)) + * Update NuGet to 5.10.0 ([omnisharp-roslyn#2027](https://github.com/OmniSharp/omnisharp-roslyn/issues/2027), PR: [omnisharp-roslyn#2034](https://github.com/OmniSharp/omnisharp-roslyn/pull/2034)) + * Remove .NET Core 2.1 (PR: [omnisharp-roslyn#2219](https://github.com/OmniSharp/omnisharp-roslyn/pull/2219)) + * Update versions to match .NET SDK 6 RC1 (PR: [omnisharp-roslyn#2217](https://github.com/OmniSharp/omnisharp-roslyn/pull/2217)) + * Use FullPaths for Locations that are returned with relative paths. ([omnisharp-roslyn#2215](https://github.com/OmniSharp/omnisharp-roslyn/issues/2215), PR: [omnisharp-roslyn#2216](https://github.com/OmniSharp/omnisharp-roslyn/pull/2216)) + * Improved logging in project manager (PR: [omnisharp-roslyn#2203](https://github.com/OmniSharp/omnisharp-roslyn/pull/2203)) + * Log a warning when external features path has no assemblies ([omnisharp-roslyn#2201](https://github.com/OmniSharp/omnisharp-roslyn/issues/2201), PR: [omnisharp-roslyn#2202](https://github.com/OmniSharp/omnisharp-roslyn/pull/2202)) ## What's new in 1.23.14 * Bump minimum required version of VS Code (PR: [#4664](https://github.com/OmniSharp/omnisharp-vscode/pull/4664)) From 3782aecfbd196e092159b63c7429fea1a47397a7 Mon Sep 17 00:00:00 2001 From: nohwnd Date: Tue, 31 Aug 2021 18:37:30 +0200 Subject: [PATCH 02/18] Fix comma --- CHANGELOG.md | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 53fc7e2be..1117c1542 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,7 +15,7 @@ * Restore launch target for workspace root when no solution present ([#4691](https://github.com/OmniSharp/omnisharp-vscode/issues/4691), PR: [#4695](https://github.com/OmniSharp/omnisharp-vscode/pull/4695)) * Don't create launch.json for no select process ([omnisharp-roslyn#4696](https://github.com/OmniSharp/omnisharp-roslyn/issues/4696), PR: [#4699](https://github.com/OmniSharp/omnisharp-vscode/pull/4699)) * Support nserting outside code when texts are selected (PR: [#4715](https://github.com/OmniSharp/omnisharp-vscode/pull/4715)) -* Fix autoFix on save ([#4401](https://github.com/OmniSharp/omnisharp-roslyn/issues/4401) ,PR: [#4717](https://github.com/OmniSharp/omnisharp-vscode/pull/4717)) +* Fix autoFix on save ([#4401](https://github.com/OmniSharp/omnisharp-roslyn/issues/4401), PR: [#4717](https://github.com/OmniSharp/omnisharp-vscode/pull/4717)) * Update OmniSharp version to 1.37.15: * Update Roslyn to 4.0.0-4.21427.11 (PR: [omnisharp-roslyn#2220](https://github.com/OmniSharp/omnisharp-roslyn/pull/2220)) diff --git a/README.md b/README.md index af2b0e0ec..d8aa11d35 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ For MacOS and Linux users who have Mono installed, this means you will need to s * Restore launch target for workspace root when no solution present ([#4691](https://github.com/OmniSharp/omnisharp-vscode/issues/4691), PR: [#4695](https://github.com/OmniSharp/omnisharp-vscode/pull/4695)) * Don't create launch.json for no select process ([omnisharp-roslyn#4696](https://github.com/OmniSharp/omnisharp-roslyn/issues/4696), PR: [#4699](https://github.com/OmniSharp/omnisharp-vscode/pull/4699)) * Support nserting outside code when texts are selected (PR: [#4715](https://github.com/OmniSharp/omnisharp-vscode/pull/4715)) -* Fix autoFix on save ([#4401](https://github.com/OmniSharp/omnisharp-roslyn/issues/4401) ,PR: [#4717](https://github.com/OmniSharp/omnisharp-vscode/pull/4717)) +* Fix autoFix on save ([#4401](https://github.com/OmniSharp/omnisharp-roslyn/issues/4401), PR: [#4717](https://github.com/OmniSharp/omnisharp-vscode/pull/4717)) * Update OmniSharp version to 1.37.15: * Update Roslyn to 4.0.0-4.21427.11 (PR: [omnisharp-roslyn#2220](https://github.com/OmniSharp/omnisharp-roslyn/pull/2220)) From 8859864b7d7edac392564d352fdcf9772f675857 Mon Sep 17 00:00:00 2001 From: Joey Robichaud Date: Fri, 10 Sep 2021 16:07:09 -0700 Subject: [PATCH 03/18] Show decompilation authorization once per install. --- src/features/commands.ts | 6 +++--- src/omnisharp/decompilationPrompt.ts | 12 ++++++++---- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/features/commands.ts b/src/features/commands.ts index 8775eb856..67c1474da 100644 --- a/src/features/commands.ts +++ b/src/features/commands.ts @@ -21,7 +21,7 @@ import OptionProvider from '../observers/OptionProvider'; import reportIssue from './reportIssue'; import { IMonoResolver } from '../constants/IMonoResolver'; import { getDotnetInfo } from '../utils/getDotnetInfo'; -import { getDecompilationAuthorization } from '../omnisharp/decompilationPrompt'; +import { getDecompilationAuthorization, resetDecompilationAuthorization } from '../omnisharp/decompilationPrompt'; export default function registerCommands(context: vscode.ExtensionContext, server: OmniSharpServer, platformInfo: PlatformInformation, eventStream: EventStream, optionProvider: OptionProvider, monoResolver: IMonoResolver, packageJSON: any, extensionPath: string): CompositeDisposable { let disposable = new CompositeDisposable(); @@ -62,13 +62,13 @@ export default function registerCommands(context: vscode.ExtensionContext, serve async function showDecompilationTerms(context: vscode.ExtensionContext, server: OmniSharpServer, optionProvider: OptionProvider) { // Reset the decompilation authorization so the user will be prompted on restart. - context.workspaceState.update("decompilationAuthorized", undefined); + resetDecompilationAuthorization(context); await restartOmniSharp(context, server, optionProvider); } async function restartOmniSharp(context: vscode.ExtensionContext, server: OmniSharpServer, optionProvider: OptionProvider) { - // Update decompilation authorization for this workspace. + // Update decompilation authorization. server.decompilationAuthorized = await getDecompilationAuthorization(context, optionProvider); if (server.isRunning()) { diff --git a/src/omnisharp/decompilationPrompt.ts b/src/omnisharp/decompilationPrompt.ts index 3849c0412..6e45b4943 100644 --- a/src/omnisharp/decompilationPrompt.ts +++ b/src/omnisharp/decompilationPrompt.ts @@ -6,15 +6,19 @@ import * as vscode from "vscode"; import OptionProvider from "../observers/OptionProvider"; +export async function resetDecompilationAuthorization(context: vscode.ExtensionContext) { + context.globalState.update("csharp.decompilationAuthorized", undefined); +} + export async function getDecompilationAuthorization(context: vscode.ExtensionContext, optionProvider: OptionProvider) { - // If decompilation is disabled the return false + // If decompilation is disabled, then return false const options = optionProvider.GetLatestOptions(); if (options.enableDecompilationSupport === false) { return false; } - // If the terms have been acknowledged for this workspace then return. - let decompilationAutorized = context.workspaceState.get("decompilationAuthorized"); + // If the terms have been acknowledged, then return whether it was authorized. + let decompilationAutorized = context.globalState.get("csharp.decompilationAuthorized"); if (decompilationAutorized !== undefined) { return decompilationAutorized; } @@ -22,7 +26,7 @@ export async function getDecompilationAuthorization(context: vscode.ExtensionCon const result = await promptToAcceptDecompilationTerms(); decompilationAutorized = result === PromptResult.Yes; - await context.workspaceState.update("decompilationAuthorized", decompilationAutorized); + await context.globalState.update("csharp.decompilationAuthorized", decompilationAutorized); return decompilationAutorized; } From 94ab6a0fcbeced4556ebb747019c34aa82d930e9 Mon Sep 17 00:00:00 2001 From: Joey Robichaud Date: Fri, 10 Sep 2021 16:17:47 -0700 Subject: [PATCH 04/18] Fix typo; extract option name as constant --- src/omnisharp/decompilationPrompt.ts | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/omnisharp/decompilationPrompt.ts b/src/omnisharp/decompilationPrompt.ts index 6e45b4943..e0fb09add 100644 --- a/src/omnisharp/decompilationPrompt.ts +++ b/src/omnisharp/decompilationPrompt.ts @@ -6,8 +6,10 @@ import * as vscode from "vscode"; import OptionProvider from "../observers/OptionProvider"; +const DecompilationAuthorizedOption = "csharp.decompilationAuthorized"; + export async function resetDecompilationAuthorization(context: vscode.ExtensionContext) { - context.globalState.update("csharp.decompilationAuthorized", undefined); + context.globalState.update(DecompilationAuthorizedOption, undefined); } export async function getDecompilationAuthorization(context: vscode.ExtensionContext, optionProvider: OptionProvider) { @@ -18,17 +20,17 @@ export async function getDecompilationAuthorization(context: vscode.ExtensionCon } // If the terms have been acknowledged, then return whether it was authorized. - let decompilationAutorized = context.globalState.get("csharp.decompilationAuthorized"); - if (decompilationAutorized !== undefined) { - return decompilationAutorized; + let decompilationAuthorized = context.globalState.get(DecompilationAuthorizedOption); + if (decompilationAuthorized !== undefined) { + return decompilationAuthorized; } const result = await promptToAcceptDecompilationTerms(); - decompilationAutorized = result === PromptResult.Yes; + decompilationAuthorized = result === PromptResult.Yes; - await context.globalState.update("csharp.decompilationAuthorized", decompilationAutorized); + await context.globalState.update(DecompilationAuthorizedOption, decompilationAuthorized); - return decompilationAutorized; + return decompilationAuthorized; } enum PromptResult { From c6cc7fbc8c47f26fd59e630437edefe73159da1e Mon Sep 17 00:00:00 2001 From: Tanay Parikh Date: Wed, 15 Sep 2021 17:15:04 -0700 Subject: [PATCH 05/18] Update missing `dotnet` sdk error message For: https://github.com/OmniSharp/omnisharp-vscode/issues/4771 --- src/coreclr-debug/activate.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/coreclr-debug/activate.ts b/src/coreclr-debug/activate.ts index c45f98308..dd847716d 100644 --- a/src/coreclr-debug/activate.ts +++ b/src/coreclr-debug/activate.ts @@ -106,8 +106,8 @@ function showInstallErrorMessage(eventStream: EventStream) { function showDotnetToolsWarning(message: string): void { const config = vscode.workspace.getConfiguration('csharp'); if (!config.get('suppressDotnetInstallWarning', false)) { - const getDotNetMessage = 'Get the .NET Core SDK'; - const goToSettingsMessage = 'Disable this message in user settings'; + const getDotNetMessage = 'Get the SDK'; + const goToSettingsMessage = 'Disable message in settings'; const helpMessage = 'Help'; // Buttons are shown in right-to-left order, with a close button to the right of everything; // getDotNetMessage will be the first button, then goToSettingsMessage, then the close button. @@ -182,4 +182,4 @@ export class DebugAdapterExecutableFactory implements vscode.DebugAdapterDescrip // make VS Code launch the DA executable return executable; } -} \ No newline at end of file +} From 505cc901855dcc6e00bc01aba0eb622228b0cb7c Mon Sep 17 00:00:00 2001 From: Tanay Parikh Date: Wed, 15 Sep 2021 17:51:14 -0700 Subject: [PATCH 06/18] Build fix in `commands.pickProjectAndStart` Getting the following without it: ``` npm run compile > csharp@1.23.15 compile > tsc -p ./ && gulp tslint [17:31:43] Requiring external module ts-node/register [17:31:47] Using gulpfile ~/dev/omnisharp-vscode/gulpfile.ts [17:31:47] Starting 'tslint'... ERROR: /Users/tanay/dev/omnisharp-vscode/src/features/commands.ts:84:44 - functions that return promises must be async [17:31:53] Finished 'tslint' after 5.25 s ``` --- src/features/commands.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/features/commands.ts b/src/features/commands.ts index 67c1474da..02c526218 100644 --- a/src/features/commands.ts +++ b/src/features/commands.ts @@ -81,7 +81,7 @@ async function restartOmniSharp(context: vscode.ExtensionContext, server: OmniSh async function pickProjectAndStart(server: OmniSharpServer, optionProvider: OptionProvider): Promise { let options = optionProvider.GetLatestOptions(); - return findLaunchTargets(options).then(targets => { + return findLaunchTargets(options).then(async targets => { let currentPath = server.getSolutionPathOrFolder(); if (currentPath) { From e2b0f5afc5dfe5a10b1d55c8a789e562fea94de7 Mon Sep 17 00:00:00 2001 From: Joey Robichaud Date: Mon, 20 Sep 2021 14:05:28 -0700 Subject: [PATCH 07/18] When there are multiple targets found, open the first Folder or Solution target --- src/omnisharp/server.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/omnisharp/server.ts b/src/omnisharp/server.ts index 9d0038ac5..0026a7345 100644 --- a/src/omnisharp/server.ts +++ b/src/omnisharp/server.ts @@ -559,6 +559,14 @@ export class OmniSharpServer { } } + // To maintain previous behavior when there are mulitple targets available, + // launch with first Solution or Folder target. + const firstFolderOrSolutionTarget = launchTargets.find(target => target.kind == LaunchTargetKind.Folder) + ?? launchTargets.find(target => target.kind == LaunchTargetKind.Solution); + if (firstFolderOrSolutionTarget) { + return this.restart(firstFolderOrSolutionTarget); + } + // When running integration tests, open the first launch target. if (process.env.RUNNING_INTEGRATION_TESTS === "true") { return this.restart(launchTargets[0]); From 6784c95173f5b885dd443bd13f0b1c4e80d85a0b Mon Sep 17 00:00:00 2001 From: Joey Robichaud Date: Mon, 20 Sep 2021 14:37:29 -0700 Subject: [PATCH 08/18] Fix project selector test --- src/observers/ProjectStatusBarObserver.ts | 19 ++----------------- src/omnisharp/server.ts | 4 ++-- 2 files changed, 4 insertions(+), 19 deletions(-) diff --git a/src/observers/ProjectStatusBarObserver.ts b/src/observers/ProjectStatusBarObserver.ts index 8e2c4fd74..fcd9ee220 100644 --- a/src/observers/ProjectStatusBarObserver.ts +++ b/src/observers/ProjectStatusBarObserver.ts @@ -3,7 +3,7 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { basename, join } from 'path'; +import { basename } from 'path'; import { BaseEvent, WorkspaceInformationUpdated } from "../omnisharp/loggingEvents"; import { BaseStatusBarItemObserver } from './BaseStatusBarItemObserver'; import { EventType } from '../omnisharp/EventType'; @@ -27,22 +27,7 @@ export class ProjectStatusBarObserver extends BaseStatusBarItemObserver { let label: string; let msbuild = event.info.MsBuild; if (msbuild && msbuild.SolutionPath) { - if (msbuild.SolutionPath.endsWith(".sln")) { - label = basename(msbuild.SolutionPath); - } - else { - // a project file was open, determine which project - for (const project of msbuild.Projects) { - // Get the project name. - label = basename(project.Path); - - // The solution path is the folder containing the open project. Combine it with the - // project name and see if it matches the project's path. - if (join(msbuild.SolutionPath, label) === project.Path) { - break; - } - } - } + label = basename(msbuild.SolutionPath); this.SetAndShowStatusBar('$(file-directory) ' + label, 'o.pickProjectAndStart'); } else { diff --git a/src/omnisharp/server.ts b/src/omnisharp/server.ts index 0026a7345..7520fca9d 100644 --- a/src/omnisharp/server.ts +++ b/src/omnisharp/server.ts @@ -561,8 +561,8 @@ export class OmniSharpServer { // To maintain previous behavior when there are mulitple targets available, // launch with first Solution or Folder target. - const firstFolderOrSolutionTarget = launchTargets.find(target => target.kind == LaunchTargetKind.Folder) - ?? launchTargets.find(target => target.kind == LaunchTargetKind.Solution); + const firstFolderOrSolutionTarget = launchTargets + .find(target => target.kind == LaunchTargetKind.Folder || target.kind == LaunchTargetKind.Solution); if (firstFolderOrSolutionTarget) { return this.restart(firstFolderOrSolutionTarget); } From 1756e252a74b051097ed9acb9e080fba8fdff185 Mon Sep 17 00:00:00 2001 From: Gregg Miskelly Date: Wed, 22 Sep 2021 09:22:55 -0700 Subject: [PATCH 09/18] Improvement to offline packaging (#4781) This PR makes various improvements to our offline package support in preparation for switching to that as our primary means of distribution. More significant changes: 1. Added support for the missing supported platforms 2. Switched to using the same schema as VS Code for the names of platforms 3. Stop dropping the debugger install complete file. The install complete file is used to do some first run OS validation logic, so it should not have been dropped by the offline installer. 4. Lots of error handling improvements: * Add a try/catch around `doOfflinePackage` so we could know which package failed * Detect and fail if a package download fails * Detect and fail if the vsce process exits with a non-zero exit code * Detect and fail if the vsce process fails to create the file we expect it to 5. Fix offline package creation on Linux-x64. This would fail due to multiple files with the same name but different casing. 6. Fix incorrect check in debugger activation code A few minor changes too: 1. Used more async APIs 2. Move the win32 check up to the start instead of failing each package 3. All the debugger references were to the '.NET Core' debugger and I dropped the 'Core' from this. --- src/coreclr-debug/activate.ts | 11 +++-- tasks/offlinePackagingTasks.ts | 89 +++++++++++++++++++++++----------- 2 files changed, 67 insertions(+), 33 deletions(-) diff --git a/src/coreclr-debug/activate.ts b/src/coreclr-debug/activate.ts index dd847716d..260c2e611 100644 --- a/src/coreclr-debug/activate.ts +++ b/src/coreclr-debug/activate.ts @@ -22,7 +22,9 @@ export async function activate(thisExtension: vscode.Extension { @@ -100,7 +101,7 @@ async function completeDebuggerInstall(platformInformation: PlatformInformation, function showInstallErrorMessage(eventStream: EventStream) { eventStream.post(new DebuggerNotInstalledFailure()); - vscode.window.showErrorMessage("An error occurred during installation of the .NET Core Debugger. The C# extension may need to be reinstalled."); + vscode.window.showErrorMessage("An error occurred during installation of the .NET Debugger. The C# extension may need to be reinstalled."); } function showDotnetToolsWarning(message: string): void { diff --git a/tasks/offlinePackagingTasks.ts b/tasks/offlinePackagingTasks.ts index e72114ac1..a03216837 100644 --- a/tasks/offlinePackagingTasks.ts +++ b/tasks/offlinePackagingTasks.ts @@ -4,11 +4,11 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import * as debugUtil from '../src/coreclr-debug/util'; import * as del from 'del'; import * as fs from 'fs'; import * as gulp from 'gulp'; import * as path from 'path'; +import * as util from '../src/common'; import spawnNode from '../tasks/spawnNode'; import { codeExtensionPath, offlineVscodeignorePath, vscodeignorePath, vscePath, packedVsixOutputRoot } from '../tasks/projectPaths'; import { CsharpLoggerObserver } from '../src/observers/CsharpLoggerObserver'; @@ -24,6 +24,13 @@ import { getAbsolutePathPackagesToInstall } from '../src/packageManager/getAbsol import { isValidDownload } from '../src/packageManager/isValidDownload'; gulp.task('vsix:offline:package', async () => { + + if (process.platform === 'win32') { + throw new Error('Do not build offline packages on windows. Runtime executables will not be marked executable in *nix packages.'); + } + + await cleanAsync(true); + del.sync(vscodeignorePath); fs.copyFileSync(offlineVscodeignorePath, vscodeignorePath); @@ -39,10 +46,10 @@ gulp.task('vsix:offline:package', async () => { async function doPackageOffline() { if (commandLineOptions.retainVsix) { //if user doesnot want to clean up the existing vsix packages - cleanSync(false); + await cleanAsync(false); } else { - cleanSync(true); + await cleanAsync(true); } const packageJSON = getPackageJSON(); @@ -51,36 +58,41 @@ async function doPackageOffline() { const packageName = name + '.' + version; const packages = [ - new PlatformInformation('win32', 'x86_64'), - new PlatformInformation('darwin', 'x86_64'), - new PlatformInformation('linux', 'x86_64') + { platformInfo: new PlatformInformation('win32', 'x86_64'), id: "win32-x64" }, + { platformInfo: new PlatformInformation('win32', 'x86'), id: "win32-ia32" }, + { platformInfo: new PlatformInformation('win32', 'arm64'), id: "win32-arm64" }, + { platformInfo: new PlatformInformation('linux', 'x86_64'), id: "linux-x64" }, + { platformInfo: new PlatformInformation('darwin', 'x86_64'), id: "darwin-x64" }, + { platformInfo: new PlatformInformation('darwin', 'arm64'), id: "darwin-arm64" }, ]; - for (let platformInfo of packages) { - await doOfflinePackage(platformInfo, packageName, packageJSON, packedVsixOutputRoot); + for (let p of packages) { + try + { + await doOfflinePackage(p.platformInfo, p.id, packageName, packageJSON, packedVsixOutputRoot); + } + catch (err) + { + // NOTE: Extra `\n---` at the end is because gulp will print this message following by the + // stack trace of this line. So that seperates the two stack traces. + throw Error(`Failed to create package ${p.id}. ${err.stack ?? err ?? ''}\n---`); + } } } -function cleanSync(deleteVsix: boolean) { - del.sync('install.*'); - del.sync('.omnisharp*'); - del.sync('.debugger'); - del.sync('.razor'); +async function cleanAsync(deleteVsix: boolean) { + await del([ 'install.*', '.omnisharp*', '.debugger', '.razor']); if (deleteVsix) { - del.sync('*.vsix'); + await del('*.vsix'); } } -async function doOfflinePackage(platformInfo: PlatformInformation, packageName: string, packageJSON: any, outputFolder: string) { - if (process.platform === 'win32') { - throw new Error('Do not build offline packages on windows. Runtime executables will not be marked executable in *nix packages.'); - } - - cleanSync(false); - const packageFileName = `${packageName}-${platformInfo.platform}-${platformInfo.architecture}.vsix`; +async function doOfflinePackage(platformInfo: PlatformInformation, vscodePlatformId: string, packageName: string, packageJSON: any, outputFolder: string) { + await cleanAsync(false); + const packageFileName = `${packageName}-${vscodePlatformId}.vsix`; await install(platformInfo, packageJSON); - await doPackageSync(packageFileName, outputFolder); + await createPackageAsync(packageFileName, outputFolder, vscodePlatformId); } // Install Tasks @@ -89,18 +101,29 @@ async function install(platformInfo: PlatformInformation, packageJSON: any) { const logger = new Logger(message => process.stdout.write(message)); let stdoutObserver = new CsharpLoggerObserver(logger); eventStream.subscribe(stdoutObserver.post); - const debuggerUtil = new debugUtil.CoreClrDebugUtil(path.resolve('.')); let runTimeDependencies = getRuntimeDependenciesPackages(packageJSON); let packagesToInstall = await getAbsolutePathPackagesToInstall(runTimeDependencies, platformInfo, codeExtensionPath); let provider = () => new NetworkSettings(undefined, undefined); - await downloadAndInstallPackages(packagesToInstall, provider, eventStream, isValidDownload); - await debugUtil.CoreClrDebugUtil.writeEmptyFile(debuggerUtil.installCompleteFilePath()); + if (!(await downloadAndInstallPackages(packagesToInstall, provider, eventStream, isValidDownload))) + { + throw Error("Failed to download package."); + } + + // The VSIX Format doesn't allow files that differ only by case. The Linux OmniSharp package had a lowercase version of these files ('.targets') targets from mono, + // and an upper case ('.Targets') from Microsoft.Build.Runtime. Remove the lowercase versions. + await del([ '.omnisharp/*/omnisharp/.msbuild/Current/Bin/Workflow.targets', '.omnisharp/*/omnisharp/.msbuild/Current/Bin/Workflow.VisualBasic.targets' ]); } /// Packaging (VSIX) Tasks -async function doPackageSync(packageName: string, outputFolder: string) { +async function createPackageAsync(packageName: string, outputFolder: string, vscodePlatformId: string) { let vsceArgs = []; + let packagePath = undefined; + + if (!(await util.fileExists(vscePath))) { + throw new Error(`vsce does not exist at expected location: '${vscePath}'`); + } + vsceArgs.push(vscePath); vsceArgs.push('package'); // package command @@ -108,12 +131,22 @@ async function doPackageSync(packageName: string, outputFolder: string) { vsceArgs.push('-o'); if (outputFolder) { //if we have specified an output folder then put the files in that output folder - vsceArgs.push(path.join(outputFolder, packageName)); + packagePath = path.join(outputFolder, packageName); + vsceArgs.push(packagePath); } else { vsceArgs.push(packageName); } } - return spawnNode(vsceArgs); + const spawnResult = await spawnNode(vsceArgs); + if (spawnResult.code != 0) { + throw new Error(`'${vsceArgs.join(' ')}' failed with code ${spawnResult.code}.`); + } + + if (packagePath) { + if (!(await util.fileExists(packagePath))) { + throw new Error(`vsce failed to create: '${packagePath}'`); + } + } } \ No newline at end of file From 388f7928f7bd07189e800244d193c1cd99fa3b00 Mon Sep 17 00:00:00 2001 From: nohwnd Date: Mon, 4 Oct 2021 10:40:35 +0200 Subject: [PATCH 10/18] Update OmniSharp and Changelog --- .vscode/launch.json | 4 ++-- CHANGELOG.md | 17 ++++++++++++-- README.md | 33 +++++++++------------------ package-lock.json | 7 ++---- package.json | 54 ++++++++++++++++++++++----------------------- 5 files changed, 57 insertions(+), 58 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index 589b9141e..197fd0271 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -188,8 +188,8 @@ "updatePackageDependencies" ], "env": { - "NEW_DEPS_URLS": "https://download.visualstudio.microsoft.com/download/pr/4fbf71ce-5375-4ca9-b70d-8024ba1b9e0a/b96375395e639233d546a4937be3bd32/omnisharp-linux-x64-1.37.15.zip,https://download.visualstudio.microsoft.com/download/pr/4fbf71ce-5375-4ca9-b70d-8024ba1b9e0a/a58d94b65bbe08b47c772514ce8f31e6/omnisharp-linux-x86-1.37.15.zip,https://download.visualstudio.microsoft.com/download/pr/4fbf71ce-5375-4ca9-b70d-8024ba1b9e0a/bc6ac844afef87eedaab5191f11dc374/omnisharp-osx-1.37.15.zip,https://download.visualstudio.microsoft.com/download/pr/4fbf71ce-5375-4ca9-b70d-8024ba1b9e0a/5b2da7f5be18cab4fa055879cba02d13/omnisharp-win-x64-1.37.15.zip,https://download.visualstudio.microsoft.com/download/pr/4fbf71ce-5375-4ca9-b70d-8024ba1b9e0a/91377167ee803c9c0ac4af282aae0d5c/omnisharp-win-x86-1.37.15.zip", - "NEW_DEPS_VERSION": "1.37.15" + "NEW_DEPS_URLS": "https://download.visualstudio.microsoft.com/download/pr/03c32aa6-7c7a-4936-82a0-fd8f816d112f/9ae3ed99fc0c41c7139751dde6f2bc78/omnisharp-linux-x64-1.37.16.zip,https://download.visualstudio.microsoft.com/download/pr/03c32aa6-7c7a-4936-82a0-fd8f816d112f/06bba46fa5450b4a2595e709fe59c131/omnisharp-linux-x86-1.37.16.zip,https://download.visualstudio.microsoft.com/download/pr/03c32aa6-7c7a-4936-82a0-fd8f816d112f/0ea1ea1eae48552a1992ed6df782353a/omnisharp-osx-1.37.16.zip,https://download.visualstudio.microsoft.com/download/pr/03c32aa6-7c7a-4936-82a0-fd8f816d112f/5c36b37a4b91460927fa42658f0271bb/omnisharp-win-x64-1.37.16.zip,https://download.visualstudio.microsoft.com/download/pr/03c32aa6-7c7a-4936-82a0-fd8f816d112f/9f47cd0a44db6e2d5bbdeb9e3e72aa8d/omnisharp-win-x86-1.37.16.zip", + "NEW_DEPS_VERSION": "1.37.16" }, "cwd": "${workspaceFolder}" } diff --git a/CHANGELOG.md b/CHANGELOG.md index 1117c1542..16ddd095b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -## Known Issues in 1.23.15 +## Known Issues in 1.23.16 * For Mono-based development (e.g. Unity) that requires full .NET framework, you need to set `"omnisharp.useGlobalMono": "always"`. The current value of "auto" will remain "never" until Mono [upgrades their bundled MSBuild version](https://github.com/mono/mono/issues/20250). * After selecting a solution filter (*.slnf) from the project selector, the solution's name will be displayed in the status bar instead of the filter's. @@ -11,7 +11,20 @@ * Renaming symbol fails within a file that had recently been renamed without saving changes. * As a workaround, make an edit within the file before using Rename Symbol. -## 1.23.15 (Not yet released) +## 1.23.16 Not released yet + +* Show decompilation authorization once per install. ([#3982](https://github.com/OmniSharp/omnisharp-vscode/issues/3982), PR: [#4760](https://github.com/OmniSharp/omnisharp-vscode/pull/4760)) +* Launch with first Folder or Solution target found (PR: [#4780](https://github.com/OmniSharp/omnisharp-vscode/pull/4780)) +* Update OmniSharp version to 1.37.16: + * Update included Build Tools to match .NET SDK 6 (PR: [omnisharp-roslyn#2239](https://github.com/OmniSharp/omnisharp-roslyn/pull/2239)) + * Add Custom .NET CLI support to OmniSharp (PR: [omnisharp-roslyn#2227](https://github.com/OmniSharp/omnisharp-roslyn/pull/2227)) + * Handle .editorconfig changes without running a new design time build ([omnisharp-roslyn#2112](https://github.com/OmniSharp/omnisharp-roslyn/issues/2112) PR: [omnisharp-roslyn#2234](https://github.com/OmniSharp/omnisharp-roslyn/pull/2234)) + * Do not return nulls when getting documents by path ([omnisharp-roslyn#2125](https://github.com/OmniSharp/omnisharp-roslyn/issues/2125) PR: [omnisharp-roslyn#2233](https://github.com/OmniSharp/omnisharp-roslyn/pull/2233)) + * handle RecordStructName in semantic highlighting classification ([omnisharp-roslyn#2228](https://github.com/OmniSharp/omnisharp-roslyn/issues/2228) PR: [omnisharp-roslyn#2232](https://github.com/OmniSharp/omnisharp-roslyn/pull/2232)) + * Update CodeStructureService with FileScoped Namespace support ([omnisharp-roslyn#2225](https://github.com/OmniSharp/omnisharp-roslyn/issues/2225) PR: [omnisharp-roslyn#2226](https://github.com/OmniSharp/omnisharp-roslyn/pull/2226)) + + +## 1.23.15 (Aug 31st, 2021) * Restore launch target for workspace root when no solution present ([#4691](https://github.com/OmniSharp/omnisharp-vscode/issues/4691), PR: [#4695](https://github.com/OmniSharp/omnisharp-vscode/pull/4695)) * Don't create launch.json for no select process ([omnisharp-roslyn#4696](https://github.com/OmniSharp/omnisharp-roslyn/issues/4696), PR: [#4699](https://github.com/OmniSharp/omnisharp-vscode/pull/4699)) * Support nserting outside code when texts are selected (PR: [#4715](https://github.com/OmniSharp/omnisharp-vscode/pull/4715)) diff --git a/README.md b/README.md index d8aa11d35..0c819c007 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,17 @@ The .NET 5 SDK requires version 16.8 of MSBuild. For Windows users who have Visual Studio installed, this means you will need to be on the latest Visual Studio 16.8 Preview. For MacOS and Linux users who have Mono installed, this means you will need to set `omnisharp.useGlobalMono` to `never` until a version of Mono ships with MSBuild 16.8. +## What's new in 1.23.16 +* Show decompilation authorization once per install. ([#3982](https://github.com/OmniSharp/omnisharp-vscode/issues/3982), PR: [#4760](https://github.com/OmniSharp/omnisharp-vscode/pull/4760)) +* Launch with first Folder or Solution target found (PR: [#4780](https://github.com/OmniSharp/omnisharp-vscode/pull/4780)) +* Update OmniSharp version to 1.37.16: + * Update included Build Tools to match .NET SDK 6 (PR: [omnisharp-roslyn#2239](https://github.com/OmniSharp/omnisharp-roslyn/pull/2239)) + * Add Custom .NET CLI support to OmniSharp (PR: [omnisharp-roslyn#2227](https://github.com/OmniSharp/omnisharp-roslyn/pull/2227)) + * Handle .editorconfig changes without running a new design time build ([omnisharp-roslyn#2112](https://github.com/OmniSharp/omnisharp-roslyn/issues/2112) PR: [omnisharp-roslyn#2234](https://github.com/OmniSharp/omnisharp-roslyn/pull/2234)) + * Do not return nulls when getting documents by path ([omnisharp-roslyn#2125](https://github.com/OmniSharp/omnisharp-roslyn/issues/2125) PR: [omnisharp-roslyn#2233](https://github.com/OmniSharp/omnisharp-roslyn/pull/2233)) + * handle RecordStructName in semantic highlighting classification ([omnisharp-roslyn#2228](https://github.com/OmniSharp/omnisharp-roslyn/issues/2228) PR: [omnisharp-roslyn#2232](https://github.com/OmniSharp/omnisharp-roslyn/pull/2232)) + * Update CodeStructureService with FileScoped Namespace support ([omnisharp-roslyn#2225](https://github.com/OmniSharp/omnisharp-roslyn/issues/2225) PR: [omnisharp-roslyn#2226](https://github.com/OmniSharp/omnisharp-roslyn/pull/2226)) + ## What's new in 1.23.15 * Restore launch target for workspace root when no solution present ([#4691](https://github.com/OmniSharp/omnisharp-vscode/issues/4691), PR: [#4695](https://github.com/OmniSharp/omnisharp-vscode/pull/4695)) * Don't create launch.json for no select process ([omnisharp-roslyn#4696](https://github.com/OmniSharp/omnisharp-roslyn/issues/4696), PR: [#4699](https://github.com/OmniSharp/omnisharp-vscode/pull/4699)) @@ -55,28 +66,6 @@ For MacOS and Linux users who have Mono installed, this means you will need to s * Debugger changes: * Added support for win10-arm64 debugging ([#3006](https://github.com/OmniSharp/omnisharp-vscode/issues/3006), PR: [#4672](https://github.com/OmniSharp/omnisharp-vscode/pull/4672)) -## What's new in 1.23.13 -* Fixes Razor editing support (PR: [#4642](https://github.com/OmniSharp/omnisharp-vscode/pull/4642)) -* Show C# project files in the project selector ([#4633](https://github.com/OmniSharp/omnisharp-vscode/issues/4633), PR: [#4644](https://github.com/OmniSharp/omnisharp-vscode/pull/4644)) -* Use new CompletionItem label API ([#4640](https://github.com/OmniSharp/omnisharp-vscode/issues/4640), PR: [#4648](https://github.com/OmniSharp/omnisharp-vscode/pull/4648)) -* Support V2 version of GoToDefinition, which can show more than one location for partial types and show source-generated file information (PR: [#4581](https://github.com/OmniSharp/omnisharp-vscode/pull/4581)) -* Add command 'listRemoteDockerProcess' and variable 'pickRemoteDockerProcess' ([#4607](https://github.com/OmniSharp/omnisharp-vscode/issues/4607), PR: [#4617](https://www.github.com/OmniSharp/omnisharp-vscode/pull/4617)) -* Ensure we only start one instance of OmniSharp server (PR: [#4612](https://www.github.com/OmniSharp/omnisharp-vscode/pull/4612)) -* Set the names of status bar items (PR: [#4621](https://github.com/OmniSharp/omnisharp-vscode/pull/4621)) -* Add Debugger Languages (PR: [#4626](https://github.com/OmniSharp/omnisharp-vscode/pull/4626)) -* Use temporary directory for debug sockets on NIX systems (PR: [#4637](https://github.com/OmniSharp/omnisharp-vscode/pull/4637)) -* Update OmniSharp version to 1.37.12 - * Include timing info in logged responses (PR: [omnisharp-roslyn#2173](https://www.github.com/omnisharp/omnisharp-roslyn/pull/2173)) - * Defend against null value in BuildErrorEventArgs ([omnisharp-roslyn#2171](https://github.com/OmniSharp/omnisharp-roslyn/issues/2171), PR: [omnisharp-roslyn#2172](https://www.github.com/omnisharp/omnisharp-roslyn/pull/2172)) - * Updated to all the latest .NET SDKs (PR: [omnisharp-roslyn#2166](https://www.github.com/omnisharp/omnisharp-roslyn/pull/2166)) - * Add support for GoToDefinition on source-generated files (PR: [omnisharp-roslyn#2170](https://www.github.com/omnisharp/omnisharp-roslyn/pull/2170)) - * Add V2 version of GotoDefinitionService (PR: [omnisharp-roslyn#2168](https://www.github.com/omnisharp/omnisharp-roslyn/pull/2168)) - * avoid NRE when document is null (PR: [omnisharp-roslyn#2163](https://www.github.com/omnisharp/omnisharp-roslyn/pull/2163))) - * Update Roslyn to 4.0.0-2.21322.50 (PR: [omnisharp-roslyn#2183](https://www.github.com/OmniSharp/omnisharp-roslyn/pull/2183)) - * Added support for diagnostic suppressors ([omnisharp-roslyn#1711](https://github.com/OmniSharp/omnisharp-roslyn/issues/1711), PR: [omnisharp-roslyn#2182](https://www.github.com/OmniSharp/omnisharp-roslyn/pull/2182)) - * Use the Microsoft.Build.Locator package for discovery (PR: [omnisharp-roslyn#2181](https://www.github.com/OmniSharp/omnisharp-roslyn/pull/2181)) - * Update build tools to match NET 6 Preview 5 (PR: [omnisharp-roslyn#2175](https://www.github.com/OmniSharp/omnisharp-roslyn/pull/2175)) - ### Emmet support in Razor files To enable emmet support, add the following to your settings.json: diff --git a/package-lock.json b/package-lock.json index 582907c6d..73574729b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "csharp", - "version": "1.23.15", + "version": "1.23.16", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "csharp", - "version": "1.23.15", + "version": "1.23.16", "license": "SEE LICENSE IN RuntimeLicenses/license.txt", "dependencies": { "async-file": "2.0.2", @@ -1624,7 +1624,6 @@ "dependencies": { "anymatch": "~3.1.1", "braces": "~3.0.2", - "fsevents": "~2.3.1", "glob-parent": "~5.1.0", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", @@ -3287,7 +3286,6 @@ "anymatch": "^2.0.0", "async-each": "^1.0.1", "braces": "^2.3.2", - "fsevents": "^1.2.7", "glob-parent": "^3.1.0", "inherits": "^2.0.3", "is-binary-path": "^1.0.0", @@ -4544,7 +4542,6 @@ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dependencies": { - "graceful-fs": "^4.1.6", "universalify": "^2.0.0" }, "optionalDependencies": { diff --git a/package.json b/package.json index 34ccba11e..1040841f7 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "csharp", "publisher": "ms-dotnettools", - "version": "1.23.15", + "version": "1.23.16", "description": "C# for Visual Studio Code (powered by OmniSharp).", "displayName": "C#", "author": "Microsoft Corporation", @@ -35,7 +35,7 @@ } }, "defaults": { - "omniSharp": "1.37.15", + "omniSharp": "1.37.16", "razor": "6.0.0-preview.5.21358.6" }, "main": "./dist/extension", @@ -126,9 +126,9 @@ { "id": "OmniSharp", "description": "OmniSharp for Windows (.NET 4.6 / x86)", - "url": "https://download.visualstudio.microsoft.com/download/pr/4fbf71ce-5375-4ca9-b70d-8024ba1b9e0a/91377167ee803c9c0ac4af282aae0d5c/omnisharp-win-x86-1.37.15.zip", - "fallbackUrl": "https://roslynomnisharp.blob.core.windows.net/releases/1.37.15/omnisharp-win-x86-1.37.15.zip", - "installPath": ".omnisharp/1.37.15", + "url": "https://download.visualstudio.microsoft.com/download/pr/03c32aa6-7c7a-4936-82a0-fd8f816d112f/9f47cd0a44db6e2d5bbdeb9e3e72aa8d/omnisharp-win-x86-1.37.16.zip", + "fallbackUrl": "https://roslynomnisharp.blob.core.windows.net/releases/1.37.16/omnisharp-win-x86-1.37.16.zip", + "installPath": ".omnisharp/1.37.16", "platforms": [ "win32" ], @@ -136,32 +136,32 @@ "x86", "arm64" ], - "installTestPath": "./.omnisharp/1.37.15/OmniSharp.exe", + "installTestPath": "./.omnisharp/1.37.16/OmniSharp.exe", "platformId": "win-x86", - "integrity": "6B5C2C57EC0326B770A067925B3D4AE04D278B05E327A8E492196AC8910E3CDD" + "integrity": "9299D1D2318929BC74BC158CDE73CF850C2768F832D89B6AD31ABC333A0F5002" }, { "id": "OmniSharp", "description": "OmniSharp for Windows (.NET 4.6 / x64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/4fbf71ce-5375-4ca9-b70d-8024ba1b9e0a/5b2da7f5be18cab4fa055879cba02d13/omnisharp-win-x64-1.37.15.zip", - "fallbackUrl": "https://roslynomnisharp.blob.core.windows.net/releases/1.37.15/omnisharp-win-x64-1.37.15.zip", - "installPath": ".omnisharp/1.37.15", + "url": "https://download.visualstudio.microsoft.com/download/pr/03c32aa6-7c7a-4936-82a0-fd8f816d112f/5c36b37a4b91460927fa42658f0271bb/omnisharp-win-x64-1.37.16.zip", + "fallbackUrl": "https://roslynomnisharp.blob.core.windows.net/releases/1.37.16/omnisharp-win-x64-1.37.16.zip", + "installPath": ".omnisharp/1.37.16", "platforms": [ "win32" ], "architectures": [ "x86_64" ], - "installTestPath": "./.omnisharp/1.37.15/OmniSharp.exe", + "installTestPath": "./.omnisharp/1.37.16/OmniSharp.exe", "platformId": "win-x64", - "integrity": "7A14FC81F3349DDCE5AC38D01072FD7D4F17B98975E9841EA2593A65C3E96DD5" + "integrity": "64F97DCA98CB26A835EA2D9E5FF5105B7E33E150B0822BC76CD0C7BCF773AF7D" }, { "id": "OmniSharp", "description": "OmniSharp for OSX", - "url": "https://download.visualstudio.microsoft.com/download/pr/4fbf71ce-5375-4ca9-b70d-8024ba1b9e0a/bc6ac844afef87eedaab5191f11dc374/omnisharp-osx-1.37.15.zip", - "fallbackUrl": "https://roslynomnisharp.blob.core.windows.net/releases/1.37.15/omnisharp-osx-1.37.15.zip", - "installPath": ".omnisharp/1.37.15", + "url": "https://download.visualstudio.microsoft.com/download/pr/03c32aa6-7c7a-4936-82a0-fd8f816d112f/0ea1ea1eae48552a1992ed6df782353a/omnisharp-osx-1.37.16.zip", + "fallbackUrl": "https://roslynomnisharp.blob.core.windows.net/releases/1.37.16/omnisharp-osx-1.37.16.zip", + "installPath": ".omnisharp/1.37.16", "platforms": [ "darwin" ], @@ -169,16 +169,16 @@ "./mono.osx", "./run" ], - "installTestPath": "./.omnisharp/1.37.15/run", + "installTestPath": "./.omnisharp/1.37.16/run", "platformId": "osx", - "integrity": "CF22CC5DA1D1B25D7825FF4B1F13329E406167D9F1A1A2EDA9B20B5AC1E9C30E" + "integrity": "37D20A032D491DC2460B6E7C4488B8BE047922A387253B2C943407FD4F770F42" }, { "id": "OmniSharp", "description": "OmniSharp for Linux (x86)", - "url": "https://download.visualstudio.microsoft.com/download/pr/4fbf71ce-5375-4ca9-b70d-8024ba1b9e0a/a58d94b65bbe08b47c772514ce8f31e6/omnisharp-linux-x86-1.37.15.zip", - "fallbackUrl": "https://roslynomnisharp.blob.core.windows.net/releases/1.37.15/omnisharp-linux-x86-1.37.15.zip", - "installPath": ".omnisharp/1.37.15", + "url": "https://download.visualstudio.microsoft.com/download/pr/03c32aa6-7c7a-4936-82a0-fd8f816d112f/06bba46fa5450b4a2595e709fe59c131/omnisharp-linux-x86-1.37.16.zip", + "fallbackUrl": "https://roslynomnisharp.blob.core.windows.net/releases/1.37.16/omnisharp-linux-x86-1.37.16.zip", + "installPath": ".omnisharp/1.37.16", "platforms": [ "linux" ], @@ -190,16 +190,16 @@ "./mono.linux-x86", "./run" ], - "installTestPath": "./.omnisharp/1.37.15/run", + "installTestPath": "./.omnisharp/1.37.16/run", "platformId": "linux-x86", - "integrity": "FDFEF5B216362E71298F643DC5AC64A2783DAFB9C5EB98BBF6F70B681E29893D" + "integrity": "CB1D8578C0D9AF4A5EDF469DADA4CD9B7F3BCF71FC6BD5947EB500A2036A100A" }, { "id": "OmniSharp", "description": "OmniSharp for Linux (x64)", - "url": "https://download.visualstudio.microsoft.com/download/pr/4fbf71ce-5375-4ca9-b70d-8024ba1b9e0a/b96375395e639233d546a4937be3bd32/omnisharp-linux-x64-1.37.15.zip", - "fallbackUrl": "https://roslynomnisharp.blob.core.windows.net/releases/1.37.15/omnisharp-linux-x64-1.37.15.zip", - "installPath": ".omnisharp/1.37.15", + "url": "https://download.visualstudio.microsoft.com/download/pr/03c32aa6-7c7a-4936-82a0-fd8f816d112f/9ae3ed99fc0c41c7139751dde6f2bc78/omnisharp-linux-x64-1.37.16.zip", + "fallbackUrl": "https://roslynomnisharp.blob.core.windows.net/releases/1.37.16/omnisharp-linux-x64-1.37.16.zip", + "installPath": ".omnisharp/1.37.16", "platforms": [ "linux" ], @@ -210,9 +210,9 @@ "./mono.linux-x86_64", "./run" ], - "installTestPath": "./.omnisharp/1.37.15/run", + "installTestPath": "./.omnisharp/1.37.16/run", "platformId": "linux-x64", - "integrity": "BA98001380A902B7A2FF882309A1A30B1557D92059E06722C0D122DF27F7905D" + "integrity": "712012B56AA8155B4B976C3F43C88882EB059C1BE9FFB4A57582F06698564B28" }, { "id": "Debugger", From d58ffdf5dc689faefe065c08b711206a54f162a3 Mon Sep 17 00:00:00 2001 From: Joey Robichaud Date: Tue, 5 Oct 2021 09:47:58 -0700 Subject: [PATCH 11/18] Update release tests to validate per-platform package building --- test/releaseTests/offlinePackage.test.ts | 24 ++++++++----- tsconfig.json | 43 ++++++++++++------------ 2 files changed, 37 insertions(+), 30 deletions(-) diff --git a/test/releaseTests/offlinePackage.test.ts b/test/releaseTests/offlinePackage.test.ts index 49d9ba073..ad1ba80c3 100644 --- a/test/releaseTests/offlinePackage.test.ts +++ b/test/releaseTests/offlinePackage.test.ts @@ -9,12 +9,22 @@ import * as path from 'path'; import { invokeNode } from './testAssets/testAssets'; import { PlatformInformation } from '../../src/platform'; import { TmpAsset, CreateTmpDir } from '../../src/CreateTmpAsset'; +import { version } from '../../package.json'; suite("Offline packaging of VSIX", function () { let vsixFiles: string[]; this.timeout(1000000); let tmpDir: TmpAsset; + const expectedPackages = [ + new PlatformInformation('win32', 'x64'), + new PlatformInformation('win32', 'arm64'), + new PlatformInformation('darwin', 'x64'), + new PlatformInformation('darwin', 'arm64'), + new PlatformInformation('linux', 'x64'), + new PlatformInformation('linux', 'arm64') + ]; + suiteSetup(async () => { chai.should(); tmpDir = await CreateTmpDir(true); @@ -28,18 +38,14 @@ suite("Offline packaging of VSIX", function () { vsixFiles = glob.sync(path.join(tmpDir.name, '*.vsix')); }); - test("Exactly 3 vsix files should be produced", () => { - vsixFiles.length.should.be.equal(3, "the build should produce exactly 3 vsix files"); + test(`Exactly ${expectedPackages.length} vsix files should be produced`, () => { + vsixFiles.length.should.be.equal(expectedPackages.length, `the build should produce exactly ${expectedPackages.length} vsix files`); }); - [ - new PlatformInformation('win32', 'x86_64'), - new PlatformInformation('darwin', 'x86_64'), - new PlatformInformation('linux', 'x86_64') - ].forEach(element => { + expectedPackages.forEach(element => { test(`Given Platform: ${element.platform} and Architecture: ${element.architecture}, the vsix file is created`, () => { - vsixFiles.findIndex(elem => elem.indexOf(element.platform) != -1).should.not.be.equal(-1); - vsixFiles.findIndex(elem => elem.indexOf(element.architecture) != -1).should.not.be.equal(-1); + const expectedVsixName = `csharp.${version}-${element.platform}-${element.architecture}.vsix`; + vsixFiles.includes(expectedVsixName).should.be.equal(true, `offline packaging did not build package ${expectedVsixName}`); }); }); diff --git a/tsconfig.json b/tsconfig.json index 402904926..cb0c0995b 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,23 +1,24 @@ { - "compilerOptions": { - "target": "es6", - "module": "commonjs", - "outDir": "out", - "lib": [ - "es6" - ], - "sourceMap": true, - "moduleResolution": "node", - "alwaysStrict": true, - "noImplicitAny": true, - "skipLibCheck": true, - "noImplicitThis": true, - "noUnusedLocals": true, - "noFallthroughCasesInSwitch": true - }, - "exclude": [ - "syntaxes", - ".vscode-test", - "vsix" - ] + "compilerOptions": { + "target": "es6", + "module": "commonjs", + "outDir": "out", + "lib": [ + "es6" + ], + "sourceMap": true, + "moduleResolution": "node", + "alwaysStrict": true, + "noImplicitAny": true, + "skipLibCheck": true, + "noImplicitThis": true, + "noUnusedLocals": true, + "noFallthroughCasesInSwitch": true, + "resolveJsonModule": true + }, + "exclude": [ + "syntaxes", + ".vscode-test", + "vsix" + ] } \ No newline at end of file From 65bb3066fc91c8d31b95b5d669b80ae8ed7a2f2b Mon Sep 17 00:00:00 2001 From: Joey Robichaud Date: Tue, 5 Oct 2021 10:25:01 -0700 Subject: [PATCH 12/18] Use the same offline package information as the package task --- tasks/offlinePackagingTasks.ts | 52 ++++++++++++------------ test/releaseTests/offlinePackage.test.ts | 31 +++++++------- tsconfig.json | 5 +-- 3 files changed, 43 insertions(+), 45 deletions(-) diff --git a/tasks/offlinePackagingTasks.ts b/tasks/offlinePackagingTasks.ts index a03216837..5945956bb 100644 --- a/tasks/offlinePackagingTasks.ts +++ b/tasks/offlinePackagingTasks.ts @@ -23,6 +23,21 @@ import { getRuntimeDependenciesPackages } from '../src/tools/RuntimeDependencyPa import { getAbsolutePathPackagesToInstall } from '../src/packageManager/getAbsolutePathPackagesToInstall'; import { isValidDownload } from '../src/packageManager/isValidDownload'; +export const offlinePackages = [ + { platformInfo: new PlatformInformation('win32', 'x86_64'), id: "win32-x64" }, + { platformInfo: new PlatformInformation('win32', 'x86'), id: "win32-ia32" }, + { platformInfo: new PlatformInformation('win32', 'arm64'), id: "win32-arm64" }, + { platformInfo: new PlatformInformation('linux', 'x86_64'), id: "linux-x64" }, + { platformInfo: new PlatformInformation('darwin', 'x86_64'), id: "darwin-x64" }, + { platformInfo: new PlatformInformation('darwin', 'arm64'), id: "darwin-arm64" }, +]; + +export function getPackageName(packageJSON: any, vscodePlatformId: string) { + const name = packageJSON.name; + const version = packageJSON.version; + return `${name}.${version}-${vscodePlatformId}.vsix`; +} + gulp.task('vsix:offline:package', async () => { if (process.platform === 'win32') { @@ -53,27 +68,13 @@ async function doPackageOffline() { } const packageJSON = getPackageJSON(); - const name = packageJSON.name; - const version = packageJSON.version; - const packageName = name + '.' + version; - - const packages = [ - { platformInfo: new PlatformInformation('win32', 'x86_64'), id: "win32-x64" }, - { platformInfo: new PlatformInformation('win32', 'x86'), id: "win32-ia32" }, - { platformInfo: new PlatformInformation('win32', 'arm64'), id: "win32-arm64" }, - { platformInfo: new PlatformInformation('linux', 'x86_64'), id: "linux-x64" }, - { platformInfo: new PlatformInformation('darwin', 'x86_64'), id: "darwin-x64" }, - { platformInfo: new PlatformInformation('darwin', 'arm64'), id: "darwin-arm64" }, - ]; - - for (let p of packages) { - try - { - await doOfflinePackage(p.platformInfo, p.id, packageName, packageJSON, packedVsixOutputRoot); + + for (let p of offlinePackages) { + try { + await doOfflinePackage(p.platformInfo, p.id, packageJSON, packedVsixOutputRoot); } - catch (err) - { - // NOTE: Extra `\n---` at the end is because gulp will print this message following by the + catch (err) { + // NOTE: Extra `\n---` at the end is because gulp will print this message following by the // stack trace of this line. So that seperates the two stack traces. throw Error(`Failed to create package ${p.id}. ${err.stack ?? err ?? ''}\n---`); } @@ -81,16 +82,16 @@ async function doPackageOffline() { } async function cleanAsync(deleteVsix: boolean) { - await del([ 'install.*', '.omnisharp*', '.debugger', '.razor']); + await del(['install.*', '.omnisharp*', '.debugger', '.razor']); if (deleteVsix) { await del('*.vsix'); } } -async function doOfflinePackage(platformInfo: PlatformInformation, vscodePlatformId: string, packageName: string, packageJSON: any, outputFolder: string) { +async function doOfflinePackage(platformInfo: PlatformInformation, vscodePlatformId: string, packageJSON: any, outputFolder: string) { await cleanAsync(false); - const packageFileName = `${packageName}-${vscodePlatformId}.vsix`; + const packageFileName = getPackageName(packageJSON, vscodePlatformId); await install(platformInfo, packageJSON); await createPackageAsync(packageFileName, outputFolder, vscodePlatformId); } @@ -104,14 +105,13 @@ async function install(platformInfo: PlatformInformation, packageJSON: any) { let runTimeDependencies = getRuntimeDependenciesPackages(packageJSON); let packagesToInstall = await getAbsolutePathPackagesToInstall(runTimeDependencies, platformInfo, codeExtensionPath); let provider = () => new NetworkSettings(undefined, undefined); - if (!(await downloadAndInstallPackages(packagesToInstall, provider, eventStream, isValidDownload))) - { + if (!(await downloadAndInstallPackages(packagesToInstall, provider, eventStream, isValidDownload))) { throw Error("Failed to download package."); } // The VSIX Format doesn't allow files that differ only by case. The Linux OmniSharp package had a lowercase version of these files ('.targets') targets from mono, // and an upper case ('.Targets') from Microsoft.Build.Runtime. Remove the lowercase versions. - await del([ '.omnisharp/*/omnisharp/.msbuild/Current/Bin/Workflow.targets', '.omnisharp/*/omnisharp/.msbuild/Current/Bin/Workflow.VisualBasic.targets' ]); + await del(['.omnisharp/*/omnisharp/.msbuild/Current/Bin/Workflow.targets', '.omnisharp/*/omnisharp/.msbuild/Current/Bin/Workflow.VisualBasic.targets']); } /// Packaging (VSIX) Tasks diff --git a/test/releaseTests/offlinePackage.test.ts b/test/releaseTests/offlinePackage.test.ts index ad1ba80c3..028ccf84a 100644 --- a/test/releaseTests/offlinePackage.test.ts +++ b/test/releaseTests/offlinePackage.test.ts @@ -7,23 +7,17 @@ import * as chai from 'chai'; import * as glob from 'glob-promise'; import * as path from 'path'; import { invokeNode } from './testAssets/testAssets'; -import { PlatformInformation } from '../../src/platform'; import { TmpAsset, CreateTmpDir } from '../../src/CreateTmpAsset'; -import { version } from '../../package.json'; +import { getPackageName, offlinePackages } from '../../tasks/offlinePackagingTasks'; +import { getPackageJSON } from '../../tasks/packageJson'; +import { expect } from 'chai'; suite("Offline packaging of VSIX", function () { let vsixFiles: string[]; this.timeout(1000000); let tmpDir: TmpAsset; - const expectedPackages = [ - new PlatformInformation('win32', 'x64'), - new PlatformInformation('win32', 'arm64'), - new PlatformInformation('darwin', 'x64'), - new PlatformInformation('darwin', 'arm64'), - new PlatformInformation('linux', 'x64'), - new PlatformInformation('linux', 'arm64') - ]; + const packageJson = getPackageJSON(); suiteSetup(async () => { chai.should(); @@ -38,14 +32,19 @@ suite("Offline packaging of VSIX", function () { vsixFiles = glob.sync(path.join(tmpDir.name, '*.vsix')); }); - test(`Exactly ${expectedPackages.length} vsix files should be produced`, () => { - vsixFiles.length.should.be.equal(expectedPackages.length, `the build should produce exactly ${expectedPackages.length} vsix files`); + test(`Exactly ${offlinePackages.length} vsix files should be produced`, () => { + vsixFiles.length.should.be.equal(offlinePackages.length, `the build should produce exactly ${offlinePackages.length} vsix files`); }); - expectedPackages.forEach(element => { - test(`Given Platform: ${element.platform} and Architecture: ${element.architecture}, the vsix file is created`, () => { - const expectedVsixName = `csharp.${version}-${element.platform}-${element.architecture}.vsix`; - vsixFiles.includes(expectedVsixName).should.be.equal(true, `offline packaging did not build package ${expectedVsixName}`); + offlinePackages.forEach(packageInfo => { + const platformInfo = packageInfo.platformInfo; + const packageId = packageInfo.id; + + test(`Given Platform: ${platformInfo.platform} and Architecture: ${platformInfo.architecture}, the vsix file is created`, () => { + const expectedVsixName = getPackageName(packageJson, packageId); + const vsixFile = vsixFiles.find(file => file.endsWith(expectedVsixName)) + expect(vsixFile, `offline packaging did not build package ${expectedVsixName}`) + .to.not.be.null; }); }); diff --git a/tsconfig.json b/tsconfig.json index cb0c0995b..55df11dd9 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -4,7 +4,7 @@ "module": "commonjs", "outDir": "out", "lib": [ - "es6" + "ES2017" ], "sourceMap": true, "moduleResolution": "node", @@ -13,8 +13,7 @@ "skipLibCheck": true, "noImplicitThis": true, "noUnusedLocals": true, - "noFallthroughCasesInSwitch": true, - "resolveJsonModule": true + "noFallthroughCasesInSwitch": true }, "exclude": [ "syntaxes", From 546ef463ed5e77d5f15664bb4add595cebfa21a7 Mon Sep 17 00:00:00 2001 From: Joey Robichaud Date: Tue, 5 Oct 2021 10:37:52 -0700 Subject: [PATCH 13/18] Fix indentation --- tsconfig.json | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/tsconfig.json b/tsconfig.json index 55df11dd9..bab4d8e2f 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,23 +1,23 @@ { - "compilerOptions": { - "target": "es6", - "module": "commonjs", - "outDir": "out", - "lib": [ - "ES2017" - ], - "sourceMap": true, - "moduleResolution": "node", - "alwaysStrict": true, - "noImplicitAny": true, - "skipLibCheck": true, - "noImplicitThis": true, - "noUnusedLocals": true, - "noFallthroughCasesInSwitch": true - }, - "exclude": [ - "syntaxes", - ".vscode-test", - "vsix" - ] + "compilerOptions": { + "target": "es6", + "module": "commonjs", + "outDir": "out", + "lib": [ + "ES2017" + ], + "sourceMap": true, + "moduleResolution": "node", + "alwaysStrict": true, + "noImplicitAny": true, + "skipLibCheck": true, + "noImplicitThis": true, + "noUnusedLocals": true, + "noFallthroughCasesInSwitch": true + }, + "exclude": [ + "syntaxes", + ".vscode-test", + "vsix" + ] } \ No newline at end of file From 722b57ca00c994bac6ee7dcac9363326d23d2b14 Mon Sep 17 00:00:00 2001 From: Joey Robichaud Date: Tue, 5 Oct 2021 10:39:23 -0700 Subject: [PATCH 14/18] Revert spaces to tabs --- tsconfig.json | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/tsconfig.json b/tsconfig.json index bab4d8e2f..e7603b647 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,23 +1,23 @@ { - "compilerOptions": { - "target": "es6", - "module": "commonjs", - "outDir": "out", - "lib": [ - "ES2017" - ], - "sourceMap": true, - "moduleResolution": "node", - "alwaysStrict": true, - "noImplicitAny": true, - "skipLibCheck": true, - "noImplicitThis": true, - "noUnusedLocals": true, - "noFallthroughCasesInSwitch": true - }, - "exclude": [ - "syntaxes", - ".vscode-test", - "vsix" - ] + "compilerOptions": { + "target": "es6", + "module": "commonjs", + "outDir": "out", + "lib": [ + "ES2017" + ], + "sourceMap": true, + "moduleResolution": "node", + "alwaysStrict": true, + "noImplicitAny": true, + "skipLibCheck": true, + "noImplicitThis": true, + "noUnusedLocals": true, + "noFallthroughCasesInSwitch": true + }, + "exclude": [ + "syntaxes", + ".vscode-test", + "vsix" + ] } \ No newline at end of file From fcd81db9300f40edf7acadc20179e06ec906fb3d Mon Sep 17 00:00:00 2001 From: Andrew Wang Date: Tue, 5 Oct 2021 14:02:01 -0700 Subject: [PATCH 15/18] Add Debug Welcome View (#4797) * Add Debug Welcome View This PR adds a welcome view when the debug language detected is C#. * Use aka.ms link --- package.json | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 1040841f7..63500df7e 100644 --- a/package.json +++ b/package.json @@ -3741,6 +3741,13 @@ "group": "2_dotnet@2" } ] - } + }, + "viewsWelcome": [ + { + "view": "debug", + "contents": "[Generate C# Assets for Build and Debug](command:dotnet.generateAssets)\n\nTo learn more about launch.json, see [Configuring launch.json for C# debugging](https://aka.ms/VSCode-CS-LaunchJson).", + "when": "debugStartLanguage == csharp" + } + ] } } \ No newline at end of file From 89a64144a6e30ca92fc4cca0473c4e05ae08043e Mon Sep 17 00:00:00 2001 From: Andrew Wang Date: Tue, 5 Oct 2021 15:44:48 -0700 Subject: [PATCH 16/18] Update Debugger Labels (#4798) This PR updates the debugger labels to be: .NET Core -> .NET 5+ and .NET Core .NET -> .NET Framework 4.x (Windows only) --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 63500df7e..a6a452514 100644 --- a/package.json +++ b/package.json @@ -1062,7 +1062,7 @@ "debuggers": [ { "type": "coreclr", - "label": ".NET Core", + "label": ".NET 5+ and .NET Core", "languages": [ "csharp", "razor", @@ -2168,7 +2168,7 @@ }, { "type": "clr", - "label": ".NET", + "label": ".NET Framework 4.x (Windows only)", "languages": [ "csharp", "razor", From 70f626ba804de0d5d62c682cdb7bd6efb84982dc Mon Sep 17 00:00:00 2001 From: Joey Robichaud Date: Tue, 5 Oct 2021 16:41:50 -0700 Subject: [PATCH 17/18] Update changelog for release --- CHANGELOG.md | 6 ++++-- README.md | 4 +++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 16ddd095b..348afb30e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,10 +11,12 @@ * Renaming symbol fails within a file that had recently been renamed without saving changes. * As a workaround, make an edit within the file before using Rename Symbol. -## 1.23.16 Not released yet +## 1.23.16 (Not released yet) * Show decompilation authorization once per install. ([#3982](https://github.com/OmniSharp/omnisharp-vscode/issues/3982), PR: [#4760](https://github.com/OmniSharp/omnisharp-vscode/pull/4760)) * Launch with first Folder or Solution target found (PR: [#4780](https://github.com/OmniSharp/omnisharp-vscode/pull/4780)) +* Update Debugger Labels (PR: [#4798](https://github.com/OmniSharp/omnisharp-vscode/pull/4798)) +* Add Debug Welcome View (PR: [#4797](https://github.com/OmniSharp/omnisharp-vscode/pull/4797)) * Update OmniSharp version to 1.37.16: * Update included Build Tools to match .NET SDK 6 (PR: [omnisharp-roslyn#2239](https://github.com/OmniSharp/omnisharp-roslyn/pull/2239)) * Add Custom .NET CLI support to OmniSharp (PR: [omnisharp-roslyn#2227](https://github.com/OmniSharp/omnisharp-roslyn/pull/2227)) @@ -30,7 +32,7 @@ * Support nserting outside code when texts are selected (PR: [#4715](https://github.com/OmniSharp/omnisharp-vscode/pull/4715)) * Fix autoFix on save ([#4401](https://github.com/OmniSharp/omnisharp-roslyn/issues/4401), PR: [#4717](https://github.com/OmniSharp/omnisharp-vscode/pull/4717)) -* Update OmniSharp version to 1.37.15: +* Update OmniSharp version to 1.37.15: * Update Roslyn to 4.0.0-4.21427.11 (PR: [omnisharp-roslyn#2220](https://github.com/OmniSharp/omnisharp-roslyn/pull/2220)) * Update NuGet to 5.10.0 ([omnisharp-roslyn#2027](https://github.com/OmniSharp/omnisharp-roslyn/issues/2027), PR: [omnisharp-roslyn#2034](https://github.com/OmniSharp/omnisharp-roslyn/pull/2034)) * Remove .NET Core 2.1 (PR: [omnisharp-roslyn#2219](https://github.com/OmniSharp/omnisharp-roslyn/pull/2219)) diff --git a/README.md b/README.md index 0c819c007..acfc31114 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,8 @@ For MacOS and Linux users who have Mono installed, this means you will need to s ## What's new in 1.23.16 * Show decompilation authorization once per install. ([#3982](https://github.com/OmniSharp/omnisharp-vscode/issues/3982), PR: [#4760](https://github.com/OmniSharp/omnisharp-vscode/pull/4760)) * Launch with first Folder or Solution target found (PR: [#4780](https://github.com/OmniSharp/omnisharp-vscode/pull/4780)) +* Update Debugger Labels (PR: [#4798](https://github.com/OmniSharp/omnisharp-vscode/pull/4798)) +* Add Debug Welcome View (PR: [#4797](https://github.com/OmniSharp/omnisharp-vscode/pull/4797)) * Update OmniSharp version to 1.37.16: * Update included Build Tools to match .NET SDK 6 (PR: [omnisharp-roslyn#2239](https://github.com/OmniSharp/omnisharp-roslyn/pull/2239)) * Add Custom .NET CLI support to OmniSharp (PR: [omnisharp-roslyn#2227](https://github.com/OmniSharp/omnisharp-roslyn/pull/2227)) @@ -44,7 +46,7 @@ For MacOS and Linux users who have Mono installed, this means you will need to s * Support nserting outside code when texts are selected (PR: [#4715](https://github.com/OmniSharp/omnisharp-vscode/pull/4715)) * Fix autoFix on save ([#4401](https://github.com/OmniSharp/omnisharp-roslyn/issues/4401), PR: [#4717](https://github.com/OmniSharp/omnisharp-vscode/pull/4717)) -* Update OmniSharp version to 1.37.15: +* Update OmniSharp version to 1.37.15: * Update Roslyn to 4.0.0-4.21427.11 (PR: [omnisharp-roslyn#2220](https://github.com/OmniSharp/omnisharp-roslyn/pull/2220)) * Update NuGet to 5.10.0 ([omnisharp-roslyn#2027](https://github.com/OmniSharp/omnisharp-roslyn/issues/2027), PR: [omnisharp-roslyn#2034](https://github.com/OmniSharp/omnisharp-roslyn/pull/2034)) * Remove .NET Core 2.1 (PR: [omnisharp-roslyn#2219](https://github.com/OmniSharp/omnisharp-roslyn/pull/2219)) From 3c11805b75785b1aeb2ec3a58b6f66f115d87a6e Mon Sep 17 00:00:00 2001 From: Joey Robichaud Date: Tue, 5 Oct 2021 17:13:10 -0700 Subject: [PATCH 18/18] Respect the retainVsix flag when running release tests --- CHANGELOG.md | 2 -- tasks/offlinePackagingTasks.ts | 10 ++-------- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 348afb30e..5e3f37e22 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,7 +12,6 @@ * As a workaround, make an edit within the file before using Rename Symbol. ## 1.23.16 (Not released yet) - * Show decompilation authorization once per install. ([#3982](https://github.com/OmniSharp/omnisharp-vscode/issues/3982), PR: [#4760](https://github.com/OmniSharp/omnisharp-vscode/pull/4760)) * Launch with first Folder or Solution target found (PR: [#4780](https://github.com/OmniSharp/omnisharp-vscode/pull/4780)) * Update Debugger Labels (PR: [#4798](https://github.com/OmniSharp/omnisharp-vscode/pull/4798)) @@ -25,7 +24,6 @@ * handle RecordStructName in semantic highlighting classification ([omnisharp-roslyn#2228](https://github.com/OmniSharp/omnisharp-roslyn/issues/2228) PR: [omnisharp-roslyn#2232](https://github.com/OmniSharp/omnisharp-roslyn/pull/2232)) * Update CodeStructureService with FileScoped Namespace support ([omnisharp-roslyn#2225](https://github.com/OmniSharp/omnisharp-roslyn/issues/2225) PR: [omnisharp-roslyn#2226](https://github.com/OmniSharp/omnisharp-roslyn/pull/2226)) - ## 1.23.15 (Aug 31st, 2021) * Restore launch target for workspace root when no solution present ([#4691](https://github.com/OmniSharp/omnisharp-vscode/issues/4691), PR: [#4695](https://github.com/OmniSharp/omnisharp-vscode/pull/4695)) * Don't create launch.json for no select process ([omnisharp-roslyn#4696](https://github.com/OmniSharp/omnisharp-roslyn/issues/4696), PR: [#4699](https://github.com/OmniSharp/omnisharp-vscode/pull/4699)) diff --git a/tasks/offlinePackagingTasks.ts b/tasks/offlinePackagingTasks.ts index 5945956bb..453eec368 100644 --- a/tasks/offlinePackagingTasks.ts +++ b/tasks/offlinePackagingTasks.ts @@ -44,7 +44,8 @@ gulp.task('vsix:offline:package', async () => { throw new Error('Do not build offline packages on windows. Runtime executables will not be marked executable in *nix packages.'); } - await cleanAsync(true); + //if user does not want to clean up the existing vsix packages + await cleanAsync(/* deleteVsix: */ !commandLineOptions.retainVsix); del.sync(vscodeignorePath); @@ -59,13 +60,6 @@ gulp.task('vsix:offline:package', async () => { }); async function doPackageOffline() { - if (commandLineOptions.retainVsix) { - //if user doesnot want to clean up the existing vsix packages - await cleanAsync(false); - } - else { - await cleanAsync(true); - } const packageJSON = getPackageJSON();