[vscode-spring-cli] command add support

This commit is contained in:
aboyko
2024-01-19 17:55:03 -05:00
parent 9ae4942a7d
commit 1ada4a9994
4 changed files with 77 additions and 3 deletions

View File

@@ -1,4 +1,4 @@
import { BootAddMetadata, BootNewMetadata, Project, ProjectCatalog } from "./cli-types";
import { BootAddMetadata, BootNewMetadata, Project, ProjectCatalog, commandAddMetadata } from "./cli-types";
import { ProcessExecution, ProgressLocation, Task, TaskScope, Uri, env, tasks, window, workspace } from "vscode";
import cp from "child_process";
import { homedir } from "os";
@@ -28,6 +28,16 @@ export class Cli {
return this.fetchJson("Fetching Available Catalogs...", undefined, ["project-catalog", "list-available"]);
}
commandAdd(metadata: commandAddMetadata) {
const args = [
"command",
"add",
"--from",
metadata.url
];
this.exec("Add Command", metadata.url, args);
}
projectCatalogAdd(catalog: ProjectCatalog): Promise<void> {
const args = [
"project-catalog",
@@ -135,7 +145,7 @@ export class Cli {
return new Promise<void>(async (resolve, reject) => {
const processOpts = { cwd: cwd || getWorkspaceRoot()?.fsPath || homedir() };
const process = this.executable.endsWith(".jar") ? new ProcessExecution("java", [ "-jar", this.executable, ...args], processOpts) : new ProcessExecution(this.executable, args, processOpts);
const task = new Task({ type: SPRING_CLI_TASK_TYPE}, cwd ? workspace.getWorkspaceFolder(Uri.file(cwd)) : TaskScope.Global, `${title}: ${message}`, SPRING_CLI_TASK_TYPE, process);
const task = new Task({ type: SPRING_CLI_TASK_TYPE }, cwd ? workspace.getWorkspaceFolder(Uri.file(cwd)) : TaskScope.Global, `${title}: ${message}`, SPRING_CLI_TASK_TYPE, process);
const taskExecution = await tasks.executeTask(task);
if (cancellation.isCancellationRequested) {
reject();