From 6fb120f5dda05f121b51b451bc243c901c29a078 Mon Sep 17 00:00:00 2001 From: Arvind Ranasaria Date: Fri, 6 Dec 2019 15:53:40 -0800 Subject: [PATCH] Add tool path column to the deployment tools table (#8597) * remove redundan console.warn messages * add tool path, trim existing columns in tools table * Update dockerTool.ts --- .../resource-deployment/src/interfaces.ts | 6 +++--- .../src/services/tools/azCliTool.ts | 2 +- .../src/services/tools/azdataTool.ts | 2 +- .../src/services/tools/dockerTool.ts | 2 +- .../src/services/tools/kubeCtlTool.ts | 2 +- .../src/services/tools/toolBase.ts | 4 ++-- .../src/ui/resourceTypePickerDialog.ts | 19 +++++++++++-------- 7 files changed, 20 insertions(+), 17 deletions(-) diff --git a/extensions/resource-deployment/src/interfaces.ts b/extensions/resource-deployment/src/interfaces.ts index bb20fba655..f20366f93b 100644 --- a/extensions/resource-deployment/src/interfaces.ts +++ b/extensions/resource-deployment/src/interfaces.ts @@ -246,14 +246,14 @@ export interface ITool { readonly homePage: string; readonly displayStatus: string; readonly dependencyMessages: string[]; - readonly statusDescription: string | undefined; + readonly statusDescription?: string; readonly autoInstallSupported: boolean; readonly autoInstallNeeded: boolean; readonly isNotInstalled: boolean; readonly isInstalled: boolean; - readonly installationPath: string; + readonly installationPath?: string; readonly outputChannelName: string; - readonly fullVersion: string | undefined; + readonly fullVersion?: string; readonly onDidUpdateData: vscode.Event; showOutputChannel(preserveFocus?: boolean): void; diff --git a/extensions/resource-deployment/src/services/tools/azCliTool.ts b/extensions/resource-deployment/src/services/tools/azCliTool.ts index 25b0f533cc..9933e4d090 100644 --- a/extensions/resource-deployment/src/services/tools/azCliTool.ts +++ b/extensions/resource-deployment/src/services/tools/azCliTool.ts @@ -24,7 +24,7 @@ export class AzCliTool extends ToolBase { } get description(): string { - return localize('resourceDeployment.AzCLIDescription', "A command-line tool for managing Azure resources"); + return localize('resourceDeployment.AzCLIDescription', "A tool for managing Azure resources"); } get type(): ToolType { diff --git a/extensions/resource-deployment/src/services/tools/azdataTool.ts b/extensions/resource-deployment/src/services/tools/azdataTool.ts index 6b2551b2e6..9b02005cb1 100644 --- a/extensions/resource-deployment/src/services/tools/azdataTool.ts +++ b/extensions/resource-deployment/src/services/tools/azdataTool.ts @@ -28,7 +28,7 @@ export class AzdataTool extends ToolBase { } get description(): string { - return localize('resourceDeployment.AzdataDescription', "A command-line utility written in Python that enables cluster administrators to bootstrap and manage the Big Data Cluster via REST APIs"); + return localize('resourceDeployment.AzdataDescription', "A utility to bootstrap and manage the Big Data Cluster"); } get type(): ToolType { diff --git a/extensions/resource-deployment/src/services/tools/dockerTool.ts b/extensions/resource-deployment/src/services/tools/dockerTool.ts index 7514a671fd..ac50ac6751 100644 --- a/extensions/resource-deployment/src/services/tools/dockerTool.ts +++ b/extensions/resource-deployment/src/services/tools/dockerTool.ts @@ -21,7 +21,7 @@ export class DockerTool extends ToolBase { } get description(): string { - return localize('resourceDeployment.DockerDescription', "Provides the ability to package and run an application in isolated containers"); + return localize('resourceDeployment.DockerDescription', "A utility to package and run an application in isolated containers"); } get type(): ToolType { diff --git a/extensions/resource-deployment/src/services/tools/kubeCtlTool.ts b/extensions/resource-deployment/src/services/tools/kubeCtlTool.ts index e7a801d1ec..4ee70297b1 100644 --- a/extensions/resource-deployment/src/services/tools/kubeCtlTool.ts +++ b/extensions/resource-deployment/src/services/tools/kubeCtlTool.ts @@ -24,7 +24,7 @@ export class KubeCtlTool extends ToolBase { } get description(): string { - return localize('resourceDeployment.KubeCtlDescription', "A command-line tool allows you to run commands against Kubernetes clusters"); + return localize('resourceDeployment.KubeCtlDescription', "A tool to run commands against Kubernetes clusters"); } get type(): ToolType { diff --git a/extensions/resource-deployment/src/services/tools/toolBase.ts b/extensions/resource-deployment/src/services/tools/toolBase.ts index 19fa2d42ed..45bac4c500 100644 --- a/extensions/resource-deployment/src/services/tools/toolBase.ts +++ b/extensions/resource-deployment/src/services/tools/toolBase.ts @@ -138,7 +138,7 @@ export abstract class ToolBase implements ITool { return this._statusDescription; } - public get installationPath(): string { + public get installationPath(): string | undefined { return this._installationPath; } @@ -300,5 +300,5 @@ export abstract class ToolBase implements ITool { private _status: ToolStatus = ToolStatus.NotInstalled; private _version?: SemVer; private _statusDescription?: string; - private _installationPath!: string; + private _installationPath?: string; } diff --git a/extensions/resource-deployment/src/ui/resourceTypePickerDialog.ts b/extensions/resource-deployment/src/ui/resourceTypePickerDialog.ts index fa21865265..a8bab337a5 100644 --- a/extensions/resource-deployment/src/ui/resourceTypePickerDialog.ts +++ b/extensions/resource-deployment/src/ui/resourceTypePickerDialog.ts @@ -90,28 +90,31 @@ export class ResourceTypePickerDialog extends DialogBase { this._agreementContainer = view.modelBuilder.divContainer().component(); const toolColumn: azdata.TableColumn = { value: localize('deploymentDialog.toolNameColumnHeader', "Tool"), - width: 70 + width: 55 }; const descriptionColumn: azdata.TableColumn = { value: localize('deploymentDialog.toolDescriptionColumnHeader', "Description"), - width: 650 + width: 270 }; const installStatusColumn: azdata.TableColumn = { value: localize('deploymentDialog.toolStatusColumnHeader', "Status"), width: 70 }; const versionColumn: azdata.TableColumn = { - value: localize('deploymentDialog.toolVersionColumnHeader', "Installed Version"), - width: 90 + value: localize('deploymentDialog.toolVersionColumnHeader', "Version"), + width: 60 }; const minVersionColumn: azdata.TableColumn = { value: localize('deploymentDialog.toolMinimumVersionColumnHeader', "Required Version"), width: 90 }; - + const installedPathColumn: azdata.TableColumn = { + value: localize('deploymentDialog.toolDiscoveredPathColumnHeader', "Discovered Path"), + width: 570 + }; this._toolsTable = view.modelBuilder.table().withProperties({ data: [], - columns: [toolColumn, descriptionColumn, installStatusColumn, versionColumn, minVersionColumn], + columns: [toolColumn, descriptionColumn, installStatusColumn, versionColumn, minVersionColumn, installedPathColumn], width: tableWidth, ariaLabel: localize('deploymentDialog.RequiredToolsTitle', "Required tools") }).component(); @@ -234,7 +237,7 @@ export class ResourceTypePickerDialog extends DialogBase { messages.push(localize('deploymentDialog.ToolDoesNotMeetVersionRequirement', "'{0}' [ {1} ] does not meet the minimum version requirement, please uninstall it and restart Azure Data Studio.", tool.displayName, tool.homePage)); } installationNeeded = installationNeeded || tool.autoInstallNeeded; - return [tool.displayName, tool.description, tool.displayStatus, tool.fullVersion || '', toolRequirement.version || '']; + return [tool.displayName, tool.description, tool.displayStatus, tool.fullVersion || '', toolRequirement.version || '', tool.installationPath || '']; }); this._installToolButton.hidden = minVersionCheckFailed || !installationNeeded; @@ -319,7 +322,7 @@ export class ResourceTypePickerDialog extends DialogBase { protected updateToolsDisplayTableData(tool: ITool) { this._toolsTable.data = this._toolsTable.data.map(rowData => { if (rowData[0] === tool.displayName) { - return [tool.displayName, tool.description, tool.displayStatus, tool.fullVersion || '', rowData[4]]; + return [tool.displayName, tool.description, tool.displayStatus, tool.fullVersion || '', rowData[4]/* required version*/, tool.installationPath || '']; } else { return rowData; }