From e41227ad26940e728e1a57939042639865701932 Mon Sep 17 00:00:00 2001 From: Yan Zhang Date: Wed, 26 Aug 2020 16:09:57 +0800 Subject: [PATCH 1/4] register 'execute commands' onto Project Manager Signed-off-by: Yan Zhang --- package.json | 5 +++++ package.nls.json | 2 +- package.nls.zh.json | 2 +- src/extension.ts | 2 +- src/utils/Utils.ts | 14 ++++++++++++-- 5 files changed, 20 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 2135aa3d..05ef8cca 100644 --- a/package.json +++ b/package.json @@ -400,6 +400,11 @@ "command": "maven.project.addDependency", "when": "view == javaProjectExplorer && viewItem =~ /java:container(?=.*?\\b\\+maven\\b)/", "group": "inline" + }, + { + "command": "maven.goal.execute", + "when": "view == javaProjectExplorer && viewItem =~ /java:project(?=.*?\\b\\+maven\\b)(?=.*?\\b\\+uri\\b)/", + "group": "maven" } ] }, diff --git a/package.nls.json b/package.nls.json index f8e2c1df..ebb03e46 100644 --- a/package.nls.json +++ b/package.nls.json @@ -8,7 +8,7 @@ "contributes.commands.maven.archetype.update": "Update Maven Archetype Catalog", "contributes.commands.maven.favorites": "Favorites...", "contributes.commands.maven.history": "History...", - "contributes.commands.maven.goal.execute": "Execute commands", + "contributes.commands.maven.goal.execute": "Execute commands...", "contributes.commands.maven.plugin.execute": "Run", "contributes.commands.maven.plugin.debug": "Debug", "contributes.commands.maven.view.hierarchical": "Switch to hierarchical view", diff --git a/package.nls.zh.json b/package.nls.zh.json index 7dc01929..22cf9c3a 100644 --- a/package.nls.zh.json +++ b/package.nls.zh.json @@ -8,7 +8,7 @@ "contributes.commands.maven.archetype.update": "更新 Maven 原型目录", "contributes.commands.maven.favorites": "收藏夹…", "contributes.commands.maven.history": "历史…", - "contributes.commands.maven.goal.execute": "执行命令", + "contributes.commands.maven.goal.execute": "执行命令...", "contributes.commands.maven.plugin.execute": "执行", "contributes.commands.maven.plugin.debug": "调试", "contributes.commands.maven.view.hierarchical": "切换到分层视图", diff --git a/src/extension.ts b/src/extension.ts index 81664f66..719dbda8 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -77,7 +77,7 @@ async function doActivate(_operationId: string, context: vscode.ExtensionContext registerCommand(context, "maven.archetype.update", updateArchetypeCatalogHandler); registerCommand(context, "maven.history", mavenHistoryHandler); registerCommand(context, "maven.favorites", runFavoriteCommandsHandler); - registerCommand(context, "maven.goal.execute", async () => await Utils.executeMavenCommand()); + registerCommand(context, "maven.goal.execute", Utils.executeMavenCommand); registerCommand(context, "maven.plugin.execute", async (pluginGoal: PluginGoal) => await executeInTerminal({ command: pluginGoal.name, pomfile: pluginGoal.plugin.project.pomPath })); registerCommand(context, "maven.view.flat", () => Settings.changeToFlatView()); registerCommand(context, "maven.view.hierarchical", () => Settings.changeToHierarchicalView()); diff --git a/src/utils/Utils.ts b/src/utils/Utils.ts index d80ad161..ffb541aa 100644 --- a/src/utils/Utils.ts +++ b/src/utils/Utils.ts @@ -5,6 +5,7 @@ import * as fse from "fs-extra"; import * as http from "http"; import * as https from "https"; import * as md5 from "md5"; +import * as path from "path"; import * as url from "url"; import { commands, Progress, ProgressLocation, RelativePattern, TextDocument, Uri, ViewColumn, window, workspace, WorkspaceFolder } from "vscode"; import { createUuid, setUserError } from "vscode-extension-telemetry-wrapper"; @@ -232,9 +233,18 @@ export namespace Utils { } } - export async function executeMavenCommand(): Promise { + export async function executeMavenCommand(node?: any): Promise { + // for nodes from Project Manager + let selectedProject: MavenProject | undefined; + if (node && node.uri) { + const pomPath: string = path.join(Uri.parse(node.uri).fsPath, "pom.xml"); + selectedProject = mavenExplorerProvider.mavenProjectNodes.find(project => project.pomPath.toLowerCase() === pomPath.toLowerCase()); + } // select a project(pomfile) - const selectedProject: MavenProject | undefined = await selectProjectIfNecessary(); + if (!selectedProject) { + selectedProject = await selectProjectIfNecessary(); + } + if (!selectedProject) { return; } From 582136c526c54b178f8414d3e637d5e2610bb34e Mon Sep 17 00:00:00 2001 From: Yan Zhang Date: Wed, 26 Aug 2020 16:28:20 +0800 Subject: [PATCH 2/4] refine wording Signed-off-by: Yan Zhang --- package.nls.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.nls.json b/package.nls.json index ebb03e46..66bb5d46 100644 --- a/package.nls.json +++ b/package.nls.json @@ -8,7 +8,7 @@ "contributes.commands.maven.archetype.update": "Update Maven Archetype Catalog", "contributes.commands.maven.favorites": "Favorites...", "contributes.commands.maven.history": "History...", - "contributes.commands.maven.goal.execute": "Execute commands...", + "contributes.commands.maven.goal.execute": "Execute Commands...", "contributes.commands.maven.plugin.execute": "Run", "contributes.commands.maven.plugin.debug": "Debug", "contributes.commands.maven.view.hierarchical": "Switch to hierarchical view", From 5d02fb581b3fcbe17f8100876cc786571c529d88 Mon Sep 17 00:00:00 2001 From: Yan Zhang Date: Mon, 31 Aug 2020 10:29:17 +0800 Subject: [PATCH 3/4] use new command id: maven.goal.execute.fromProjectManager Signed-off-by: Yan Zhang --- package-lock.json | 31 ++++++++++++++++--------------- package.json | 12 +++++++++++- src/extension.ts | 1 + 3 files changed, 28 insertions(+), 16 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6871328f..033499cd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -746,8 +746,7 @@ }, "kind-of": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + "resolved": "" } } }, @@ -5296,10 +5295,13 @@ } }, "serialize-javascript": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz", - "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==", - "dev": true + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } }, "set-blocking": { "version": "2.0.0", @@ -5467,8 +5469,7 @@ }, "kind-of": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + "resolved": "" } } }, @@ -5780,9 +5781,9 @@ "dev": true }, "terser": { - "version": "4.6.13", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.13.tgz", - "integrity": "sha512-wMvqukYgVpQlymbnNbabVZbtM6PN63AzqexpwJL8tbh/mRT9LE5o+ruVduAGL7D6Fpjl+Q+06U5I9Ul82odAhw==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", "dev": true, "requires": { "commander": "^2.20.0", @@ -5791,16 +5792,16 @@ } }, "terser-webpack-plugin": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.3.tgz", - "integrity": "sha512-QMxecFz/gHQwteWwSo5nTc6UaICqN1bMedC5sMtUc7y3Ha3Q8y6ZO0iCR8pq4RJC8Hjf0FEPEHZqcMB/+DFCrA==", + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", "dev": true, "requires": { "cacache": "^12.0.2", "find-cache-dir": "^2.1.0", "is-wsl": "^1.1.0", "schema-utils": "^1.0.0", - "serialize-javascript": "^2.1.2", + "serialize-javascript": "^4.0.0", "source-map": "^0.6.1", "terser": "^4.1.2", "webpack-sources": "^1.4.0", diff --git a/package.json b/package.json index 05ef8cca..332a7367 100644 --- a/package.json +++ b/package.json @@ -38,6 +38,7 @@ "onCommand:maven.goal.deploy", "onCommand:maven.goal.custom", "onCommand:maven.goal.execute", + "onCommand:maven.goal.execute.fromProjectManager", "onCommand:maven.project.effectivePom", "onCommand:maven.project.openPom", "onCommand:maven.archetype.generate", @@ -142,6 +143,11 @@ "title": "%contributes.commands.maven.goal.execute%", "category": "Maven" }, + { + "command": "maven.goal.execute.fromProjectManager", + "title": "Run Maven Command...", + "category": "Maven" + }, { "command": "maven.plugin.execute", "title": "%contributes.commands.maven.plugin.execute%", @@ -255,6 +261,10 @@ { "command": "maven.project.showDependencies", "when": "never" + }, + { + "command": "maven.goal.execute.fromProjectManager", + "when": "never" } ], "explorer/context": [ @@ -402,7 +412,7 @@ "group": "inline" }, { - "command": "maven.goal.execute", + "command": "maven.goal.execute.fromProjectManager", "when": "view == javaProjectExplorer && viewItem =~ /java:project(?=.*?\\b\\+maven\\b)(?=.*?\\b\\+uri\\b)/", "group": "maven" } diff --git a/src/extension.ts b/src/extension.ts index 719dbda8..c92c72e6 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -78,6 +78,7 @@ async function doActivate(_operationId: string, context: vscode.ExtensionContext registerCommand(context, "maven.history", mavenHistoryHandler); registerCommand(context, "maven.favorites", runFavoriteCommandsHandler); registerCommand(context, "maven.goal.execute", Utils.executeMavenCommand); + registerCommand(context, "maven.goal.execute.fromProjectManager", Utils.executeMavenCommand); registerCommand(context, "maven.plugin.execute", async (pluginGoal: PluginGoal) => await executeInTerminal({ command: pluginGoal.name, pomfile: pluginGoal.plugin.project.pomPath })); registerCommand(context, "maven.view.flat", () => Settings.changeToFlatView()); registerCommand(context, "maven.view.hierarchical", () => Settings.changeToHierarchicalView()); From 0f835fc5b2e37e91dc692e57e10bea36785236b3 Mon Sep 17 00:00:00 2001 From: Yan Zhang Date: Mon, 31 Aug 2020 10:30:17 +0800 Subject: [PATCH 4/4] fix wording Signed-off-by: Yan Zhang --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 332a7367..3d0ebf6a 100644 --- a/package.json +++ b/package.json @@ -145,7 +145,7 @@ }, { "command": "maven.goal.execute.fromProjectManager", - "title": "Run Maven Command...", + "title": "Run Maven Commands...", "category": "Maven" }, {