This is an automated email from the ASF dual-hosted git repository. marat pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel-karavan.git
commit 8a94b3e175b85063ae593573b0363e006b64f1d6 Author: Marat Gubaidullin <[email protected]> AuthorDate: Thu Dec 1 18:47:52 2022 -0500 Run with Maven --- karavan-vscode/package.json | 10 +++++----- karavan-vscode/src/extension.ts | 9 +++++---- karavan-vscode/src/jbang.ts | 13 +++++++++---- 3 files changed, 19 insertions(+), 13 deletions(-) diff --git a/karavan-vscode/package.json b/karavan-vscode/package.json index 9f961cd..3790296 100644 --- a/karavan-vscode/package.json +++ b/karavan-vscode/package.json @@ -392,12 +392,12 @@ }, { "command": "karavan.open", - "when": "resourceExtname == .yaml", + "when": "resourceFilename =~ /.camel.yaml$/", "group": "karavan@4" }, { "command": "karavan.jbang-run-file", - "when": "resourceExtname == .yaml", + "when": "resourceFilename =~ /.camel.yaml$/", "group": "karavan@5" }, { @@ -424,12 +424,12 @@ "editor/title": [ { "command": "karavan.open", - "when": "resourceExtname == .yaml", + "when": "resourceFilename =~ /.camel.yaml$/", "group": "navigation@1" }, { - "command": "karavan.jbang-run-file", - "when": "resourceExtname == .yaml || karavan:loaded", + "command": "karavan.jbang-run-project", + "when": "resourceFilename =~ /.camel.yaml$/ || karavan:loaded", "group": "navigation@2" }, { diff --git a/karavan-vscode/src/extension.ts b/karavan-vscode/src/extension.ts index 99087b9..3eb4c11 100644 --- a/karavan-vscode/src/extension.ts +++ b/karavan-vscode/src/extension.ts @@ -115,7 +115,7 @@ export function activate(context: ExtensionContext) { // Run project const runProjectCommand = commands.registerCommand("karavan.jbang-run-project", (...args: any[]) => { - jbang.camelJbangRun(); + exportProject(rootPath, true); }); context.subscriptions.push(runProjectCommand); @@ -148,11 +148,12 @@ export function activate(context: ExtensionContext) { /** * export into folder */ -export async function exportProject(rootPath?: string) { +export async function exportProject(rootPath?: string, run?: boolean) { utils.getExportFolder() .then(folder => { if (folder){ - jbang.camelJbangExport(); + const fullPath = rootPath + path.sep + folder; + jbang.camelJbangExport(fullPath, run); } else { window.showInputBox({ title: "Export project", @@ -169,7 +170,7 @@ export async function exportProject(rootPath?: string) { }).then(folder => { if (folder && rootPath) { const fullPath = rootPath + path.sep + folder; - jbang.camelJbangExport(fullPath); + jbang.camelJbangExport(fullPath, run); } }); } diff --git a/karavan-vscode/src/jbang.ts b/karavan-vscode/src/jbang.ts index 456d46b..d90bbab 100644 --- a/karavan-vscode/src/jbang.ts +++ b/karavan-vscode/src/jbang.ts @@ -94,8 +94,13 @@ export function camelJbangRun(filename?: string) { terminal.sendText(command); } -export function camelJbangExport(fullPath?: string) { - const command = createExportCommand(fullPath); +export async function camelJbangExport(fullPath: string, run?: boolean) { + let command = createExportCommand(fullPath); + if (run) { + const runtime = await utils.getRuntime(); + const mvn = runtime === 'quarkus' ? "quarkus:dev" : "spring-boot:run"; + command = command.concat(" && mvn clean ").concat(mvn).concat(" -f ").concat(fullPath); + } const terminalId = "export"; const existTerminal = TERMINALS.get(terminalId); if (existTerminal) existTerminal.dispose(); @@ -105,7 +110,7 @@ export function camelJbangExport(fullPath?: string) { terminal.sendText(command); } -export function createExportCommand(fullPath?: string) { +export function createExportCommand(fullPath: string) { const kameletsPath: string | undefined = workspace.getConfiguration().get("Karavan.kameletsPath"); const cmd = "export --fresh " + (fullPath ? " --directory=" + fullPath : '') @@ -130,7 +135,7 @@ export function camelDeploy(directory: string) { window.showErrorMessage("Namespace not set \n" + val[3].error); } const deployCommand: string = workspace.getConfiguration().get("Karavan.".concat(runtime.replaceAll("-", "")).concat(utils.capitalize(target)).concat("Deploy")) || ''; - const command = createExportCommand().concat(" && ").concat(deployCommand).concat(" -f ").concat(exportFolder); + const command = createExportCommand(directory).concat(" && ").concat(deployCommand).concat(" -f ").concat(exportFolder); camelRunDeploy(command, env); }).catch((reason: any) => { window.showErrorMessage("Error: \n" + reason.message);
