From e7b78fbd73aa1cd6581f0d7fa144246d1b50436f Mon Sep 17 00:00:00 2001 From: Guillaume Nodet Date: Mon, 23 Mar 2026 22:11:37 +0100 Subject: [PATCH 1/5] CAMEL-22544: jbang dependency update supports multi-file and --scan-routes - Accept multiple target files (pom.xml or Java source files with //DEPS) - Add --scan-routes flag to sync dependencies from route definitions: - Manages only org.apache.camel dependencies - Preserves non-Camel dependencies - Removes unused Camel dependencies - Idempotent on re-execution - Route files (YAML, XML) passed as arguments are used as source files for the export pipeline dependency resolution - In scan-routes mode, Camel //DEPS in Java target files are stripped before export to prevent stale deps from being resolved Co-Authored-By: Claude Opus 4.6 --- .../jbang/core/commands/DependencyUpdate.java | 483 +++++++++++++++--- .../commands/DependencyUpdateJBangTest.java | 312 +++++++++++ 2 files changed, 713 insertions(+), 82 deletions(-) create mode 100644 dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/commands/DependencyUpdateJBangTest.java diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/DependencyUpdate.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/DependencyUpdate.java index 5c96cc3fbc5db..658d6456d9a9c 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/DependencyUpdate.java +++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/DependencyUpdate.java @@ -20,12 +20,13 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.Collections; +import java.util.LinkedHashSet; import java.util.List; +import java.util.Set; import java.util.StringJoiner; import org.w3c.dom.Document; import org.w3c.dom.Element; -import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.apache.camel.dsl.jbang.core.common.RuntimeType; @@ -34,25 +35,33 @@ import org.apache.camel.util.IOHelper; import org.apache.camel.util.StringHelper; import org.apache.camel.util.xml.XmlLineNumberParser; -import org.apache.logging.log4j.util.Strings; import picocli.CommandLine; @CommandLine.Command(name = "update", - description = "Updates dependencies in Maven pom.xml or Java source file (JBang style)", + description = "Updates dependencies in Maven pom.xml or Java source files (JBang style)", sortOptions = false, showDefaultValues = true) public class DependencyUpdate extends DependencyList { - @CommandLine.Parameters(description = "Maven pom.xml or Java source files (JBang Style with //DEPS) to have dependencies updated", - arity = "1") - public Path file; + @CommandLine.Parameters(description = "Maven pom.xml or Java source files (JBang Style with //DEPS) to have dependencies updated." + + " Route definition files (YAML, XML) can also be included and will be used as source files" + + " for dependency resolution.", + arity = "1..*") + public List targetFiles; @CommandLine.Option(names = { "--clean" }, description = "Regenerate list of dependencies (do not keep existing dependencies). Not supported for pom.xml") protected boolean clean; + @CommandLine.Option(names = { "--scan-routes" }, + description = "Sync dependencies from route definitions. Only manages org.apache.camel dependencies," + + " preserving non-Camel dependencies. Removes unused Camel dependencies.") + protected boolean scanRoutes; + private final List deps = new ArrayList<>(); private final List gavs = new ArrayList<>(); + // actual target files to update (pom.xml or Java files with //DEPS) + private final List updateTargets = new ArrayList<>(); public DependencyUpdate(CamelJBangMain main) { super(main); @@ -60,22 +69,57 @@ public DependencyUpdate(CamelJBangMain main) { @Override public Integer doCall() throws Exception { - // source file must exist - if (!Files.exists(file)) { - printer().printErr("Source file does not exist: " + file); + // clear state from any previous invocation + deps.clear(); + gavs.clear(); + updateTargets.clear(); + + if (clean && scanRoutes) { + printer().printErr("Options --clean and --scan-routes are mutually exclusive"); + return -1; + } + + for (Path file : targetFiles) { + if (!Files.exists(file)) { + printer().printErr("Source file does not exist: " + file); + return -1; + } + String name = file.getFileName().toString(); + String ext = FileUtil.onlyExt(name, true); + if ("pom.xml".equals(name) || "java".equals(ext)) { + updateTargets.add(file); + } + } + + if (scanRoutes) { + // in scan-routes mode, strip existing //DEPS from Java target files before the export pipeline + // runs, so only actual route-based dependencies are resolved (not stale //DEPS) + for (Path file : updateTargets) { + String ext = FileUtil.onlyExt(file.getFileName().toString(), true); + if ("java".equals(ext)) { + stripJBangDeps(file); + } + } + } + + if (updateTargets.isEmpty()) { + printer().printErr("No target files (pom.xml or Java source files) specified"); return -1; } - boolean maven = "pom.xml".equals(file.getFileName().toString()); + Path firstTarget = updateTargets.get(0); + boolean maven = "pom.xml".equals(firstTarget.getFileName().toString()); if (clean && !maven) { - // remove DEPS in source file first - updateJBangSource(); + // in clean mode: remove all DEPS first + for (Path file : updateTargets) { + updateJBangSource(file); + } } if (maven && this.runtime == null) { // Basic heuristic to determine if the project is a Quarkus or Spring Boot one. - String pomContent = new String(Files.readAllBytes(file)); + String pomContent = new String(Files.readAllBytes(firstTarget)); if (pomContent.contains("quarkus")) { runtime = RuntimeType.quarkus; } else if (pomContent.contains("spring-boot")) { @@ -93,7 +137,8 @@ public Integer doCall() throws Exception { @Override protected void outputGav(MavenGav gav, int index, int total) { try { - boolean maven = "pom.xml".equals(file.getFileName().toString()); + Path firstTarget = updateTargets.get(0); + boolean maven = "pom.xml".equals(firstTarget.getFileName().toString()); if (maven) { outputGavMaven(gav, index, total); } else { @@ -109,7 +154,9 @@ protected void outputGavMaven(MavenGav gav, int index, int total) throws Excepti boolean last = total - index <= 1; if (last) { - updateMavenSource(); + for (Path file : updateTargets) { + updateMavenSource(file); + } } } @@ -127,11 +174,17 @@ protected void outputGavJBang(MavenGav gav, int index, int total) { } boolean last = total - index <= 1; if (last) { - updateJBangSource(); + for (Path file : updateTargets) { + if (scanRoutes) { + syncJBangSource(file); + } else { + updateJBangSource(file); + } + } } } - private void updateJBangSource() { + private void updateJBangSource(Path file) { try { List lines = Files.readAllLines(file); List answer = new ArrayList<>(); @@ -155,7 +208,7 @@ private void updateJBangSource() { } // add after shebang in top if (pos == -1) { - if (answer.get(0).trim().startsWith("///usr/bin/env jbang")) { + if (!answer.isEmpty() && answer.get(0).trim().startsWith("///usr/bin/env jbang")) { pos = 1; } } @@ -164,13 +217,80 @@ private void updateJBangSource() { } // reverse collection as we insert pos based - Collections.reverse(deps); + List depsToInsert = new ArrayList<>(deps); + Collections.reverse(depsToInsert); + for (String dep : depsToInsert) { + answer.add(pos, dep); + } + + String text = String.join(System.lineSeparator(), answer); + Files.writeString(file, text); + } catch (Exception e) { + printer().printErr("Error updating source file: " + file + " due to: " + e.getMessage()); + } + } + + /** + * Syncs JBang source file dependencies: preserves non-Camel //DEPS, replaces Camel //DEPS with the resolved set. + */ + private void syncJBangSource(Path file) { + try { + List lines = Files.readAllLines(file); + List answer = new ArrayList<>(); + + // collect non-Camel DEPS and find insertion position + List nonCamelDeps = new ArrayList<>(); + int pos = -1; + for (int i = 0; i < lines.size(); i++) { + String o = lines.get(i); + // remove leading comment chars to inspect + String l = o.trim(); + while (l.startsWith("#")) { + l = l.substring(1); + } + if (l.startsWith("//DEPS ")) { + if (pos == -1) { + pos = i; + } + // check if this is a Camel dependency + String depPart = l.substring("//DEPS ".length()).trim(); + if (!isCamelDependency(depPart)) { + nonCamelDeps.add(o); + } + } else { + answer.add(o); + } + } + // add after shebang in top + if (pos == -1) { + if (!answer.isEmpty() && answer.get(0).trim().startsWith("///usr/bin/env jbang")) { + pos = 1; + } + } + if (pos == -1) { + pos = 0; + } + + // build combined deps: Camel deps (from resolved) + non-Camel deps (preserved) + Set seen = new LinkedHashSet<>(); + List allDeps = new ArrayList<>(); + + // add resolved Camel deps first for (String dep : deps) { - // is this XML or YAML - String ext = FileUtil.onlyExt(file.getFileName().toString(), true); - if ("yaml".equals(ext)) { - dep = "#" + dep; + if (seen.add(dep)) { + allDeps.add(dep); + } + } + // add preserved non-Camel deps + for (String dep : nonCamelDeps) { + if (seen.add(dep)) { + allDeps.add(dep); } + } + + // reverse collection as we insert pos based + Collections.reverse(allDeps); + for (String dep : allDeps) { answer.add(pos, dep); } @@ -181,16 +301,55 @@ private void updateJBangSource() { } } - private void updateMavenSource() throws Exception { + /** + * Strips Camel //DEPS lines from a JBang-style source file (in-place), preserving non-Camel //DEPS. This is used in + * scan-routes mode to prevent stale Camel //DEPS from being picked up by the export pipeline. + */ + private void stripJBangDeps(Path file) { + try { + List lines = Files.readAllLines(file); + List answer = new ArrayList<>(); + for (String line : lines) { + String l = line.trim(); + while (l.startsWith("#")) { + l = l.substring(1); + } + if (l.startsWith("//DEPS ")) { + String depPart = l.substring("//DEPS ".length()).trim(); + if (isCamelDependency(depPart)) { + // skip Camel deps — they will be re-added from route resolution + continue; + } + } + answer.add(line); + } + String text = String.join(System.lineSeparator(), answer); + Files.writeString(file, text); + } catch (Exception e) { + printer().printErr("Error stripping //DEPS from: " + file + " due to: " + e.getMessage()); + } + } + + /** + * Check if a dependency GAV string is a Camel dependency (org.apache.camel group). + */ + private static boolean isCamelDependency(String dep) { + // handle @pom suffix + String d = dep; + if (d.endsWith("@pom")) { + d = d.substring(0, d.length() - 4); + } + return d.startsWith("org.apache.camel:"); + } + + private void updateMavenSource(Path file) throws Exception { List existingGavs = new ArrayList<>(); - Node camelClone = null; int targetLineNumber = -1; - Path pom = file; - if (Files.exists(pom)) { + if (Files.exists(file)) { // use line number parser as we want to find where to add new Camel JARs after the existing Camel JARs - Document dom = XmlLineNumberParser.parseXml(Files.newInputStream(pom)); + Document dom = XmlLineNumberParser.parseXml(Files.newInputStream(file)); String camelVersion = null; NodeList nl = dom.getElementsByTagName("dependency"); for (int i = 0; i < nl.getLength(); i++) { @@ -222,17 +381,10 @@ private void updateMavenSource() throws Exception { if ("org.apache.camel".equals(g)) { camelVersion = v; - if (camelClone == null && !"camel-bom".equals(a)) { - camelClone = node.cloneNode(true); - } String num = (String) node.getUserData(XmlLineNumberParser.LINE_NUMBER_END); if (num != null) { targetLineNumber = Integer.parseInt(num); } - num = (String) node.getUserData(XmlLineNumberParser.LINE_NUMBER_END); - if (num != null) { - targetLineNumber = Integer.parseInt(num); - } } if ("org.apache.camel.springboot".equals(g)) { camelVersion = v; @@ -270,62 +422,229 @@ private void updateMavenSource() throws Exception { } // sort the new JARs being added updates.sort(mavenGavComparator()); - List toBeUpdated = new ArrayList<>(); - int changes = 0; - for (MavenGav update : updates) { - if (!existingGavs.contains(update)) { - toBeUpdated.add(update); - changes++; + + if (scanRoutes) { + // in scan-routes mode, sync Camel deps: add missing, remove unused + syncMavenSource(file, dom, existingGavs, updates); + } else { + // default mode: only add new deps + addMavenDeps(file, existingGavs, updates, targetLineNumber); + } + } else { + outPrinter().println("pom.xml not found " + file.toAbsolutePath()); + } + } + + private void addMavenDeps(Path file, List existingGavs, List updates, int targetLineNumber) + throws Exception { + List toBeUpdated = new ArrayList<>(); + for (MavenGav update : updates) { + if (!existingGavs.contains(update)) { + toBeUpdated.add(update); + } + } + + if (!toBeUpdated.isEmpty()) { + String content = IOHelper.loadText(Files.newInputStream(file)); + String[] lines = content.split("\n"); + content = insertMavenDeps(lines, toBeUpdated, targetLineNumber); + Files.writeString(file, content); + int changes = toBeUpdated.size(); + if (changes > 1) { + outPrinter().println("Updating pom.xml with " + changes + " dependencies added"); + } else { + outPrinter().println("Updating pom.xml with 1 dependency added"); + } + } else { + outPrinter().println("No updates to pom.xml"); + } + } + + private void syncMavenSource( + Path file, Document dom, List existingGavs, List resolvedGavs) + throws Exception { + + // determine which existing Camel deps are no longer needed + Set resolvedGAs = new LinkedHashSet<>(); + for (MavenGav gav : resolvedGavs) { + resolvedGAs.add(gav.getGroupId() + ":" + gav.getArtifactId()); + } + Set existingGAs = new LinkedHashSet<>(); + for (MavenGav gav : existingGavs) { + existingGAs.add(gav.getGroupId() + ":" + gav.getArtifactId()); + } + + // find Camel deps to remove (exist in pom but not in resolved set) + List toRemove = new ArrayList<>(); + for (MavenGav gav : existingGavs) { + String ga = gav.getGroupId() + ":" + gav.getArtifactId(); + boolean isCamel = gav.getGroupId().startsWith("org.apache.camel"); + if (isCamel && !resolvedGAs.contains(ga)) { + // skip BOM entries + if (!"camel-bom".equals(gav.getArtifactId()) + && !"camel-spring-boot-bom".equals(gav.getArtifactId())) { + toRemove.add(ga); } } + } - if (changes > 0) { - // respect indent from existing GAVs - String line = IOHelper.loadTextLine(Files.newInputStream(file), targetLineNumber); - line = StringHelper.before(line, "<"); - int indent = StringHelper.countChar(line, ' '); - String pad = Strings.repeat(" ", indent); - line = IOHelper.loadTextLine(Files.newInputStream(file), targetLineNumber - 1); - line = StringHelper.before(line, "<"); - int indent2 = StringHelper.countChar(line, ' '); - String pad2 = Strings.repeat(" ", indent2); - - // build GAVs to be added to pom.xml - StringJoiner sj = new StringJoiner(""); - for (MavenGav gav : toBeUpdated) { - sj.add("\n").add(pad).add("\n"); - sj.add(pad2).add("" + gav.getGroupId() + "\n"); - sj.add(pad2).add("" + gav.getArtifactId() + "\n"); - if (gav.getVersion() != null) { - sj.add(pad2).add("" + gav.getVersion() + "\n"); - } - if (gav.getScope() != null) { - sj.add(pad2).add("" + gav.getScope() + "\n"); - } - sj.add(pad).add(""); + // find Camel deps to add (in resolved but not in pom) + List toAdd = new ArrayList<>(); + for (MavenGav gav : resolvedGavs) { + String ga = gav.getGroupId() + ":" + gav.getArtifactId(); + if (!existingGAs.contains(ga)) { + toAdd.add(gav); + } + } + + int added = toAdd.size(); + int removed = toRemove.size(); + + if (added == 0 && removed == 0) { + outPrinter().println("No updates to pom.xml"); + return; + } + + // process file: remove unused Camel deps and add new ones + String content = IOHelper.loadText(Files.newInputStream(file)); + String[] lines = content.split("\n"); + + if (removed > 0) { + content = removeMavenDeps(lines, dom, toRemove); + } + + if (added > 0) { + // re-parse to get updated line numbers after removals + if (removed > 0) { + lines = content.split("\n"); + Document updatedDom = XmlLineNumberParser.parseXml( + new java.io.ByteArrayInputStream(content.getBytes(java.nio.charset.StandardCharsets.UTF_8))); + int insertLine = findLastCamelDependencyLine(updatedDom); + if (insertLine > 0) { + content = insertMavenDeps(lines, toAdd, insertLine); + } + } else { + int insertLine = findLastCamelDependencyLine(dom); + if (insertLine > 0) { + content = insertMavenDeps(lines, toAdd, insertLine); } + } + } - StringJoiner out = new StringJoiner("\n"); - String[] lines = IOHelper.loadText(Files.newInputStream(file)).split("\n"); - for (int i = 0; i < lines.length; i++) { - String txt = lines[i]; - out.add(txt); - if (i == targetLineNumber - 1) { - out.add(sj.toString()); - } + Files.writeString(file, content); + + StringBuilder msg = new StringBuilder("Updating pom.xml with "); + if (added > 0) { + msg.append(added).append(added == 1 ? " dependency added" : " dependencies added"); + } + if (removed > 0) { + if (added > 0) { + msg.append(" and "); + } + msg.append(removed).append(removed == 1 ? " dependency removed" : " dependencies removed"); + } + outPrinter().println(msg.toString()); + } + + private int findLastCamelDependencyLine(Document dom) { + int targetLineNumber = -1; + NodeList nl = dom.getElementsByTagName("dependency"); + for (int i = 0; i < nl.getLength(); i++) { + Element node = (Element) nl.item(i); + String p = node.getParentNode().getNodeName(); + String p2 = node.getParentNode().getParentNode().getNodeName(); + boolean accept = ("dependencyManagement".equals(p2) || "project".equals(p2)) && (p.equals("dependencies")); + if (!accept) { + continue; + } + String g = node.getElementsByTagName("groupId").item(0).getTextContent(); + if (g.startsWith("org.apache.camel")) { + String num = (String) node.getUserData(XmlLineNumberParser.LINE_NUMBER_END); + if (num != null) { + targetLineNumber = Integer.parseInt(num); } - if (changes > 1) { - outPrinter().println("Updating pom.xml with " + changes + " dependencies added"); - } else { - outPrinter().println("Updating pom.xml with 1 dependency added"); + } + } + return targetLineNumber; + } + + private String removeMavenDeps(String[] lines, Document dom, List toRemove) { + // find line ranges of dependencies to remove + List rangesToRemove = new ArrayList<>(); + NodeList nl = dom.getElementsByTagName("dependency"); + for (int i = 0; i < nl.getLength(); i++) { + Element node = (Element) nl.item(i); + String p = node.getParentNode().getNodeName(); + String p2 = node.getParentNode().getParentNode().getNodeName(); + boolean accept = ("dependencyManagement".equals(p2) || "project".equals(p2)) && (p.equals("dependencies")); + if (!accept) { + continue; + } + String g = node.getElementsByTagName("groupId").item(0).getTextContent(); + String a = node.getElementsByTagName("artifactId").item(0).getTextContent(); + String ga = g + ":" + a; + if (toRemove.contains(ga)) { + String startNum = (String) node.getUserData(XmlLineNumberParser.LINE_NUMBER); + String endNum = (String) node.getUserData(XmlLineNumberParser.LINE_NUMBER_END); + if (startNum != null && endNum != null) { + rangesToRemove.add(new int[] { Integer.parseInt(startNum), Integer.parseInt(endNum) }); } - Files.writeString(file, out.toString()); - } else { - outPrinter().println("No updates to pom.xml"); } - } else { - outPrinter().println("pom.xml not found " + pom.toAbsolutePath()); } + + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < lines.length; i++) { + int lineNum = i + 1; // 1-based + boolean skip = false; + for (int[] range : rangesToRemove) { + if (lineNum >= range[0] && lineNum <= range[1]) { + skip = true; + break; + } + } + if (!skip) { + if (sb.length() > 0) { + sb.append("\n"); + } + sb.append(lines[i]); + } + } + return sb.toString(); + } + + private String insertMavenDeps(String[] lines, List toAdd, int targetLineNumber) { + // respect indent from existing lines + String line = lines[targetLineNumber - 1]; + String beforeTag = StringHelper.before(line, "<"); + int indent = beforeTag != null ? StringHelper.countChar(beforeTag, ' ') : 8; + String pad = " ".repeat(indent); + String line2 = targetLineNumber >= 2 ? lines[targetLineNumber - 2] : line; + String beforeTag2 = StringHelper.before(line2, "<"); + int indent2 = beforeTag2 != null ? StringHelper.countChar(beforeTag2, ' ') : indent + 4; + String pad2 = " ".repeat(indent2); + + StringJoiner sj = new StringJoiner(""); + for (MavenGav gav : toAdd) { + sj.add("\n").add(pad).add("\n"); + sj.add(pad2).add("" + gav.getGroupId() + "\n"); + sj.add(pad2).add("" + gav.getArtifactId() + "\n"); + if (gav.getVersion() != null) { + sj.add(pad2).add("" + gav.getVersion() + "\n"); + } + if (gav.getScope() != null) { + sj.add(pad2).add("" + gav.getScope() + "\n"); + } + sj.add(pad).add(""); + } + + StringJoiner out = new StringJoiner("\n"); + for (int i = 0; i < lines.length; i++) { + out.add(lines[i]); + if (i == targetLineNumber - 1) { + out.add(sj.toString()); + } + } + return out.toString(); } } diff --git a/dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/commands/DependencyUpdateJBangTest.java b/dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/commands/DependencyUpdateJBangTest.java new file mode 100644 index 0000000000000..8fc14417bc0bc --- /dev/null +++ b/dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/commands/DependencyUpdateJBangTest.java @@ -0,0 +1,312 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.camel.dsl.jbang.core.commands; + +import java.io.File; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.stream.Stream; + +import org.apache.camel.dsl.jbang.core.common.RuntimeType; +import org.apache.camel.dsl.jbang.core.common.StringPrinter; +import org.apache.camel.util.FileUtil; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; +import picocli.CommandLine; + +import static org.assertj.core.api.Assertions.assertThat; + +class DependencyUpdateJBangTest extends CamelCommandBaseTestSupport { + + private File workingDir; + + @BeforeEach + @Override + public void setup() throws Exception { + super.setup(); + Path base = Paths.get("target"); + workingDir = Files.createTempDirectory(base, "camel-dependency-update-jbang-tests").toFile(); + } + + @AfterEach + void end() { + FileUtil.removeDir(workingDir); + } + + @ParameterizedTest + @MethodSource("runtimeProvider") + void shouldScanRoutesAddDependency(RuntimeType rt) throws Exception { + prepareMavenProject(rt); + + // add arangodb to the route + addArangodbToCamelFile(); + + // run with --scan-routes + StringPrinter updatePrinter = new StringPrinter(); + DependencyUpdate command = new DependencyUpdate(new CamelJBangMain().withPrinter(updatePrinter)); + CommandLine.populateCommand(command, + "--scan-routes", + "--dir=" + workingDir, + new File(workingDir, "pom.xml").getAbsolutePath()); + int exit = command.doCall(); + Assertions.assertEquals(0, exit, updatePrinter.getLines().toString()); + + String pomContent = Files.readString(new File(workingDir, "pom.xml").toPath()); + switch (rt) { + case quarkus: + assertThat(pomContent).contains("camel-quarkus-arangodb"); + break; + case springBoot: + assertThat(pomContent).contains("camel-arangodb-starter"); + break; + case main: + assertThat(pomContent).contains("camel-arangodb<"); + break; + } + } + + @Test + void shouldScanRoutesRemoveUnusedMavenDependency() throws Exception { + prepareMavenProject(RuntimeType.main); + + // manually add camel-kafka to the pom.xml (which is not used by the route) + File pomFile = new File(workingDir, "pom.xml"); + String pomContent = Files.readString(pomFile.toPath()); + // insert before the closing tag in the main dependencies section + String kafkaDep = " \n" + + " org.apache.camel\n" + + " camel-kafka\n" + + " \n "; + pomContent = pomContent.replaceFirst("()", kafkaDep + "$1"); + Files.writeString(pomFile.toPath(), pomContent); + + // verify kafka is there + assertThat(Files.readString(pomFile.toPath())).contains("camel-kafka"); + + // run with --scan-routes to sync + StringPrinter updatePrinter = new StringPrinter(); + DependencyUpdate command = new DependencyUpdate(new CamelJBangMain().withPrinter(updatePrinter)); + CommandLine.populateCommand(command, + "--scan-routes", + "--dir=" + workingDir, + pomFile.getAbsolutePath()); + int exit = command.doCall(); + Assertions.assertEquals(0, exit, updatePrinter.getLines().toString()); + + // camel-kafka should be removed (not used in routes) + String updatedPom = Files.readString(pomFile.toPath()); + assertThat(updatedPom).doesNotContain("camel-kafka"); + // should still have camel-yaml-dsl (used for the route file) + assertThat(updatedPom).contains("camel-yaml-dsl"); + } + + @Test + void shouldScanRoutesAddAndRemoveMavenDependency() throws Exception { + prepareMavenProject(RuntimeType.main); + + // manually add camel-kafka to the pom.xml (which is not used by the route) + File pomFile = new File(workingDir, "pom.xml"); + String pomContent = Files.readString(pomFile.toPath()); + String kafkaDep = " \n" + + " org.apache.camel\n" + + " camel-kafka\n" + + " \n "; + pomContent = pomContent.replaceFirst("()", kafkaDep + "$1"); + Files.writeString(pomFile.toPath(), pomContent); + + // add arangodb to the route + addArangodbToCamelFile(); + + // run with --scan-routes to sync + StringPrinter updatePrinter = new StringPrinter(); + DependencyUpdate command = new DependencyUpdate(new CamelJBangMain().withPrinter(updatePrinter)); + CommandLine.populateCommand(command, + "--scan-routes", + "--dir=" + workingDir, + pomFile.getAbsolutePath()); + int exit = command.doCall(); + Assertions.assertEquals(0, exit, updatePrinter.getLines().toString()); + + String updatedPom = Files.readString(pomFile.toPath()); + // camel-kafka should be removed (not used in routes) + assertThat(updatedPom).doesNotContain("camel-kafka"); + // camel-arangodb should be added (used in the route) + assertThat(updatedPom).contains("camel-arangodb<"); + // should still have camel-yaml-dsl (used for the route file) + assertThat(updatedPom).contains("camel-yaml-dsl"); + } + + @Test + void shouldPreserveNonCamelDepsInJBangFile() throws Exception { + // create a Java file with mixed Camel and non-Camel //DEPS + Path javaFile = createFile("MyRoute.java", """ + ///usr/bin/env jbang + //DEPS org.apache.camel:camel-bom:4.13.0@pom + //DEPS org.apache.camel:camel-kafka + //DEPS com.google.guava:guava:33.0.0-jre + //DEPS io.netty:netty-all:4.1.100.Final + import org.apache.camel.builder.RouteBuilder; + public class MyRoute extends RouteBuilder { + public void configure() { + from("timer:tick").to("log:info"); + } + } + """); + + // run scan-routes with just the Java file (no separate route files) + StringPrinter p = new StringPrinter(); + DependencyUpdate command = new DependencyUpdate(new CamelJBangMain().withPrinter(p)); + CommandLine.populateCommand(command, + "--scan-routes", + "--dir=" + workingDir, + javaFile.toAbsolutePath().toString()); + int exit = command.doCall(); + Assertions.assertEquals(0, exit, p.getLines().toString()); + + String content = Files.readString(javaFile); + // non-Camel deps should be preserved + assertThat(content).contains("//DEPS com.google.guava:guava:33.0.0-jre"); + assertThat(content).contains("//DEPS io.netty:netty-all:4.1.100.Final"); + // should have camel-bom (resolved fresh) + assertThat(content).contains("//DEPS org.apache.camel:camel-bom:"); + // kafka should be removed (not used in the route definition) + assertThat(content).doesNotContain("camel-kafka"); + } + + @Test + void shouldScanRoutesIdempotentJBang() throws Exception { + Path javaFile = createFile("MyRoute.java", """ + ///usr/bin/env jbang + //DEPS com.google.guava:guava:33.0.0-jre + import org.apache.camel.builder.RouteBuilder; + public class MyRoute extends RouteBuilder { + public void configure() { + from("timer:tick").to("log:info"); + } + } + """); + + // run scan-routes twice + for (int run = 0; run < 2; run++) { + StringPrinter p = new StringPrinter(); + DependencyUpdate command = new DependencyUpdate(new CamelJBangMain().withPrinter(p)); + CommandLine.populateCommand(command, + "--scan-routes", + "--dir=" + workingDir, + javaFile.toAbsolutePath().toString()); + int exit = command.doCall(); + Assertions.assertEquals(0, exit, p.getLines().toString()); + } + + String content = Files.readString(javaFile); + // should have exactly one camel-bom line + long bomCount = content.lines().filter(l -> l.contains("camel-bom")).count(); + assertThat(bomCount).isEqualTo(1); + // non-Camel deps should still be there + assertThat(content).contains("//DEPS com.google.guava:guava:33.0.0-jre"); + } + + @Test + void shouldUpdateMultipleJBangFiles() throws Exception { + Path java1 = createFile("MyRoute1.java", """ + ///usr/bin/env jbang + import org.apache.camel.builder.RouteBuilder; + public class MyRoute1 extends RouteBuilder { + public void configure() { + from("timer:tick").to("log:info"); + } + } + """); + Path java2 = createFile("MyRoute2.java", """ + ///usr/bin/env jbang + import org.apache.camel.builder.RouteBuilder; + public class MyRoute2 extends RouteBuilder { + public void configure() { + from("timer:tick").to("log:info"); + } + } + """); + + DependencyUpdate command = new DependencyUpdate(new CamelJBangMain().withPrinter(printer)); + CommandLine.populateCommand(command, + "--dir=" + workingDir, + java1.toAbsolutePath().toString(), + java2.toAbsolutePath().toString()); + + int exit = command.doCall(); + Assertions.assertEquals(0, exit, printer.getLines().toString()); + + // both files should have //DEPS + String content1 = Files.readString(java1); + String content2 = Files.readString(java2); + assertThat(content1).contains("//DEPS org.apache.camel:camel-bom:"); + assertThat(content2).contains("//DEPS org.apache.camel:camel-bom:"); + } + + private void prepareMavenProject(RuntimeType rt) throws Exception { + StringPrinter initPrinter = new StringPrinter(); + Init initCommand = new Init(new CamelJBangMain().withPrinter(initPrinter)); + String camelFilePath = new File(workingDir, "my.camel.yaml").getAbsolutePath(); + CommandLine.populateCommand(initCommand, camelFilePath); + Assertions.assertEquals(0, initCommand.doCall(), initPrinter.getLines().toString()); + + StringPrinter exportPrinter = new StringPrinter(); + Export exportCommand = new Export(new CamelJBangMain().withPrinter(exportPrinter)); + CommandLine.populateCommand(exportCommand, + "--gav=examples:route:1.0.0", + "--dir=" + workingDir, + "--camel-version=4.13.0", + "--runtime=" + rt.runtime(), + camelFilePath); + Assertions.assertEquals(0, exportCommand.doCall(), exportPrinter.getLines().toString()); + } + + private void addArangodbToCamelFile() throws Exception { + File camelFile = new File(workingDir, "src/main/resources/camel/my.camel.yaml"); + String content = Files.readString(camelFile.toPath()); + content = content.replace("- log: ${body}", """ + - to: + uri: arangodb + parameters: + database: demo + """); + Files.writeString(camelFile.toPath(), content); + } + + private Path createFile(String name, String content) throws Exception { + Path file = workingDir.toPath().resolve(name); + Files.writeString(file, content); + return file; + } + + private static Stream runtimeProvider() { + Stream.Builder builder = Stream.builder(); + builder.add(Arguments.of(RuntimeType.quarkus)); + if (Runtime.version().feature() >= 21) { + builder.add(Arguments.of(RuntimeType.springBoot)); + } + builder.add(Arguments.of(RuntimeType.main)); + return builder.build(); + } + +} From 345be70b899f1f5ca6162f9040cdec17adede6de Mon Sep 17 00:00:00 2001 From: Guillaume Nodet Date: Tue, 31 Mar 2026 00:37:58 +0200 Subject: [PATCH 2/5] CAMEL-22544: Address review feedback - Merge DependencyUpdateJBangTest into DependencyUpdateTest (single test class) - Use fixture files from src/test/resources for scan-routes Maven tests instead of calling Init+Export at runtime - Add input validation preventing mixed pom.xml and Java targets - Guard addMavenDeps against targetLineNumber == -1 - Clean up blank lines left by removeMavenDeps - Clarify isCamelDependency javadoc on group prefix matching - Fix PrepareCamelJBangCommandsMojo regex to match 'this' (not just 'main') as constructor arg, fixing stale metadata generation - Regenerate all jbang command metadata and docs Co-Authored-By: Claude Opus 4.6 --- .../jbang-commands/camel-jbang-bind.adoc | 7 +- .../camel-jbang-cmd-receive.adoc | 2 +- .../jbang-commands/camel-jbang-commands.adoc | 3 +- .../jbang-commands/camel-jbang-debug.adoc | 6 +- .../camel-jbang-dependency-copy.adoc | 10 +- .../camel-jbang-dependency-list.adoc | 10 +- .../camel-jbang-dependency-update.adoc | 13 +- .../camel-jbang-dependency.adoc | 2 +- .../jbang-commands/camel-jbang-explain.adoc | 2 +- .../jbang-commands/camel-jbang-export.adoc | 8 +- .../camel-jbang-get-blocked.adoc | 1 + .../camel-jbang-get-circuit-breaker.adoc | 1 + .../camel-jbang-get-consumer.adoc | 1 + .../camel-jbang-get-context.adoc | 1 + .../jbang-commands/camel-jbang-get-count.adoc | 1 + .../camel-jbang-get-endpoint.adoc | 1 + .../jbang-commands/camel-jbang-get-event.adoc | 1 + .../camel-jbang-get-groovy.adoc | 1 + .../jbang-commands/camel-jbang-get-group.adoc | 1 + .../camel-jbang-get-health.adoc | 1 + .../camel-jbang-get-inflight.adoc | 1 + .../camel-jbang-get-internal-task.adoc | 1 + .../jbang-commands/camel-jbang-get-kafka.adoc | 1 + .../camel-jbang-get-metric.adoc | 1 + .../camel-jbang-get-platform-http.adoc | 1 + .../camel-jbang-get-processor.adoc | 1 + .../camel-jbang-get-producer.adoc | 1 + .../camel-jbang-get-properties.adoc | 1 + .../jbang-commands/camel-jbang-get-rest.adoc | 1 + .../jbang-commands/camel-jbang-get-route.adoc | 1 + .../camel-jbang-get-service.adoc | 1 + .../camel-jbang-get-transformer.adoc | 1 + .../camel-jbang-get-variable.adoc | 1 + .../jbang-commands/camel-jbang-get-vault.adoc | 1 + .../jbang-commands/camel-jbang-harden.adoc | 2 +- .../jbang-commands/camel-jbang-init.adoc | 1 + .../pages/jbang-commands/camel-jbang-run.adoc | 6 +- .../jbang-commands/camel-jbang-sbom.adoc | 8 +- .../camel-jbang-top-context.adoc | 1 + .../jbang-commands/camel-jbang-top-group.adoc | 1 + .../camel-jbang-top-processor.adoc | 1 + .../jbang-commands/camel-jbang-top-route.adoc | 1 + .../camel-jbang-transform-dataweave.adoc | 29 ++ .../camel-jbang-transform-route.adoc | 2 +- .../jbang-commands/camel-jbang-transform.adoc | 1 + .../jbang-commands/camel-jbang-wrapper.adoc | 28 ++ .../camel-jbang-commands-metadata.json | 29 +- .../jbang/core/commands/DependencyUpdate.java | 24 +- .../commands/DependencyUpdateJBangTest.java | 312 ------------------ .../core/commands/DependencyUpdateTest.java | 278 +++++++++++++++- .../resources/dependency-update/main-pom.xml | 62 ++++ .../dependency-update/quarkus-pom.xml | 68 ++++ .../resources/dependency-update/route.yaml | 26 ++ .../dependency-update/springboot-pom.xml | 58 ++++ .../PrepareCamelJBangCommandsMojo.java | 6 +- 55 files changed, 652 insertions(+), 379 deletions(-) create mode 100644 docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-transform-dataweave.adoc create mode 100644 docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-wrapper.adoc delete mode 100644 dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/commands/DependencyUpdateJBangTest.java create mode 100644 dsl/camel-jbang/camel-jbang-core/src/test/resources/dependency-update/main-pom.xml create mode 100644 dsl/camel-jbang/camel-jbang-core/src/test/resources/dependency-update/quarkus-pom.xml create mode 100644 dsl/camel-jbang/camel-jbang-core/src/test/resources/dependency-update/route.yaml create mode 100644 dsl/camel-jbang/camel-jbang-core/src/test/resources/dependency-update/springboot-pom.xml diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-bind.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-bind.adoc index ed22844f67e52..53e08324428af 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-bind.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-bind.adoc @@ -2,7 +2,10 @@ // AUTO-GENERATED by camel-package-maven-plugin - DO NOT EDIT THIS FILE = camel bind -Bind source and sink Kamelets as a new Camel integration +DEPRECATED: Bind source and sink Kamelets as a new Camel integration + + +CAUTION: This command is deprecated. == Usage @@ -20,7 +23,7 @@ camel bind [options] |=== | Option | Description | Default | Type | `--error-handler` | Add error handler (none|log|sink:). Sink endpoints are expected in the format [[apigroup/]version:]kind:[namespace/]name, plain Camel URIs or Kamelet name. | | String -| `--output` | Output format generated by this command (supports: file, yaml or json). | file | String +| `--output` | Output format generated by this command (supports: ). | file | String | `--property` | Adds a pipe property in the form of [source|sink|error-handler|step-].= where is the step number starting from 1 | | String | `--sink` | Sink (to) such as a Kamelet or Camel endpoint uri | | String | `--source` | Source (from) such as a Kamelet or Camel endpoint uri | | String diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-cmd-receive.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-cmd-receive.adoc index 2e9a1caded715..4bae6989ecddf 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-cmd-receive.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-cmd-receive.adoc @@ -28,7 +28,7 @@ camel cmd receive [options] | `--logging-color` | Use colored logging | true | boolean | `--mask` | Whether to mask endpoint URIs to avoid printing sensitive information such as password or access keys | | boolean | `--only-body` | Show only message body in received messages | false | boolean -| `--output` | Output format (text or json) | | String +| `--output` | Output format () | | String | `--prefix` | Print prefix with running Camel integration name. auto=only prefix when running multiple integrations. true=always prefix. false=prefix off. | auto | String | `--pretty` | Pretty print message body when using JSon or XML format | | boolean | `--prop,--property` | Additional properties; override existing (only applicable when NOT using an existing running Camel) | | String diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-commands.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-commands.adoc index edfd48586a310..8d9e0406c6a9f 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-commands.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-commands.adoc @@ -11,7 +11,7 @@ TIP: You can also use `camel --help` or `camel --help` to see availabl [cols="2,5",options="header"] |=== | Command | Description -| xref:jbang-commands/camel-jbang-bind.adoc[camel bind] | Bind source and sink Kamelets as a new Camel integration +| xref:jbang-commands/camel-jbang-bind.adoc[camel bind] | DEPRECATED: Bind source and sink Kamelets as a new Camel integration | xref:jbang-commands/camel-jbang-catalog.adoc[camel catalog] | List artifacts from Camel Catalog | xref:jbang-commands/camel-jbang-cmd.adoc[camel cmd] | Performs commands in the running Camel integrations, such as start/stop route, or change logging levels. | xref:jbang-commands/camel-jbang-completion.adoc[camel completion] | Generate completion script for bash/zsh @@ -43,4 +43,5 @@ TIP: You can also use `camel --help` or `camel --help` to see availabl | xref:jbang-commands/camel-jbang-transform.adoc[camel transform] | Transform message or Camel routes | xref:jbang-commands/camel-jbang-update.adoc[camel update] | Update Camel project | xref:jbang-commands/camel-jbang-version.adoc[camel version] | Manage Camel versions +| xref:jbang-commands/camel-jbang-wrapper.adoc[camel wrapper] | Install Camel wrapper scripts for version pinning |=== diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-debug.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-debug.adoc index f7bcff1d740bf..3f155003ff164 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-debug.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-debug.adoc @@ -45,7 +45,7 @@ camel debug [options] | `--log-lines` | Number of log lines to display on top of screen | 10 | int | `--logging` | Can be used to turn off logging | true | boolean | `--logging-category` | Used for individual logging levels (ex: org.apache.kafka=DEBUG) | | List -| `--logging-color` | Use colored logging | true | boolean +| `--logging-color` | Use colored logging. Default is auto-detected based on NO_COLOR, CI, FORCE_COLOR environment variables and terminal capabilities | | boolean | `--logging-config-path` | Path to file with custom logging configuration | | String | `--logging-json` | Use JSON logging (ECS Layout) | false | boolean | `--logging-level` | Logging level () | info | String @@ -67,7 +67,7 @@ camel debug [options] | `--package-scan-jars` | Whether to automatic package scan JARs for custom Spring or Quarkus beans making them available for Camel JBang | false | boolean | `--port` | Embeds a local HTTP server on this port (port 8080 by default; use 0 to dynamic assign a free random port number) | | int | `--pretty` | Pretty print message body when using JSon or XML format | | boolean -| `--profile` | Profile to run (dev, test, or prod). | dev | String +| `--profile` | Profile to run (). | dev | String | `--prompt` | Allow user to type in required parameters in prompt if not present in application | false | boolean | `--prop,--property` | Additional properties (override existing) | | String | `--properties` | comma separated list of properties file (ex. /path/to/file.properties,/path/to/other.properties | | String @@ -83,7 +83,7 @@ camel debug [options] | `--show-exchange-properties` | Show exchange properties in debug messages | false | boolean | `--show-exchange-variables` | Show exchange variables in debug messages | true | boolean | `--show-headers` | Show message headers in debug messages | true | boolean -| `--skip-plugins` | Skip plugins during export | false | boolean +| `--skip-plugins` | Skip resolving plugin dependencies | false | boolean | `--source` | Prefer to display source filename/code instead of IDs | | boolean | `--source-dir` | Source directory for dynamically loading Camel file(s) to run. When using this, then files cannot be specified at the same time. | | String | `--spring-boot-version` | Spring Boot version | RuntimeType.SPRING_BOOT_VERSION | String diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-dependency-copy.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-dependency-copy.adoc index 6f1f1a2367968..99a070e072aba 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-dependency-copy.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-dependency-copy.adoc @@ -26,6 +26,7 @@ camel dependency copy [options] | `--dep,--dependency` | Add additional dependencies | | List | `--dir,--directory` | Directory where the project will be exported | . | String | `--download` | Whether to allow automatic downloading JAR dependencies (over the internet) | true | boolean +| `--dry-run` | Preview export without writing files | false | boolean | `--exclude` | Exclude files by name or pattern | | List | `--fresh` | Make sure we use fresh (i.e. non-cached) resources | false | boolean | `--gav` | The Maven group:artifact:version | | String @@ -33,12 +34,12 @@ camel dependency copy [options] | `--hawtio` | Whether to include Hawtio web console (only available for exporting to Spring Boot or Quarkus) | false | boolean | `--hawtio-version` | Version of the Hawtio web console | HawtioVersion.HAWTIO_VERSION | String | `--ignore-loading-error` | Whether to ignore route loading and compilation errors (use this with care!) | false | boolean -| `--java-version` | Java version (21, 25) | 21 | String +| `--java-version` | Java version () | 21 | String | `--kamelets-version` | Apache Camel Kamelets version | RuntimeType.KAMELETS_VERSION | String | `--lazy-bean` | Whether to use lazy bean initialization (can help with complex classloading issues | true | boolean | `--local-kamelet-dir` | Local directory for loading Kamelets (takes precedence) | | String | `--logging` | Can be used to turn on logging to console (logs by default to file in /.camel directory) | false | boolean -| `--logging-level` | Logging level | info | String +| `--logging-level` | Logging level () | info | String | `--main-classname` | The class name of the Camel Main application class | CamelApplication | String | `--management-port` | To use a dedicated port for HTTP management | | int | `--maven-apache-snapshot-enabled` | Whether downloading JARs from ASF Maven Snapshot repository is enabled | true | boolean @@ -49,12 +50,12 @@ camel dependency copy [options] | `--name` | The integration name. Use this when the name should not get derived otherwise. | | String | `--observe` | Enable observability services | false | boolean | `--open-api` | Adds an OpenAPI spec from the given file (json or yaml file) | | String -| `--output` | Output format (gav, maven, jbang) | gav | String +| `--output` | Output format () | gav | String | `--output-directory` | Directory where dependencies should be copied | lib | String | `--package-name` | For Java source files should they have the given package name. By default the package name is computed from the Maven GAV. Use false to turn off and not include package name in the Java source files. | | String | `--package-scan-jars` | Whether to automatic package scan JARs for custom Spring or Quarkus beans making them available for Camel JBang | false | boolean | `--port` | Embeds a local HTTP server on this port | | int -| `--profile` | Profile to export (dev, test, or prod). | | String +| `--profile` | Profile to export (). | | String | `--prop,--property` | Camel application properties, ex. --property=prop1=foo | | String | `--quarkus-artifact-id` | Quarkus Platform Maven artifactId | quarkus-bom | String | `--quarkus-group-id` | Quarkus Platform Maven groupId | io.quarkus.platform | String @@ -65,6 +66,7 @@ camel dependency copy [options] | `--skip-plugins` | Skip plugins during export | false | boolean | `--spring-boot-version` | Spring Boot version | RuntimeType.SPRING_BOOT_VERSION | String | `--verbose` | Verbose output of startup activity (dependency resolution and downloading | false | boolean +| `--yes,-y` | Automatically answer yes to confirmation prompts (e.g. when using --clean-dir) | false | boolean | `-h,--help` | Display the help and sub-commands | | boolean |=== diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-dependency-list.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-dependency-list.adoc index f58794bb7dee7..316a73e36100b 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-dependency-list.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-dependency-list.adoc @@ -26,6 +26,7 @@ camel dependency list [options] | `--dep,--dependency` | Add additional dependencies | | List | `--dir,--directory` | Directory where the project will be exported | . | String | `--download` | Whether to allow automatic downloading JAR dependencies (over the internet) | true | boolean +| `--dry-run` | Preview export without writing files | false | boolean | `--exclude` | Exclude files by name or pattern | | List | `--fresh` | Make sure we use fresh (i.e. non-cached) resources | false | boolean | `--gav` | The Maven group:artifact:version | | String @@ -33,12 +34,12 @@ camel dependency list [options] | `--hawtio` | Whether to include Hawtio web console (only available for exporting to Spring Boot or Quarkus) | false | boolean | `--hawtio-version` | Version of the Hawtio web console | HawtioVersion.HAWTIO_VERSION | String | `--ignore-loading-error` | Whether to ignore route loading and compilation errors (use this with care!) | false | boolean -| `--java-version` | Java version (21, 25) | 21 | String +| `--java-version` | Java version () | 21 | String | `--kamelets-version` | Apache Camel Kamelets version | RuntimeType.KAMELETS_VERSION | String | `--lazy-bean` | Whether to use lazy bean initialization (can help with complex classloading issues | true | boolean | `--local-kamelet-dir` | Local directory for loading Kamelets (takes precedence) | | String | `--logging` | Can be used to turn on logging to console (logs by default to file in /.camel directory) | false | boolean -| `--logging-level` | Logging level | info | String +| `--logging-level` | Logging level () | info | String | `--main-classname` | The class name of the Camel Main application class | CamelApplication | String | `--management-port` | To use a dedicated port for HTTP management | | int | `--maven-apache-snapshot-enabled` | Whether downloading JARs from ASF Maven Snapshot repository is enabled | true | boolean @@ -49,11 +50,11 @@ camel dependency list [options] | `--name` | The integration name. Use this when the name should not get derived otherwise. | | String | `--observe` | Enable observability services | false | boolean | `--open-api` | Adds an OpenAPI spec from the given file (json or yaml file) | | String -| `--output` | Output format (gav, maven, jbang) | gav | String +| `--output` | Output format () | gav | String | `--package-name` | For Java source files should they have the given package name. By default the package name is computed from the Maven GAV. Use false to turn off and not include package name in the Java source files. | | String | `--package-scan-jars` | Whether to automatic package scan JARs for custom Spring or Quarkus beans making them available for Camel JBang | false | boolean | `--port` | Embeds a local HTTP server on this port | | int -| `--profile` | Profile to export (dev, test, or prod). | | String +| `--profile` | Profile to export (). | | String | `--prop,--property` | Camel application properties, ex. --property=prop1=foo | | String | `--quarkus-artifact-id` | Quarkus Platform Maven artifactId | quarkus-bom | String | `--quarkus-group-id` | Quarkus Platform Maven groupId | io.quarkus.platform | String @@ -64,6 +65,7 @@ camel dependency list [options] | `--skip-plugins` | Skip plugins during export | false | boolean | `--spring-boot-version` | Spring Boot version | RuntimeType.SPRING_BOOT_VERSION | String | `--verbose` | Verbose output of startup activity (dependency resolution and downloading | false | boolean +| `--yes,-y` | Automatically answer yes to confirmation prompts (e.g. when using --clean-dir) | false | boolean | `-h,--help` | Display the help and sub-commands | | boolean |=== diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-dependency-update.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-dependency-update.adoc index 210d7a7d66451..11d90ec660241 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-dependency-update.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-dependency-update.adoc @@ -2,7 +2,7 @@ // AUTO-GENERATED by camel-package-maven-plugin - DO NOT EDIT THIS FILE = camel dependency update -Updates dependencies in Maven pom.xml or Java source file (JBang style) +Updates dependencies in Maven pom.xml or Java source files (JBang style) == Usage @@ -27,6 +27,7 @@ camel dependency update [options] | `--dep,--dependency` | Add additional dependencies | | List | `--dir,--directory` | Directory where the project will be exported | . | String | `--download` | Whether to allow automatic downloading JAR dependencies (over the internet) | true | boolean +| `--dry-run` | Preview export without writing files | false | boolean | `--exclude` | Exclude files by name or pattern | | List | `--fresh` | Make sure we use fresh (i.e. non-cached) resources | false | boolean | `--gav` | The Maven group:artifact:version | | String @@ -34,12 +35,12 @@ camel dependency update [options] | `--hawtio` | Whether to include Hawtio web console (only available for exporting to Spring Boot or Quarkus) | false | boolean | `--hawtio-version` | Version of the Hawtio web console | HawtioVersion.HAWTIO_VERSION | String | `--ignore-loading-error` | Whether to ignore route loading and compilation errors (use this with care!) | false | boolean -| `--java-version` | Java version (21, 25) | 21 | String +| `--java-version` | Java version () | 21 | String | `--kamelets-version` | Apache Camel Kamelets version | RuntimeType.KAMELETS_VERSION | String | `--lazy-bean` | Whether to use lazy bean initialization (can help with complex classloading issues | true | boolean | `--local-kamelet-dir` | Local directory for loading Kamelets (takes precedence) | | String | `--logging` | Can be used to turn on logging to console (logs by default to file in /.camel directory) | false | boolean -| `--logging-level` | Logging level | info | String +| `--logging-level` | Logging level () | info | String | `--main-classname` | The class name of the Camel Main application class | CamelApplication | String | `--management-port` | To use a dedicated port for HTTP management | | int | `--maven-apache-snapshot-enabled` | Whether downloading JARs from ASF Maven Snapshot repository is enabled | true | boolean @@ -50,11 +51,11 @@ camel dependency update [options] | `--name` | The integration name. Use this when the name should not get derived otherwise. | | String | `--observe` | Enable observability services | false | boolean | `--open-api` | Adds an OpenAPI spec from the given file (json or yaml file) | | String -| `--output` | Output format (gav, maven, jbang) | gav | String +| `--output` | Output format () | gav | String | `--package-name` | For Java source files should they have the given package name. By default the package name is computed from the Maven GAV. Use false to turn off and not include package name in the Java source files. | | String | `--package-scan-jars` | Whether to automatic package scan JARs for custom Spring or Quarkus beans making them available for Camel JBang | false | boolean | `--port` | Embeds a local HTTP server on this port | | int -| `--profile` | Profile to export (dev, test, or prod). | | String +| `--profile` | Profile to export (). | | String | `--prop,--property` | Camel application properties, ex. --property=prop1=foo | | String | `--quarkus-artifact-id` | Quarkus Platform Maven artifactId | quarkus-bom | String | `--quarkus-group-id` | Quarkus Platform Maven groupId | io.quarkus.platform | String @@ -62,9 +63,11 @@ camel dependency update [options] | `--quiet` | Will be quiet, only print when error occurs | false | boolean | `--repo,--repos` | Additional maven repositories (Use commas to separate multiple repositories) | | String | `--runtime` | Runtime () | | RuntimeType +| `--scan-routes` | Sync dependencies from route definitions. Only manages org.apache.camel dependencies, preserving non-Camel dependencies. Removes unused Camel dependencies. | | boolean | `--skip-plugins` | Skip plugins during export | false | boolean | `--spring-boot-version` | Spring Boot version | RuntimeType.SPRING_BOOT_VERSION | String | `--verbose` | Verbose output of startup activity (dependency resolution and downloading | false | boolean +| `--yes,-y` | Automatically answer yes to confirmation prompts (e.g. when using --clean-dir) | false | boolean | `-h,--help` | Display the help and sub-commands | | boolean |=== diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-dependency.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-dependency.adoc index 63e3f40f6cd91..33ab125c3fa80 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-dependency.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-dependency.adoc @@ -21,7 +21,7 @@ camel dependency [options] | xref:jbang-commands/camel-jbang-dependency-copy.adoc[copy] | Copies all Camel dependencies required to run to a specific directory | xref:jbang-commands/camel-jbang-dependency-list.adoc[list] | Displays all Camel dependencies required to run | xref:jbang-commands/camel-jbang-dependency-runtime.adoc[runtime] | Display Camel runtime and version for given Maven project -| xref:jbang-commands/camel-jbang-dependency-update.adoc[update] | Updates dependencies in Maven pom.xml or Java source file (JBang style) +| xref:jbang-commands/camel-jbang-dependency-update.adoc[update] | Updates dependencies in Maven pom.xml or Java source files (JBang style) |=== diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-explain.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-explain.adoc index 59ce60f22eee5..22aa89bdcba65 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-explain.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-explain.adoc @@ -22,7 +22,7 @@ camel explain [options] | `--api-key` | API key for authentication. Also reads OPENAI_API_KEY or LLM_API_KEY env vars | | String | `--api-type` | API type: 'ollama' or 'openai' (OpenAI-compatible) | ollama | ApiType | `--catalog-context` | Include Camel Catalog descriptions in the prompt | | boolean -| `--format` | Output format: text, markdown | text | String +| `--format` | Output format () | text | String | `--model` | Model to use | DEFAULT_MODEL | String | `--show-prompt` | Show the prompt sent to the LLM | | boolean | `--stream` | Stream the response as it's generated (shows progress) | true | boolean diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-export.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-export.adoc index 46aac43212502..e34b1c0381c6d 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-export.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-export.adoc @@ -26,6 +26,7 @@ camel export [options] | `--dep,--dependency` | Add additional dependencies | | List | `--dir,--directory` | Directory where the project will be exported | . | String | `--download` | Whether to allow automatic downloading JAR dependencies (over the internet) | true | boolean +| `--dry-run` | Preview export without writing files | false | boolean | `--exclude` | Exclude files by name or pattern | | List | `--fresh` | Make sure we use fresh (i.e. non-cached) resources | false | boolean | `--gav` | The Maven group:artifact:version | | String @@ -33,12 +34,12 @@ camel export [options] | `--hawtio` | Whether to include Hawtio web console (only available for exporting to Spring Boot or Quarkus) | false | boolean | `--hawtio-version` | Version of the Hawtio web console | HawtioVersion.HAWTIO_VERSION | String | `--ignore-loading-error` | Whether to ignore route loading and compilation errors (use this with care!) | false | boolean -| `--java-version` | Java version (21, 25) | 21 | String +| `--java-version` | Java version () | 21 | String | `--kamelets-version` | Apache Camel Kamelets version | RuntimeType.KAMELETS_VERSION | String | `--lazy-bean` | Whether to use lazy bean initialization (can help with complex classloading issues | true | boolean | `--local-kamelet-dir` | Local directory for loading Kamelets (takes precedence) | | String | `--logging` | Can be used to turn on logging to console (logs by default to file in /.camel directory) | false | boolean -| `--logging-level` | Logging level | info | String +| `--logging-level` | Logging level () | info | String | `--main-classname` | The class name of the Camel Main application class | CamelApplication | String | `--management-port` | To use a dedicated port for HTTP management | | int | `--maven-apache-snapshot-enabled` | Whether downloading JARs from ASF Maven Snapshot repository is enabled | true | boolean @@ -52,7 +53,7 @@ camel export [options] | `--package-name` | For Java source files should they have the given package name. By default the package name is computed from the Maven GAV. Use false to turn off and not include package name in the Java source files. | | String | `--package-scan-jars` | Whether to automatic package scan JARs for custom Spring or Quarkus beans making them available for Camel JBang | false | boolean | `--port` | Embeds a local HTTP server on this port | | int -| `--profile` | Profile to export (dev, test, or prod). | | String +| `--profile` | Profile to export (). | | String | `--prop,--property` | Camel application properties, ex. --property=prop1=foo | | String | `--quarkus-artifact-id` | Quarkus Platform Maven artifactId | quarkus-bom | String | `--quarkus-group-id` | Quarkus Platform Maven groupId | io.quarkus.platform | String @@ -63,6 +64,7 @@ camel export [options] | `--skip-plugins` | Skip plugins during export | false | boolean | `--spring-boot-version` | Spring Boot version | RuntimeType.SPRING_BOOT_VERSION | String | `--verbose` | Verbose output of startup activity (dependency resolution and downloading | false | boolean +| `--yes,-y` | Automatically answer yes to confirmation prompts (e.g. when using --clean-dir) | false | boolean | `-h,--help` | Display the help and sub-commands | | boolean |=== diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-blocked.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-blocked.adoc index 7ba895d8bd7a4..6efb8d24f96fb 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-blocked.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-blocked.adoc @@ -19,6 +19,7 @@ camel get blocked [options] [cols="2,5,1,2",options="header"] |=== | Option | Description | Default | Type +| `--json` | Output in JSON Format | | boolean | `--sort` | Sort by pid, name or age | pid | String | `--watch` | Execute periodically and showing output fullscreen | | boolean | `-h,--help` | Display the help and sub-commands | | boolean diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-circuit-breaker.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-circuit-breaker.adoc index d7b85a10409f3..a0ad145972734 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-circuit-breaker.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-circuit-breaker.adoc @@ -19,6 +19,7 @@ camel get circuit-breaker [options] [cols="2,5,1,2",options="header"] |=== | Option | Description | Default | Type +| `--json` | Output in JSON Format | | boolean | `--sort` | Sort by pid, name or age | pid | String | `--watch` | Execute periodically and showing output fullscreen | | boolean | `-h,--help` | Display the help and sub-commands | | boolean diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-consumer.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-consumer.adoc index 5bd1777b7c007..c2f2d01220e6e 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-consumer.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-consumer.adoc @@ -20,6 +20,7 @@ camel get consumer [options] |=== | Option | Description | Default | Type | `--filter` | Filter consumers by URI | | String +| `--json` | Output in JSON Format | | boolean | `--limit` | Filter consumers by limiting to the given number of rows | | int | `--scheduled` | Filter consumer to only show scheduled based consumers | | boolean | `--short-uri` | List endpoint URI without query parameters (short) | | boolean diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-context.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-context.adoc index 2ffa629c5ae66..14f755b959395 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-context.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-context.adoc @@ -19,6 +19,7 @@ camel get context [options] [cols="2,5,1,2",options="header"] |=== | Option | Description | Default | Type +| `--json` | Output in JSON Format | | boolean | `--remote` | Break down counters into remote/total pairs | | boolean | `--sort` | Sort by pid, name or age | pid | String | `--watch` | Execute periodically and showing output fullscreen | | boolean diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-count.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-count.adoc index c5d0e45c6b7d1..f3dee33650ce3 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-count.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-count.adoc @@ -20,6 +20,7 @@ camel get count [options] |=== | Option | Description | Default | Type | `--fail` | Get the failed exchanges from a running integration | | boolean +| `--json` | Output in JSON Format | | boolean | `--sort` | Sort by pid, name or age | pid | String | `--total` | Get the total exchanges from a running integration | | boolean | `--watch` | Execute periodically and showing output fullscreen | | boolean diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-endpoint.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-endpoint.adoc index 931dd6152ea70..f8d3f58e16000 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-endpoint.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-endpoint.adoc @@ -22,6 +22,7 @@ camel get endpoint [options] | `--filter` | Filter endpoints by URI | | String | `--filter-direction` | Filter by direction (in or out) | | String | `--filter-total` | Filter endpoints that must be higher than the given usage | | long +| `--json` | Output in JSON Format | | boolean | `--limit` | Filter endpoints by limiting to the given number of rows | | int | `--short-uri` | List endpoint URI without query parameters (short) | | boolean | `--sort` | Sort by pid, name, age or total | pid | String diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-event.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-event.adoc index 36cda91ee973d..11138e12692f0 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-event.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-event.adoc @@ -20,6 +20,7 @@ camel get event [options] |=== | Option | Description | Default | Type | `--filter` | Filter event by event type: context, route, or exchange | | String +| `--json` | Output in JSON Format | | boolean | `--sort` | Sort by pid, name or age | pid | String | `--watch` | Execute periodically and showing output fullscreen | | boolean | `-h,--help` | Display the help and sub-commands | | boolean diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-groovy.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-groovy.adoc index 93506034994a5..a0e298ca9454f 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-groovy.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-groovy.adoc @@ -19,6 +19,7 @@ camel get groovy [options] [cols="2,5,1,2",options="header"] |=== | Option | Description | Default | Type +| `--json` | Output in JSON Format | | boolean | `--sort` | Sort by pid or name | pid | String | `--watch` | Execute periodically and showing output fullscreen | | boolean | `-h,--help` | Display the help and sub-commands | | boolean diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-group.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-group.adoc index 59e4dd8e6d703..9369335e34355 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-group.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-group.adoc @@ -21,6 +21,7 @@ camel get group [options] | Option | Description | Default | Type | `--filter` | Filter groups by name | | String | `--filter-mean` | Filter groups that must be slower than the given time (ms) | | long +| `--json` | Output in JSON Format | | boolean | `--limit` | Filter groups by limiting to the given number of rows | | int | `--running` | Only include running groups | | boolean | `--sort` | Sort by pid, name, age or group | pid | String diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-health.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-health.adoc index d988ee64a88ff..cd923c42607a2 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-health.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-health.adoc @@ -21,6 +21,7 @@ camel get health [options] | Option | Description | Default | Type | `--depth` | Max depth of stack-trace | 1 | int | `--down` | Show only checks which are DOWN | | boolean +| `--json` | Output in JSON Format | | boolean | `--level` | Level of details: full, or default | default | String | `--live` | Show only liveness checks | | boolean | `--ready` | Show only readiness checks | | boolean diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-inflight.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-inflight.adoc index e64962cb6218b..a3cd60c3afec5 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-inflight.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-inflight.adoc @@ -19,6 +19,7 @@ camel get inflight [options] [cols="2,5,1,2",options="header"] |=== | Option | Description | Default | Type +| `--json` | Output in JSON Format | | boolean | `--sort` | Sort by pid, name or age | pid | String | `--watch` | Execute periodically and showing output fullscreen | | boolean | `-h,--help` | Display the help and sub-commands | | boolean diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-internal-task.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-internal-task.adoc index 6d518fc9df4f8..ab3408e0ad4a7 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-internal-task.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-internal-task.adoc @@ -19,6 +19,7 @@ camel get internal-task [options] [cols="2,5,1,2",options="header"] |=== | Option | Description | Default | Type +| `--json` | Output in JSON Format | | boolean | `--sort` | Sort by pid, name or age | pid | String | `--watch` | Execute periodically and showing output fullscreen | | boolean | `-h,--help` | Display the help and sub-commands | | boolean diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-kafka.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-kafka.adoc index e710dd7b0110d..6bc8fd265a43d 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-kafka.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-kafka.adoc @@ -20,6 +20,7 @@ camel get kafka [options] |=== | Option | Description | Default | Type | `--committed` | Show committed offset (slower due to sync call to Kafka brokers) | | boolean +| `--json` | Output in JSON Format | | boolean | `--short-uri` | List endpoint URI without query parameters (short) | | boolean | `--sort` | Sort by pid, name or age | pid | String | `--watch` | Execute periodically and showing output fullscreen | | boolean diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-metric.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-metric.adoc index ae466dc1a5094..05cdff9b8ce75 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-metric.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-metric.adoc @@ -22,6 +22,7 @@ camel get metric [options] | `--all` | Whether to show all metrics (also unused with counter being 0) | false | boolean | `--custom` | Only show custom metrics | false | boolean | `--filter` | Filter metric by type, name or tags | | String +| `--json` | Output in JSON Format | | boolean | `--sort` | Sort by pid, name or age | pid | String | `--tags` | Show metric tags | false | boolean | `--watch` | Execute periodically and showing output fullscreen | | boolean diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-platform-http.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-platform-http.adoc index f1d426900de35..cd7e9e79d8d17 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-platform-http.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-platform-http.adoc @@ -20,6 +20,7 @@ camel get platform-http [options] |=== | Option | Description | Default | Type | `--all` | Include management endpoints | | boolean +| `--json` | Output in JSON Format | | boolean | `--sort` | Sort by pid, name or age | pid | String | `--watch` | Execute periodically and showing output fullscreen | | boolean | `-h,--help` | Display the help and sub-commands | | boolean diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-processor.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-processor.adoc index 89c6603462ef4..592d461c77634 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-processor.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-processor.adoc @@ -23,6 +23,7 @@ camel get processor [options] | `--filter` | Filter processors by id | | String | `--filter-mean` | Filter processors that must be slower than the given time (ms) | | long | `--group` | Filter processors by group | | String +| `--json` | Output in JSON Format | | boolean | `--limit` | Filter routes by limiting to the given number of rows | | int | `--note` | Include note in the ID column (if available) | | boolean | `--remote` | Break down counters into remote/total pairs | | boolean diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-producer.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-producer.adoc index 0b0aa1f290ab9..c1d06aee1b016 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-producer.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-producer.adoc @@ -20,6 +20,7 @@ camel get producer [options] |=== | Option | Description | Default | Type | `--filter` | Filter producers by URI | | String +| `--json` | Output in JSON Format | | boolean | `--limit` | Filter producers by limiting to the given number of rows | | int | `--short-uri` | List endpoint URI without query parameters (short) | | boolean | `--sort` | Sort by pid, name or age | pid | String diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-properties.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-properties.adoc index 0ce4298f3a4ce..75270705b6630 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-properties.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-properties.adoc @@ -20,6 +20,7 @@ camel get properties [options] |=== | Option | Description | Default | Type | `--internal` | Whether to include internal configuration | | boolean +| `--json` | Output in JSON Format | | boolean | `--mask` | Whether to mask configuration values to avoid printing sensitive information such as password or access keys | true | boolean | `--sort` | Sort by pid, name or key | pid | String | `--startup` | List only startup configuration | | boolean diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-rest.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-rest.adoc index b88070d684c96..a5a6f3b0c9b7a 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-rest.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-rest.adoc @@ -19,6 +19,7 @@ camel get rest [options] [cols="2,5,1,2",options="header"] |=== | Option | Description | Default | Type +| `--json` | Output in JSON Format | | boolean | `--sort` | Sort by pid, name or age | pid | String | `--verbose` | Show more details | | boolean | `--watch` | Execute periodically and showing output fullscreen | | boolean diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-route.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-route.adoc index f1653bcc8c327..5b28bc5b27d1f 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-route.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-route.adoc @@ -24,6 +24,7 @@ camel get route [options] | `--filter` | Filter routes by id, or url | | String | `--filter-mean` | Filter routes that must be slower than the given time (ms) | | long | `--group` | Filter routes by group | | String +| `--json` | Output in JSON Format | | boolean | `--limit` | Filter routes by limiting to the given number of rows | | int | `--note` | Include note in the ID column (if available) | | boolean | `--running` | Only include running routes | | boolean diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-service.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-service.adoc index 18db29fbe58a3..1293a2f1d5f16 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-service.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-service.adoc @@ -19,6 +19,7 @@ camel get service [options] [cols="2,5,1,2",options="header"] |=== | Option | Description | Default | Type +| `--json` | Output in JSON Format | | boolean | `--metadata` | Show service metadata (only available for some services) | | boolean | `--short-uri` | List endpoint URI without query parameters (short) | | boolean | `--sort` | Sort by pid, name or age | pid | String diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-transformer.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-transformer.adoc index 3c4611729ccba..228864e1c6367 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-transformer.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-transformer.adoc @@ -19,6 +19,7 @@ camel get transformer [options] [cols="2,5,1,2",options="header"] |=== | Option | Description | Default | Type +| `--json` | Output in JSON Format | | boolean | `--sort` | Sort by pid, name, age or total | pid | String | `-h,--help` | Display the help and sub-commands | | boolean |=== diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-variable.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-variable.adoc index b3abe7a630fb3..d02e7aa85091c 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-variable.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-variable.adoc @@ -19,6 +19,7 @@ camel get variable [options] [cols="2,5,1,2",options="header"] |=== | Option | Description | Default | Type +| `--json` | Output in JSON Format | | boolean | `--sort` | Sort by pid, name or key | pid | String | `--watch` | Execute periodically and showing output fullscreen | | boolean | `-h,--help` | Display the help and sub-commands | | boolean diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-vault.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-vault.adoc index f995cb1448643..ea9b2baa6136b 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-vault.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-get-vault.adoc @@ -19,6 +19,7 @@ camel get vault [options] [cols="2,5,1,2",options="header"] |=== | Option | Description | Default | Type +| `--json` | Output in JSON Format | | boolean | `--sort` | Sort by pid, name | pid | String | `--watch` | Execute periodically and showing output fullscreen | | boolean | `-h,--help` | Display the help and sub-commands | | boolean diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-harden.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-harden.adoc index f1d0e9f1b7ca9..20214fafd62a7 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-harden.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-harden.adoc @@ -22,7 +22,7 @@ camel harden [options] | `--api-key` | API key for authentication. Also reads OPENAI_API_KEY or LLM_API_KEY env vars | | String | `--api-type` | API type: 'ollama' or 'openai' (OpenAI-compatible) | ollama | ApiType | `--catalog-context` | Include Camel Catalog descriptions in the prompt | | boolean -| `--format` | Output format: text, markdown | text | String +| `--format` | Output format () | text | String | `--model` | Model to use | DEFAULT_MODEL | String | `--show-prompt` | Show the prompt sent to the LLM | | boolean | `--stream` | Stream the response as it's generated (shows progress) | true | boolean diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-init.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-init.adoc index db8aee77b1696..d6f92e69357c3 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-init.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-init.adoc @@ -23,6 +23,7 @@ camel init [options] | `--dir,--directory` | Directory relative path where the new Camel integration will be saved | . | String | `--from-kamelet` | To be used when extending an existing Kamelet | | String | `--kamelets-version` | Apache Camel Kamelets version | | String +| `--list` | List available templates | | boolean | `--pipe` | When creating a yaml file should it be created as a Pipe CR | | boolean | `--repo,--repos` | Additional maven repositories (Use commas to separate multiple repositories) | | String | `-h,--help` | Display the help and sub-commands | | boolean diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-run.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-run.adoc index 51f62b4859820..0750b99566c80 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-run.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-run.adoc @@ -42,7 +42,7 @@ camel run [options] | `--local-kamelet-dir` | Local directory (or github link) for loading Kamelets (takes precedence). Multiple directories can be specified separated by comma. | | String | `--logging` | Can be used to turn off logging | true | boolean | `--logging-category` | Used for individual logging levels (ex: org.apache.kafka=DEBUG) | | List -| `--logging-color` | Use colored logging | true | boolean +| `--logging-color` | Use colored logging. Default is auto-detected based on NO_COLOR, CI, FORCE_COLOR environment variables and terminal capabilities | | boolean | `--logging-config-path` | Path to file with custom logging configuration | | String | `--logging-json` | Use JSON logging (ECS Layout) | false | boolean | `--logging-level` | Logging level () | info | String @@ -61,7 +61,7 @@ camel run [options] | `--open-api` | Adds an OpenAPI spec from the given file (json or yaml file) | | String | `--package-scan-jars` | Whether to automatic package scan JARs for custom Spring or Quarkus beans making them available for Camel JBang | false | boolean | `--port` | Embeds a local HTTP server on this port (port 8080 by default; use 0 to dynamic assign a free random port number) | | int -| `--profile` | Profile to run (dev, test, or prod). | dev | String +| `--profile` | Profile to run (). | dev | String | `--prompt` | Allow user to type in required parameters in prompt if not present in application | false | boolean | `--prop,--property` | Additional properties (override existing) | | String | `--properties` | comma separated list of properties file (ex. /path/to/file.properties,/path/to/other.properties | | String @@ -71,7 +71,7 @@ camel run [options] | `--reload,--dev` | Enables dev mode (live reload when source files are updated and saved) | | boolean | `--repo,--repos` | Additional maven repositories (Use commas to separate multiple repositories) | | String | `--runtime` | Runtime () | camel-main | RuntimeType -| `--skip-plugins` | Skip plugins during export | false | boolean +| `--skip-plugins` | Skip resolving plugin dependencies | false | boolean | `--source-dir` | Source directory for dynamically loading Camel file(s) to run. When using this, then files cannot be specified at the same time. | | String | `--spring-boot-version` | Spring Boot version | RuntimeType.SPRING_BOOT_VERSION | String | `--stub` | Stubs all the matching endpoint uri with the given component name or pattern. Multiple names can be separated by comma. (all = stub all endpoints). | | String diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-sbom.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-sbom.adoc index 4d16b265fb4c0..68f7e5176d07a 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-sbom.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-sbom.adoc @@ -27,6 +27,7 @@ camel sbom [options] | `--dep,--dependency` | Add additional dependencies | | List | `--dir,--directory` | Directory where the project will be exported | . | String | `--download` | Whether to allow automatic downloading JAR dependencies (over the internet) | true | boolean +| `--dry-run` | Preview export without writing files | false | boolean | `--exclude` | Exclude files by name or pattern | | List | `--fresh` | Make sure we use fresh (i.e. non-cached) resources | false | boolean | `--gav` | The Maven group:artifact:version | | String @@ -34,12 +35,12 @@ camel sbom [options] | `--hawtio` | Whether to include Hawtio web console (only available for exporting to Spring Boot or Quarkus) | false | boolean | `--hawtio-version` | Version of the Hawtio web console | HawtioVersion.HAWTIO_VERSION | String | `--ignore-loading-error` | Whether to ignore route loading and compilation errors (use this with care!) | false | boolean -| `--java-version` | Java version (21, 25) | 21 | String +| `--java-version` | Java version () | 21 | String | `--kamelets-version` | Apache Camel Kamelets version | RuntimeType.KAMELETS_VERSION | String | `--lazy-bean` | Whether to use lazy bean initialization (can help with complex classloading issues | true | boolean | `--local-kamelet-dir` | Local directory for loading Kamelets (takes precedence) | | String | `--logging` | Can be used to turn on logging to console (logs by default to file in /.camel directory) | false | boolean -| `--logging-level` | Logging level | info | String +| `--logging-level` | Logging level () | info | String | `--main-classname` | The class name of the Camel Main application class | CamelApplication | String | `--management-port` | To use a dedicated port for HTTP management | | int | `--maven-apache-snapshot-enabled` | Whether downloading JARs from ASF Maven Snapshot repository is enabled | true | boolean @@ -55,7 +56,7 @@ camel sbom [options] | `--package-name` | For Java source files should they have the given package name. By default the package name is computed from the Maven GAV. Use false to turn off and not include package name in the Java source files. | | String | `--package-scan-jars` | Whether to automatic package scan JARs for custom Spring or Quarkus beans making them available for Camel JBang | false | boolean | `--port` | Embeds a local HTTP server on this port | | int -| `--profile` | Profile to export (dev, test, or prod). | | String +| `--profile` | Profile to export (). | | String | `--prop,--property` | Camel application properties, ex. --property=prop1=foo | | String | `--quarkus-artifact-id` | Quarkus Platform Maven artifactId | quarkus-bom | String | `--quarkus-group-id` | Quarkus Platform Maven groupId | io.quarkus.platform | String @@ -69,6 +70,7 @@ camel sbom [options] | `--spdx-plugin-version` | The SPDX Maven Plugin version | 0.7.4 | String | `--spring-boot-version` | Spring Boot version | RuntimeType.SPRING_BOOT_VERSION | String | `--verbose` | Verbose output of startup activity (dependency resolution and downloading | false | boolean +| `--yes,-y` | Automatically answer yes to confirmation prompts (e.g. when using --clean-dir) | false | boolean | `-h,--help` | Display the help and sub-commands | | boolean |=== diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-top-context.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-top-context.adoc index 25b43d2d860cd..76244eb20f224 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-top-context.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-top-context.adoc @@ -19,6 +19,7 @@ camel top context [options] [cols="2,5,1,2",options="header"] |=== | Option | Description | Default | Type +| `--json` | Output in JSON Format | | boolean | `--sort` | Sort by pid, name, mem, or age | mem | String | `--watch` | Execute periodically and showing output fullscreen | | boolean | `-h,--help` | Display the help and sub-commands | | boolean diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-top-group.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-top-group.adoc index db86636f41d92..c1fb2b1ba961a 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-top-group.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-top-group.adoc @@ -21,6 +21,7 @@ camel top group [options] | Option | Description | Default | Type | `--filter` | Filter groups by name | | String | `--filter-mean` | Filter groups that must be slower than the given time (ms) | | long +| `--json` | Output in JSON Format | | boolean | `--limit` | Filter groups by limiting to the given number of rows | | int | `--running` | Only include running groups | | boolean | `--sort` | Sort by pid, name, age or group | pid | String diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-top-processor.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-top-processor.adoc index 9c9e19df5940e..f876fa1a56ad8 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-top-processor.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-top-processor.adoc @@ -23,6 +23,7 @@ camel top processor [options] | `--filter` | Filter processors by id | | String | `--filter-mean` | Filter processors that must be slower than the given time (ms) | | long | `--group` | Filter processors by group | | String +| `--json` | Output in JSON Format | | boolean | `--limit` | Filter routes by limiting to the given number of rows | | int | `--note` | Include note in the ID column (if available) | | boolean | `--remote` | Break down counters into remote/total pairs | | boolean diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-top-route.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-top-route.adoc index 37ccb11b67a56..a7d4047366004 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-top-route.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-top-route.adoc @@ -24,6 +24,7 @@ camel top route [options] | `--filter` | Filter routes by id, or url | | String | `--filter-mean` | Filter routes that must be slower than the given time (ms) | | long | `--group` | Filter routes by group | | String +| `--json` | Output in JSON Format | | boolean | `--limit` | Filter routes by limiting to the given number of rows | | int | `--note` | Include note in the ID column (if available) | | boolean | `--running` | Only include running routes | | boolean diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-transform-dataweave.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-transform-dataweave.adoc new file mode 100644 index 0000000000000..27ce882fc4026 --- /dev/null +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-transform-dataweave.adoc @@ -0,0 +1,29 @@ + +// AUTO-GENERATED by camel-package-maven-plugin - DO NOT EDIT THIS FILE += camel transform dataweave + +Convert DataWeave scripts to DataSonnet format + + +== Usage + +[source,bash] +---- +camel transform dataweave [options] +---- + + + +== Options + +[cols="2,5,1,2",options="header"] +|=== +| Option | Description | Default | Type +| `--expression,-e` | Inline DataWeave expression to convert | | String +| `--include-comments` | Include conversion notes as comments in output | true | boolean +| `--input,-i` | Input .dwl file or directory containing .dwl files | | String +| `--output,-o` | Output .ds file or directory (defaults to stdout) | | String +| `-h,--help` | Display the help and sub-commands | | boolean +|=== + + diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-transform-route.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-transform-route.adoc index 1d30a51fc6665..b452d0e732154 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-transform-route.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-transform-route.adoc @@ -19,7 +19,7 @@ camel transform route [options] [cols="2,5,1,2",options="header"] |=== | Option | Description | Default | Type -| `--format` | Output format (xml or yaml), if only yaml files are provided, the format defaults to xml and vice versa | | String +| `--format` | Output format (), if only yaml files are provided, the format defaults to xml and vice versa | | String | `--ignore-loading-error` | Whether to ignore route loading and compilation errors (use this with care!) | | boolean | `--output` | File or directory to store transformed files. If none provide then output is printed to console. Use clipboard as name to copy content into clipboard. | | String | `--resolve-placeholders` | Whether to resolve property placeholders in the dumped output | false | boolean diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-transform.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-transform.adoc index 782e71c87cef2..79c46f128eead 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-transform.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-transform.adoc @@ -18,6 +18,7 @@ camel transform [options] [cols="2,5",options="header"] |=== | Subcommand | Description +| xref:jbang-commands/camel-jbang-transform-dataweave.adoc[dataweave] | Convert DataWeave scripts to DataSonnet format | xref:jbang-commands/camel-jbang-transform-message.adoc[message] | Transform message from one format to another via an existing running Camel integration | xref:jbang-commands/camel-jbang-transform-route.adoc[route] | Transform Camel routes to XML or YAML format |=== diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-wrapper.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-wrapper.adoc new file mode 100644 index 0000000000000..85299e1738df0 --- /dev/null +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-wrapper.adoc @@ -0,0 +1,28 @@ + +// AUTO-GENERATED by camel-package-maven-plugin - DO NOT EDIT THIS FILE += camel wrapper + +Install Camel wrapper scripts for version pinning + + +== Usage + +[source,bash] +---- +camel wrapper [options] +---- + + + +== Options + +[cols="2,5,1,2",options="header"] +|=== +| Option | Description | Default | Type +| `--camel-version` | Camel version to pin (defaults to current version) | | String +| `--dir,--directory` | Directory where wrapper files will be created | . | String +| `--repo-url` | Maven repository URL for downloading the launcher | DEFAULT_REPO_URL | String +| `-h,--help` | Display the help and sub-commands | | boolean +|=== + + diff --git a/dsl/camel-jbang/camel-jbang-core/src/generated/resources/META-INF/camel-jbang-commands-metadata.json b/dsl/camel-jbang/camel-jbang-core/src/generated/resources/META-INF/camel-jbang-commands-metadata.json index 98bf97804a909..cf87c2bacc21a 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/generated/resources/META-INF/camel-jbang-commands-metadata.json +++ b/dsl/camel-jbang/camel-jbang-core/src/generated/resources/META-INF/camel-jbang-commands-metadata.json @@ -1,36 +1,37 @@ { "commands": [ - { "name": "bind", "fullName": "bind", "description": "Bind source and sink Kamelets as a new Camel integration", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.bind.Bind", "options": [ { "names": "--error-handler", "description": "Add error handler (none|log|sink:). Sink endpoints are expected in the format [[apigroup\/]version:]kind:[namespace\/]name, plain Camel URIs or Kamelet name.", "javaType": "java.lang.String", "type": "string" }, { "names": "--output", "description": "Output format generated by this command (supports: file, yaml or json).", "defaultValue": "file", "javaType": "java.lang.String", "type": "string" }, { "names": "--property", "description": "Adds a pipe property in the form of [source|sink|error-handler|step-].= where is the step number starting from 1", "javaType": "java.lang.String", "type": "string" }, { "names": "--sink", "description": "Sink (to) such as a Kamelet or Camel endpoint uri", "javaType": "java.lang.String", "type": "string", "required": true }, { "names": "--source", "description": "Source (from) such as a Kamelet or Camel endpoint uri", "javaType": "java.lang.String", "type": "string", "required": true }, { "names": "--step", "description": "Optional steps such as a Kamelet or Camel endpoint uri", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, + { "name": "bind", "fullName": "bind", "description": "DEPRECATED: Bind source and sink Kamelets as a new Camel integration", "deprecated": true, "sourceClass": "org.apache.camel.dsl.jbang.core.commands.bind.Bind", "options": [ { "names": "--error-handler", "description": "Add error handler (none|log|sink:). Sink endpoints are expected in the format [[apigroup\/]version:]kind:[namespace\/]name, plain Camel URIs or Kamelet name.", "javaType": "java.lang.String", "type": "string" }, { "names": "--output", "description": "Output format generated by this command (supports: ).", "defaultValue": "file", "javaType": "java.lang.String", "type": "string" }, { "names": "--property", "description": "Adds a pipe property in the form of [source|sink|error-handler|step-].= where is the step number starting from 1", "javaType": "java.lang.String", "type": "string" }, { "names": "--sink", "description": "Sink (to) such as a Kamelet or Camel endpoint uri", "javaType": "java.lang.String", "type": "string", "required": true }, { "names": "--source", "description": "Source (from) such as a Kamelet or Camel endpoint uri", "javaType": "java.lang.String", "type": "string", "required": true }, { "names": "--step", "description": "Optional steps such as a Kamelet or Camel endpoint uri", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "catalog", "fullName": "catalog", "description": "List artifacts from Camel Catalog", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.catalog.CatalogCommand", "options": [ { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ], "subcommands": [ { "name": "component", "fullName": "catalog component", "description": "List components from the Camel Catalog", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.catalog.CatalogComponent", "options": [ { "names": "--camel-version", "description": "To use a different Camel version than the default version", "javaType": "java.lang.String", "type": "string" }, { "names": "--display-gav", "description": "Display Maven GAV instead of name", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--download", "description": "Whether to allow automatic downloading JAR dependencies (over the internet)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--filter", "description": "Filter by name or description", "javaType": "java.lang.String", "type": "string" }, { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--quarkus-group-id", "description": "Quarkus Platform Maven groupId", "defaultValue": "io.quarkus.platform", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-version", "description": "Quarkus Platform version", "defaultValue": "RuntimeType.QUARKUS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--repo,--repos", "description": "Additional maven repositories for download on-demand (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--runtime", "description": "Runtime ()", "javaType": "org.apache.camel.dsl.jbang.core.common.RuntimeType", "type": "object" }, { "names": "--since-after", "description": "Filter by version more recent (inclusive)", "javaType": "java.lang.String", "type": "string" }, { "names": "--since-before", "description": "Filter by version older (inclusive)", "javaType": "java.lang.String", "type": "string" }, { "names": "--sort", "description": "Sort by name, support-level, or description", "defaultValue": "name", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "dataformat", "fullName": "catalog dataformat", "description": "List data formats from the Camel Catalog", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.catalog.CatalogDataFormat", "options": [ { "names": "--camel-version", "description": "To use a different Camel version than the default version", "javaType": "java.lang.String", "type": "string" }, { "names": "--display-gav", "description": "Display Maven GAV instead of name", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--download", "description": "Whether to allow automatic downloading JAR dependencies (over the internet)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--filter", "description": "Filter by name or description", "javaType": "java.lang.String", "type": "string" }, { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--quarkus-group-id", "description": "Quarkus Platform Maven groupId", "defaultValue": "io.quarkus.platform", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-version", "description": "Quarkus Platform version", "defaultValue": "RuntimeType.QUARKUS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--repo,--repos", "description": "Additional maven repositories for download on-demand (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--runtime", "description": "Runtime ()", "javaType": "org.apache.camel.dsl.jbang.core.common.RuntimeType", "type": "object" }, { "names": "--since-after", "description": "Filter by version more recent (inclusive)", "javaType": "java.lang.String", "type": "string" }, { "names": "--since-before", "description": "Filter by version older (inclusive)", "javaType": "java.lang.String", "type": "string" }, { "names": "--sort", "description": "Sort by name, support-level, or description", "defaultValue": "name", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "dev-console", "fullName": "catalog dev-console", "description": "List dev-consoles from the Camel Catalog", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.catalog.CatalogDevConsole", "options": [ { "names": "--camel-version", "description": "To use a different Camel version than the default version", "javaType": "java.lang.String", "type": "string" }, { "names": "--display-gav", "description": "Display Maven GAV instead of name", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--download", "description": "Whether to allow automatic downloading JAR dependencies (over the internet)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--filter", "description": "Filter by name or description", "javaType": "java.lang.String", "type": "string" }, { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--quarkus-group-id", "description": "Quarkus Platform Maven groupId", "defaultValue": "io.quarkus.platform", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-version", "description": "Quarkus Platform version", "defaultValue": "RuntimeType.QUARKUS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--repo,--repos", "description": "Additional maven repositories for download on-demand (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--runtime", "description": "Runtime ()", "javaType": "org.apache.camel.dsl.jbang.core.common.RuntimeType", "type": "object" }, { "names": "--since-after", "description": "Filter by version more recent (inclusive)", "javaType": "java.lang.String", "type": "string" }, { "names": "--since-before", "description": "Filter by version older (inclusive)", "javaType": "java.lang.String", "type": "string" }, { "names": "--sort", "description": "Sort by name, support-level, or description", "defaultValue": "name", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "kamelet", "fullName": "catalog kamelet", "description": "List Kamelets from the Kamelet Catalog", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.catalog.CatalogKamelet", "options": [ { "names": "--filter", "description": "Filter by name or description", "javaType": "java.lang.String", "type": "string" }, { "names": "--kamelets-version", "description": "Apache Camel Kamelets version", "defaultValue": "RuntimeType.KAMELETS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--sort", "description": "Sort by name, type, support-level, or description", "defaultValue": "name", "javaType": "java.lang.String", "type": "string" }, { "names": "--type,--filter-type", "description": "Filter by type: source, sink, or action", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "language", "fullName": "catalog language", "description": "List expression languages from the Camel Catalog", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.catalog.CatalogLanguage", "options": [ { "names": "--camel-version", "description": "To use a different Camel version than the default version", "javaType": "java.lang.String", "type": "string" }, { "names": "--display-gav", "description": "Display Maven GAV instead of name", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--download", "description": "Whether to allow automatic downloading JAR dependencies (over the internet)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--filter", "description": "Filter by name or description", "javaType": "java.lang.String", "type": "string" }, { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--quarkus-group-id", "description": "Quarkus Platform Maven groupId", "defaultValue": "io.quarkus.platform", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-version", "description": "Quarkus Platform version", "defaultValue": "RuntimeType.QUARKUS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--repo,--repos", "description": "Additional maven repositories for download on-demand (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--runtime", "description": "Runtime ()", "javaType": "org.apache.camel.dsl.jbang.core.common.RuntimeType", "type": "object" }, { "names": "--since-after", "description": "Filter by version more recent (inclusive)", "javaType": "java.lang.String", "type": "string" }, { "names": "--since-before", "description": "Filter by version older (inclusive)", "javaType": "java.lang.String", "type": "string" }, { "names": "--sort", "description": "Sort by name, support-level, or description", "defaultValue": "name", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "other", "fullName": "catalog other", "description": "List miscellaneous components from the Camel Catalog", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.catalog.CatalogOther", "options": [ { "names": "--camel-version", "description": "To use a different Camel version than the default version", "javaType": "java.lang.String", "type": "string" }, { "names": "--display-gav", "description": "Display Maven GAV instead of name", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--download", "description": "Whether to allow automatic downloading JAR dependencies (over the internet)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--filter", "description": "Filter by name or description", "javaType": "java.lang.String", "type": "string" }, { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--quarkus-group-id", "description": "Quarkus Platform Maven groupId", "defaultValue": "io.quarkus.platform", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-version", "description": "Quarkus Platform version", "defaultValue": "RuntimeType.QUARKUS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--repo,--repos", "description": "Additional maven repositories for download on-demand (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--runtime", "description": "Runtime ()", "javaType": "org.apache.camel.dsl.jbang.core.common.RuntimeType", "type": "object" }, { "names": "--since-after", "description": "Filter by version more recent (inclusive)", "javaType": "java.lang.String", "type": "string" }, { "names": "--since-before", "description": "Filter by version older (inclusive)", "javaType": "java.lang.String", "type": "string" }, { "names": "--sort", "description": "Sort by name, support-level, or description", "defaultValue": "name", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "transformer", "fullName": "catalog transformer", "description": "List data type transformers from the Camel Catalog", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.catalog.CatalogTransformer", "options": [ { "names": "--camel-version", "description": "To use a different Camel version than the default version", "javaType": "java.lang.String", "type": "string" }, { "names": "--display-gav", "description": "Display Maven GAV instead of name", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--download", "description": "Whether to allow automatic downloading JAR dependencies (over the internet)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--filter", "description": "Filter by name or description", "javaType": "java.lang.String", "type": "string" }, { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--quarkus-group-id", "description": "Quarkus Platform Maven groupId", "defaultValue": "io.quarkus.platform", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-version", "description": "Quarkus Platform version", "defaultValue": "RuntimeType.QUARKUS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--repo,--repos", "description": "Additional maven repositories for download on-demand (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--runtime", "description": "Runtime ()", "javaType": "org.apache.camel.dsl.jbang.core.common.RuntimeType", "type": "object" }, { "names": "--since-after", "description": "Filter by version more recent (inclusive)", "javaType": "java.lang.String", "type": "string" }, { "names": "--since-before", "description": "Filter by version older (inclusive)", "javaType": "java.lang.String", "type": "string" }, { "names": "--sort", "description": "Sort by name, support-level, or description", "defaultValue": "name", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] } ] }, - { "name": "cmd", "fullName": "cmd", "description": "Performs commands in the running Camel integrations, such as start\/stop route, or change logging levels.", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelAction", "options": [ { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ], "subcommands": [ { "name": "browse", "fullName": "cmd browse", "description": "Browse pending messages on endpoints", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelBrowseAction", "options": [ { "names": "--body-max-chars", "description": "Maximum size of the message body to include in the dump", "javaType": "int", "type": "integer" }, { "names": "--dump", "description": "Whether to include message dumps", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--endpoint", "description": "Endpoint to browse messages from (can be uri, pattern, or refer to a route id)", "javaType": "java.lang.String", "type": "string" }, { "names": "--fresh-size", "description": "Whether to calculate fresh queue size information (performance overhead)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--limit", "description": "Limits the number of messages to dump per endpoint", "defaultValue": "100", "javaType": "int", "type": "integer" }, { "names": "--logging-color", "description": "Use colored logging", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--mask", "description": "Whether to mask endpoint URIs to avoid printing sensitive information such as password or access keys", "javaType": "boolean", "type": "boolean" }, { "names": "--only-body", "description": "Show only message body in browsed messages", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--pretty", "description": "Pretty print message body when using JSon or XML format", "javaType": "boolean", "type": "boolean" }, { "names": "--short-uri", "description": "List endpoint URI without query parameters (short)", "javaType": "boolean", "type": "boolean" }, { "names": "--show-body", "description": "Show message body in browsed messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--show-headers", "description": "Show message headers in browsed messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by uri, or size", "defaultValue": "uri", "javaType": "java.lang.String", "type": "string" }, { "names": "--tail", "description": "The number of messages from the end (latest) to dump", "javaType": "int", "type": "integer" }, { "names": "--wide-uri", "description": "List endpoint URI in full details", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "disable-processor", "fullName": "cmd disable-processor", "description": "Disable Camel processor", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelProcessorDisableAction", "options": [ { "names": "--id", "description": "Processor ids (multiple ids can be separated by comma)", "defaultValue": "*", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "enable-processor", "fullName": "cmd enable-processor", "description": "Enable Camel processor", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelProcessorEnableAction", "options": [ { "names": "--id", "description": "Processor ids (multiple ids can be separated by comma)", "defaultValue": "*", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "gc", "fullName": "cmd gc", "description": "Trigger Java Memory Garbage Collector", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelGCAction", "options": [ { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "load", "fullName": "cmd load", "description": "Loads new source files into an existing Camel", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelLoadAction", "options": [ { "names": "--restart", "description": "To force restart all routes after loading source files", "javaType": "boolean", "type": "boolean" }, { "names": "--source", "description": "Source file(s) to load", "javaType": "java.util.List", "type": "array" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "logger", "fullName": "cmd logger", "description": "List or change logging levels", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.LoggerAction", "options": [ { "names": "--logger", "description": "The logger name", "defaultValue": "root", "javaType": "java.lang.String", "type": "string" }, { "names": "--logging-level", "description": "To change logging level ()", "javaType": "java.lang.String", "type": "string" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "receive", "fullName": "cmd receive", "description": "Receive and dump messages from remote endpoints", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction", "options": [ { "names": "--action", "description": "Action to start, stop, clear, status, or dump messages", "defaultValue": "status", "javaType": "java.lang.String", "type": "string" }, { "names": "--compact", "description": "Compact output (no empty line separating messages)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--endpoint,--uri", "description": "Endpoint to receive messages from (can be uri or pattern to refer to existing endpoint)", "javaType": "java.lang.String", "type": "string" }, { "names": "--find", "description": "Find and highlight matching text (ignore case).", "javaType": "java.lang.String", "type": "string" }, { "names": "--follow", "description": "Keep following and outputting new messages (press enter to exit).", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--grep", "description": "Filter messages to only output matching text (ignore case).", "javaType": "java.lang.String", "type": "string" }, { "names": "--logging-color", "description": "Use colored logging", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--mask", "description": "Whether to mask endpoint URIs to avoid printing sensitive information such as password or access keys", "javaType": "boolean", "type": "boolean" }, { "names": "--only-body", "description": "Show only message body in received messages", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--output", "description": "Output format (text or json)", "javaType": "java.lang.String", "type": "string" }, { "names": "--prefix", "description": "Print prefix with running Camel integration name. auto=only prefix when running multiple integrations. true=always prefix. false=prefix off.", "defaultValue": "auto", "javaType": "java.lang.String", "type": "string" }, { "names": "--pretty", "description": "Pretty print message body when using JSon or XML format", "javaType": "boolean", "type": "boolean" }, { "names": "--prop,--property", "description": "Additional properties; override existing (only applicable when NOT using an existing running Camel)", "javaType": "java.lang.String", "type": "string" }, { "names": "--properties", "description": "comma separated list of properties file (only applicable when NOT using an existing running Camel) (ex. \/path\/to\/file.properties,\/path\/to\/other.properties", "javaType": "java.lang.String", "type": "string" }, { "names": "--short-uri", "description": "List endpoint URI without query parameters (short)", "javaType": "boolean", "type": "boolean" }, { "names": "--show-body", "description": "Show message body in received messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--show-exchange-properties", "description": "Show exchange properties in received messages", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--show-exchange-variables", "description": "Show exchange variables in received messages", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--show-headers", "description": "Show message headers in received messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--since", "description": "Return messages newer than a relative duration like 5s, 2m, or 1h. The value is in seconds if no unit specified.", "javaType": "java.lang.String", "type": "string" }, { "names": "--sort", "description": "Sort by pid, name or age for showing status of messages", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--tail", "description": "The number of messages from the end to show. Use -1 to read from the beginning. Use 0 to read only new lines. Defaults to showing all messages from beginning.", "defaultValue": "-1", "javaType": "int", "type": "integer" }, { "names": "--timeout", "description": "Timeout in millis waiting for message to be received", "defaultValue": "20000", "javaType": "long", "type": "integer" }, { "names": "--wide-uri", "description": "List endpoint URI in full details", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "reload", "fullName": "cmd reload", "description": "Trigger reloading Camel", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelReloadAction", "options": [ { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "reset-stats", "fullName": "cmd reset-stats", "description": "Reset performance statistics", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelResetStatsAction", "options": [ { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "resume-route", "fullName": "cmd resume-route", "description": "Resume Camel routes", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelRouteResumeAction", "options": [ { "names": "--id", "description": "Route ids (multiple ids can be separated by comma)", "defaultValue": "*", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "route-structure", "fullName": "cmd route-structure", "description": "Dump Camel route structure", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelRouteStructureAction", "options": [ { "names": "--brief", "description": "To show less detailed route structure", "javaType": "boolean", "type": "boolean" }, { "names": "--filter", "description": "Filter route by filename or route id (multiple names can be separated by comma)", "javaType": "java.lang.String", "type": "string" }, { "names": "--raw", "description": "To output raw without metadata", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort route by name or id", "defaultValue": "name", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "send", "fullName": "cmd send", "description": "Send messages to endpoints", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelSendAction", "options": [ { "names": "--body", "description": "Message body to send (prefix with file: to refer to loading message body from file)", "javaType": "java.lang.String", "type": "string" }, { "names": "--endpoint,--uri", "description": "Endpoint where to send the message (can be uri, pattern, or refer to a route id)", "javaType": "java.lang.String", "type": "string" }, { "names": "--header", "description": "Message header (key=value)", "javaType": "java.util.List", "type": "array" }, { "names": "--infra", "description": "Send to infrastructure service (e.g., nats, kafka)", "javaType": "java.lang.String", "type": "string" }, { "names": "--logging-color", "description": "Use colored logging", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--poll", "description": "Poll instead of sending a message. This can be used to receive latest message from a Kafka topic or JMS queue.", "javaType": "boolean", "type": "boolean" }, { "names": "--pretty", "description": "Pretty print response message body (InOut) when using JSon or XML format", "javaType": "boolean", "type": "boolean" }, { "names": "--prop,--property", "description": "Additional properties; override existing (only applicable when NOT using an existing running Camel)", "javaType": "java.lang.String", "type": "string" }, { "names": "--properties", "description": "comma separated list of properties file (only applicable when NOT using an existing running Camel) (ex. \/path\/to\/file.properties,\/path\/to\/other.properties", "javaType": "java.lang.String", "type": "string" }, { "names": "--reply", "description": "Whether to expect a reply message (InOut vs InOut messaging style)", "javaType": "boolean", "type": "boolean" }, { "names": "--reply-file", "description": "Saves reply message to the file with the given name (override if exists)", "javaType": "java.lang.String", "type": "string" }, { "names": "--show-body", "description": "Show message body from response message (InOut)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--show-exception", "description": "Show exception and stacktrace for failed messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--show-exchange-properties", "description": "Show exchange properties from response message (InOut)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--show-exchange-variables", "description": "Show exchange variables from response message (InOut)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--show-headers", "description": "Show message headers from response message (InOut)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--timeout", "description": "Timeout in millis waiting for message to be sent (and reply message if InOut messaging)", "defaultValue": "20000", "javaType": "long", "type": "integer" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "start-group", "fullName": "cmd start-group", "description": "Start Camel route groups", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelRouteGroupStartAction", "options": [ { "names": "--id", "description": "Route ids (multiple ids can be separated by comma)", "defaultValue": "*", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "start-route", "fullName": "cmd start-route", "description": "Start Camel routes", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelRouteStartAction", "options": [ { "names": "--id", "description": "Route ids (multiple ids can be separated by comma)", "defaultValue": "*", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "stop-group", "fullName": "cmd stop-group", "description": "Stop Camel route groups", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelRouteGroupStopAction", "options": [ { "names": "--id", "description": "Route ids (multiple ids can be separated by comma)", "defaultValue": "*", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "stop-route", "fullName": "cmd stop-route", "description": "Stop Camel routes", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelRouteStopAction", "options": [ { "names": "--id", "description": "Route ids (multiple ids can be separated by comma)", "defaultValue": "*", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "stub", "fullName": "cmd stub", "description": "Browse stub endpoints", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelStubAction", "options": [ { "names": "--browse", "description": "Whether to browse messages queued in the stub endpoints", "javaType": "boolean", "type": "boolean" }, { "names": "--compact", "description": "Compact output (no empty line separating browsed messages)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--filter", "description": "Filter endpoints by queue name", "javaType": "java.lang.String", "type": "string" }, { "names": "--find", "description": "Find and highlight matching text (ignore case).", "javaType": "java.lang.String", "type": "string" }, { "names": "--grep", "description": "Filter browsing messages to only output trace matching text (ignore case).", "javaType": "java.lang.String", "type": "string" }, { "names": "--limit", "description": "Filter browsing queues by limiting to the given latest number of messages", "defaultValue": "10", "javaType": "int", "type": "integer" }, { "names": "--logging-color", "description": "Use colored logging", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--mask", "description": "Whether to mask endpoint URIs to avoid printing sensitive information such as password or access keys", "javaType": "boolean", "type": "boolean" }, { "names": "--pretty", "description": "Pretty print message body when using JSon or XML format", "javaType": "boolean", "type": "boolean" }, { "names": "--show-body", "description": "Show message body in traced messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--show-headers", "description": "Show message headers in traced messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by name, or total", "defaultValue": "name", "javaType": "java.lang.String", "type": "string" }, { "names": "--top", "description": "Whether to browse top (latest) messages queued in the stub endpoints", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "suspend-route", "fullName": "cmd suspend-route", "description": "Suspend Camel routes", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelRouteSuspendAction", "options": [ { "names": "--id", "description": "Route ids (multiple ids can be separated by comma)", "defaultValue": "*", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "thread-dump", "fullName": "cmd thread-dump", "description": "List threads in a running Camel integration", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelThreadDump", "options": [ { "names": "--depth", "description": "Max depth of stack-trace", "defaultValue": "1", "javaType": "int", "type": "integer" }, { "names": "--filter", "description": "Filter thread names\/ids (use all to include all threads)", "defaultValue": "Camel", "javaType": "java.lang.String", "type": "string" }, { "names": "--sort", "description": "Sort by id, name or state", "defaultValue": "id", "javaType": "java.lang.String", "type": "string" }, { "names": "--state", "description": "To only show threads for a given state", "javaType": "java.lang.String", "type": "string" }, { "names": "--trace", "description": "Include stack-traces", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] } ] }, + { "name": "cmd", "fullName": "cmd", "description": "Performs commands in the running Camel integrations, such as start\/stop route, or change logging levels.", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelAction", "options": [ { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ], "subcommands": [ { "name": "browse", "fullName": "cmd browse", "description": "Browse pending messages on endpoints", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelBrowseAction", "options": [ { "names": "--body-max-chars", "description": "Maximum size of the message body to include in the dump", "javaType": "int", "type": "integer" }, { "names": "--dump", "description": "Whether to include message dumps", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--endpoint", "description": "Endpoint to browse messages from (can be uri, pattern, or refer to a route id)", "javaType": "java.lang.String", "type": "string" }, { "names": "--fresh-size", "description": "Whether to calculate fresh queue size information (performance overhead)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--limit", "description": "Limits the number of messages to dump per endpoint", "defaultValue": "100", "javaType": "int", "type": "integer" }, { "names": "--logging-color", "description": "Use colored logging", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--mask", "description": "Whether to mask endpoint URIs to avoid printing sensitive information such as password or access keys", "javaType": "boolean", "type": "boolean" }, { "names": "--only-body", "description": "Show only message body in browsed messages", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--pretty", "description": "Pretty print message body when using JSon or XML format", "javaType": "boolean", "type": "boolean" }, { "names": "--short-uri", "description": "List endpoint URI without query parameters (short)", "javaType": "boolean", "type": "boolean" }, { "names": "--show-body", "description": "Show message body in browsed messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--show-headers", "description": "Show message headers in browsed messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by uri, or size", "defaultValue": "uri", "javaType": "java.lang.String", "type": "string" }, { "names": "--tail", "description": "The number of messages from the end (latest) to dump", "javaType": "int", "type": "integer" }, { "names": "--wide-uri", "description": "List endpoint URI in full details", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "disable-processor", "fullName": "cmd disable-processor", "description": "Disable Camel processor", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelProcessorDisableAction", "options": [ { "names": "--id", "description": "Processor ids (multiple ids can be separated by comma)", "defaultValue": "*", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "enable-processor", "fullName": "cmd enable-processor", "description": "Enable Camel processor", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelProcessorEnableAction", "options": [ { "names": "--id", "description": "Processor ids (multiple ids can be separated by comma)", "defaultValue": "*", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "gc", "fullName": "cmd gc", "description": "Trigger Java Memory Garbage Collector", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelGCAction", "options": [ { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "load", "fullName": "cmd load", "description": "Loads new source files into an existing Camel", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelLoadAction", "options": [ { "names": "--restart", "description": "To force restart all routes after loading source files", "javaType": "boolean", "type": "boolean" }, { "names": "--source", "description": "Source file(s) to load", "javaType": "java.util.List", "type": "array" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "logger", "fullName": "cmd logger", "description": "List or change logging levels", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.LoggerAction", "options": [ { "names": "--logger", "description": "The logger name", "defaultValue": "root", "javaType": "java.lang.String", "type": "string" }, { "names": "--logging-level", "description": "To change logging level ()", "javaType": "java.lang.String", "type": "string" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "receive", "fullName": "cmd receive", "description": "Receive and dump messages from remote endpoints", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction", "options": [ { "names": "--action", "description": "Action to start, stop, clear, status, or dump messages", "defaultValue": "status", "javaType": "java.lang.String", "type": "string" }, { "names": "--compact", "description": "Compact output (no empty line separating messages)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--endpoint,--uri", "description": "Endpoint to receive messages from (can be uri or pattern to refer to existing endpoint)", "javaType": "java.lang.String", "type": "string" }, { "names": "--find", "description": "Find and highlight matching text (ignore case).", "javaType": "java.lang.String", "type": "string" }, { "names": "--follow", "description": "Keep following and outputting new messages (press enter to exit).", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--grep", "description": "Filter messages to only output matching text (ignore case).", "javaType": "java.lang.String", "type": "string" }, { "names": "--logging-color", "description": "Use colored logging", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--mask", "description": "Whether to mask endpoint URIs to avoid printing sensitive information such as password or access keys", "javaType": "boolean", "type": "boolean" }, { "names": "--only-body", "description": "Show only message body in received messages", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--output", "description": "Output format ()", "javaType": "java.lang.String", "type": "string" }, { "names": "--prefix", "description": "Print prefix with running Camel integration name. auto=only prefix when running multiple integrations. true=always prefix. false=prefix off.", "defaultValue": "auto", "javaType": "java.lang.String", "type": "string" }, { "names": "--pretty", "description": "Pretty print message body when using JSon or XML format", "javaType": "boolean", "type": "boolean" }, { "names": "--prop,--property", "description": "Additional properties; override existing (only applicable when NOT using an existing running Camel)", "javaType": "java.lang.String", "type": "string" }, { "names": "--properties", "description": "comma separated list of properties file (only applicable when NOT using an existing running Camel) (ex. \/path\/to\/file.properties,\/path\/to\/other.properties", "javaType": "java.lang.String", "type": "string" }, { "names": "--short-uri", "description": "List endpoint URI without query parameters (short)", "javaType": "boolean", "type": "boolean" }, { "names": "--show-body", "description": "Show message body in received messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--show-exchange-properties", "description": "Show exchange properties in received messages", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--show-exchange-variables", "description": "Show exchange variables in received messages", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--show-headers", "description": "Show message headers in received messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--since", "description": "Return messages newer than a relative duration like 5s, 2m, or 1h. The value is in seconds if no unit specified.", "javaType": "java.lang.String", "type": "string" }, { "names": "--sort", "description": "Sort by pid, name or age for showing status of messages", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--tail", "description": "The number of messages from the end to show. Use -1 to read from the beginning. Use 0 to read only new lines. Defaults to showing all messages from beginning.", "defaultValue": "-1", "javaType": "int", "type": "integer" }, { "names": "--timeout", "description": "Timeout in millis waiting for message to be received", "defaultValue": "20000", "javaType": "long", "type": "integer" }, { "names": "--wide-uri", "description": "List endpoint URI in full details", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "reload", "fullName": "cmd reload", "description": "Trigger reloading Camel", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelReloadAction", "options": [ { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "reset-stats", "fullName": "cmd reset-stats", "description": "Reset performance statistics", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelResetStatsAction", "options": [ { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "resume-route", "fullName": "cmd resume-route", "description": "Resume Camel routes", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelRouteResumeAction", "options": [ { "names": "--id", "description": "Route ids (multiple ids can be separated by comma)", "defaultValue": "*", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "route-structure", "fullName": "cmd route-structure", "description": "Dump Camel route structure", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelRouteStructureAction", "options": [ { "names": "--brief", "description": "To show less detailed route structure", "javaType": "boolean", "type": "boolean" }, { "names": "--filter", "description": "Filter route by filename or route id (multiple names can be separated by comma)", "javaType": "java.lang.String", "type": "string" }, { "names": "--raw", "description": "To output raw without metadata", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort route by name or id", "defaultValue": "name", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "send", "fullName": "cmd send", "description": "Send messages to endpoints", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelSendAction", "options": [ { "names": "--body", "description": "Message body to send (prefix with file: to refer to loading message body from file)", "javaType": "java.lang.String", "type": "string" }, { "names": "--endpoint,--uri", "description": "Endpoint where to send the message (can be uri, pattern, or refer to a route id)", "javaType": "java.lang.String", "type": "string" }, { "names": "--header", "description": "Message header (key=value)", "javaType": "java.util.List", "type": "array" }, { "names": "--infra", "description": "Send to infrastructure service (e.g., nats, kafka)", "javaType": "java.lang.String", "type": "string" }, { "names": "--logging-color", "description": "Use colored logging", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--poll", "description": "Poll instead of sending a message. This can be used to receive latest message from a Kafka topic or JMS queue.", "javaType": "boolean", "type": "boolean" }, { "names": "--pretty", "description": "Pretty print response message body (InOut) when using JSon or XML format", "javaType": "boolean", "type": "boolean" }, { "names": "--prop,--property", "description": "Additional properties; override existing (only applicable when NOT using an existing running Camel)", "javaType": "java.lang.String", "type": "string" }, { "names": "--properties", "description": "comma separated list of properties file (only applicable when NOT using an existing running Camel) (ex. \/path\/to\/file.properties,\/path\/to\/other.properties", "javaType": "java.lang.String", "type": "string" }, { "names": "--reply", "description": "Whether to expect a reply message (InOut vs InOut messaging style)", "javaType": "boolean", "type": "boolean" }, { "names": "--reply-file", "description": "Saves reply message to the file with the given name (override if exists)", "javaType": "java.lang.String", "type": "string" }, { "names": "--show-body", "description": "Show message body from response message (InOut)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--show-exception", "description": "Show exception and stacktrace for failed messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--show-exchange-properties", "description": "Show exchange properties from response message (InOut)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--show-exchange-variables", "description": "Show exchange variables from response message (InOut)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--show-headers", "description": "Show message headers from response message (InOut)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--timeout", "description": "Timeout in millis waiting for message to be sent (and reply message if InOut messaging)", "defaultValue": "20000", "javaType": "long", "type": "integer" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "start-group", "fullName": "cmd start-group", "description": "Start Camel route groups", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelRouteGroupStartAction", "options": [ { "names": "--id", "description": "Route ids (multiple ids can be separated by comma)", "defaultValue": "*", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "start-route", "fullName": "cmd start-route", "description": "Start Camel routes", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelRouteStartAction", "options": [ { "names": "--id", "description": "Route ids (multiple ids can be separated by comma)", "defaultValue": "*", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "stop-group", "fullName": "cmd stop-group", "description": "Stop Camel route groups", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelRouteGroupStopAction", "options": [ { "names": "--id", "description": "Route ids (multiple ids can be separated by comma)", "defaultValue": "*", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "stop-route", "fullName": "cmd stop-route", "description": "Stop Camel routes", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelRouteStopAction", "options": [ { "names": "--id", "description": "Route ids (multiple ids can be separated by comma)", "defaultValue": "*", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "stub", "fullName": "cmd stub", "description": "Browse stub endpoints", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelStubAction", "options": [ { "names": "--browse", "description": "Whether to browse messages queued in the stub endpoints", "javaType": "boolean", "type": "boolean" }, { "names": "--compact", "description": "Compact output (no empty line separating browsed messages)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--filter", "description": "Filter endpoints by queue name", "javaType": "java.lang.String", "type": "string" }, { "names": "--find", "description": "Find and highlight matching text (ignore case).", "javaType": "java.lang.String", "type": "string" }, { "names": "--grep", "description": "Filter browsing messages to only output trace matching text (ignore case).", "javaType": "java.lang.String", "type": "string" }, { "names": "--limit", "description": "Filter browsing queues by limiting to the given latest number of messages", "defaultValue": "10", "javaType": "int", "type": "integer" }, { "names": "--logging-color", "description": "Use colored logging", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--mask", "description": "Whether to mask endpoint URIs to avoid printing sensitive information such as password or access keys", "javaType": "boolean", "type": "boolean" }, { "names": "--pretty", "description": "Pretty print message body when using JSon or XML format", "javaType": "boolean", "type": "boolean" }, { "names": "--show-body", "description": "Show message body in traced messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--show-headers", "description": "Show message headers in traced messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by name, or total", "defaultValue": "name", "javaType": "java.lang.String", "type": "string" }, { "names": "--top", "description": "Whether to browse top (latest) messages queued in the stub endpoints", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "suspend-route", "fullName": "cmd suspend-route", "description": "Suspend Camel routes", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelRouteSuspendAction", "options": [ { "names": "--id", "description": "Route ids (multiple ids can be separated by comma)", "defaultValue": "*", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "thread-dump", "fullName": "cmd thread-dump", "description": "List threads in a running Camel integration", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelThreadDump", "options": [ { "names": "--depth", "description": "Max depth of stack-trace", "defaultValue": "1", "javaType": "int", "type": "integer" }, { "names": "--filter", "description": "Filter thread names\/ids (use all to include all threads)", "defaultValue": "Camel", "javaType": "java.lang.String", "type": "string" }, { "names": "--sort", "description": "Sort by id, name or state", "defaultValue": "id", "javaType": "java.lang.String", "type": "string" }, { "names": "--state", "description": "To only show threads for a given state", "javaType": "java.lang.String", "type": "string" }, { "names": "--trace", "description": "Include stack-traces", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] } ] }, { "name": "completion", "fullName": "completion", "description": "Generate completion script for bash\/zsh", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.Complete", "options": [ { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "config", "fullName": "config", "description": "Get and set user configuration values", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.config.ConfigCommand", "options": [ { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ], "subcommands": [ { "name": "get", "fullName": "config get", "description": "Display user configuration value", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.config.ConfigGet", "options": [ { "names": "--global", "description": "Use global or local configuration", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "list", "fullName": "config list", "description": "Displays user configuration", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.config.ConfigList", "options": [ { "names": "--global", "description": "Use global or local configuration", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "set", "fullName": "config set", "description": "Set user configuration value", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.config.ConfigSet", "options": [ { "names": "--global", "description": "Use global or local configuration", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "unset", "fullName": "config unset", "description": "Remove user configuration value", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.config.ConfigUnset", "options": [ { "names": "--global", "description": "Use global or local configurations", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] } ] }, - { "name": "debug", "fullName": "debug", "description": "Debug local Camel integration", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.Debug", "options": [ { "names": "--ago", "description": "Use ago instead of yyyy-MM-dd HH:mm:ss in timestamp.", "javaType": "boolean", "type": "boolean" }, { "names": "--background", "description": "Run in the background", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--background-wait", "description": "To wait for run in background to startup successfully, before returning", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--backlog-trace", "description": "Enables backlog tracing of the routed messages", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--breakpoint", "description": "To set breakpoint at the given node id (Multiple ids can be separated by comma). If no breakpoint is set, then the first route is automatic selected.", "javaType": "java.lang.String", "type": "string" }, { "names": "--camel-spring-boot-version", "description": "To run using a different Camel Spring Boot version than the default version.", "javaType": "java.lang.String", "type": "string" }, { "names": "--camel-version", "description": "To run using a different Camel version than the default version.", "javaType": "java.lang.String", "type": "string" }, { "names": "--code", "description": "Run the given text or file as Java DSL routes", "javaType": "java.lang.String", "type": "string" }, { "names": "--console", "description": "Developer console at \/q\/dev on local HTTP server (port 8080 by default)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--dep,--dependency", "description": "Add additional dependencies", "javaType": "java.util.List", "type": "array" }, { "names": "--download", "description": "Whether to allow automatic downloading JAR dependencies (over the internet)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--empty", "description": "Run an empty Camel without loading source files", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--exclude", "description": "Exclude files by name or pattern", "javaType": "java.util.List", "type": "array" }, { "names": "--fresh", "description": "Make sure we use fresh (i.e. non-cached) resources", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--gav", "description": "The Maven group:artifact:version (used during exporting)", "javaType": "java.lang.String", "type": "string" }, { "names": "--health", "description": "Deprecated: use --observe instead. Health check at \/q\/health on local HTTP server (port 8080 by default)", "defaultValue": "false", "javaType": "boolean", "type": "boolean", "deprecated": true }, { "names": "--ignore-loading-error", "description": "Whether to ignore route loading and compilation errors (use this with care!)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--jfr", "description": "Enables Java Flight Recorder saving recording to disk on exit", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--jfr-profile", "description": "Java Flight Recorder profile to use (such as default or profile)", "javaType": "java.lang.String", "type": "string" }, { "names": "--jvm-debug", "description": "To enable JVM remote debugging on port 4004 by default. The supported values are true to enable the remote debugging, false to disable the remote debugging or a number to use a custom port", "javaType": "int", "type": "integer", "paramLabel": "" }, { "names": "--kamelets-version", "description": "Apache Camel Kamelets version", "javaType": "java.lang.String", "type": "string" }, { "names": "--lazy-bean", "description": "Whether to use lazy bean initialization (can help with complex classloading issues)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--local-kamelet-dir", "description": "Local directory (or github link) for loading Kamelets (takes precedence). Multiple directories can be specified separated by comma.", "javaType": "java.lang.String", "type": "string" }, { "names": "--log-lines", "description": "Number of log lines to display on top of screen", "defaultValue": "10", "javaType": "int", "type": "integer" }, { "names": "--logging", "description": "Can be used to turn off logging", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-category", "description": "Used for individual logging levels (ex: org.apache.kafka=DEBUG)", "javaType": "java.util.List", "type": "array" }, { "names": "--logging-color", "description": "Use colored logging", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-config-path", "description": "Path to file with custom logging configuration", "javaType": "java.lang.String", "type": "string" }, { "names": "--logging-json", "description": "Use JSON logging (ECS Layout)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-level", "description": "Logging level ()", "defaultValue": "info", "javaType": "java.lang.String", "type": "string" }, { "names": "--management-port", "description": "To use a dedicated port for HTTP management (use 0 to dynamic assign a free random port number)", "javaType": "int", "type": "integer" }, { "names": "--mask", "description": "Whether to mask endpoint URIs to avoid printing sensitive information such as password or access keys", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-apache-snapshot-enabled", "description": "Whether downloading JARs from ASF Maven Snapshot repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-central-enabled", "description": "Whether downloading JARs from Maven Central repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-settings", "description": "Optional location of Maven settings.xml file to configure servers, repositories, mirrors and proxies. If set to false, not even the default ~\/.m2\/settings.xml will be used.", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-settings-security", "description": "Optional location of Maven settings-security.xml file to decrypt settings.xml", "javaType": "java.lang.String", "type": "string" }, { "names": "--max-idle-seconds", "description": "For how long time in seconds Camel can be idle before stopping", "defaultValue": "0", "javaType": "int", "type": "integer" }, { "names": "--max-messages", "description": "Max number of messages to process before stopping", "defaultValue": "0", "javaType": "int", "type": "integer" }, { "names": "--max-seconds", "description": "Max seconds to run before stopping", "defaultValue": "0", "javaType": "int", "type": "integer" }, { "names": "--metrics", "description": "Deprecated: use --observe instead. Metrics (Micrometer and Prometheus) at \/q\/metrics on local HTTP server (port 8080 by default)", "defaultValue": "false", "javaType": "boolean", "type": "boolean", "deprecated": true }, { "names": "--modeline", "description": "Whether to support JBang style \/\/DEPS to specify additional dependencies", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--name", "description": "The name of the Camel application", "defaultValue": "CamelJBang", "javaType": "java.lang.String", "type": "string" }, { "names": "--observe", "description": "Enable observability services", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--open-api", "description": "Adds an OpenAPI spec from the given file (json or yaml file)", "javaType": "java.lang.String", "type": "string" }, { "names": "--output", "description": "File to store the current message body (will override). This allows for manual inspecting the message later.", "javaType": "java.lang.String", "type": "string" }, { "names": "--package-scan-jars", "description": "Whether to automatic package scan JARs for custom Spring or Quarkus beans making them available for Camel JBang", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--port", "description": "Embeds a local HTTP server on this port (port 8080 by default; use 0 to dynamic assign a free random port number)", "javaType": "int", "type": "integer" }, { "names": "--pretty", "description": "Pretty print message body when using JSon or XML format", "javaType": "boolean", "type": "boolean" }, { "names": "--profile", "description": "Profile to run (dev, test, or prod).", "defaultValue": "dev", "javaType": "java.lang.String", "type": "string" }, { "names": "--prompt", "description": "Allow user to type in required parameters in prompt if not present in application", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--prop,--property", "description": "Additional properties (override existing)", "javaType": "java.lang.String", "type": "string" }, { "names": "--properties", "description": "comma separated list of properties file (ex. \/path\/to\/file.properties,\/path\/to\/other.properties", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-artifact-id", "description": "Quarkus Platform Maven artifactId", "defaultValue": "quarkus-bom", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-group-id", "description": "Quarkus Platform Maven groupId", "defaultValue": "io.quarkus.platform", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-version", "description": "Quarkus Platform version", "defaultValue": "RuntimeType.QUARKUS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--reload,--dev", "description": "Enables dev mode (live reload when source files are updated and saved)", "javaType": "boolean", "type": "boolean" }, { "names": "--remote-attach", "description": "Attaches debugger remotely to an existing running Camel integration. (Add camel-cli-debug JAR to the existing Camel application and run before attaching this debugger)", "javaType": "boolean", "type": "boolean" }, { "names": "--repo,--repos", "description": "Additional maven repositories (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--runtime", "description": "Runtime ()", "defaultValue": "camel-main", "javaType": "org.apache.camel.dsl.jbang.core.common.RuntimeType", "type": "object" }, { "names": "--show-body", "description": "Show message body in debug messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--show-exception", "description": "Show exception and stacktrace for failed messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--show-exchange-properties", "description": "Show exchange properties in debug messages", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--show-exchange-variables", "description": "Show exchange variables in debug messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--show-headers", "description": "Show message headers in debug messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--skip-plugins", "description": "Skip plugins during export", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--source", "description": "Prefer to display source filename\/code instead of IDs", "javaType": "boolean", "type": "boolean" }, { "names": "--source-dir", "description": "Source directory for dynamically loading Camel file(s) to run. When using this, then files cannot be specified at the same time.", "javaType": "java.lang.String", "type": "string" }, { "names": "--spring-boot-version", "description": "Spring Boot version", "defaultValue": "RuntimeType.SPRING_BOOT_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--stop-on-exit", "description": "Whether to stop the running Camel on exit", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--stub", "description": "Stubs all the matching endpoint uri with the given component name or pattern. Multiple names can be separated by comma. (all = stub all endpoints).", "javaType": "java.lang.String", "type": "string" }, { "names": "--timestamp", "description": "Print timestamp.", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--trace", "description": "Enables trace logging of the routed messages", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--verbose", "description": "Verbose output of startup activity (dependency resolution and downloading", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, - { "name": "dependency", "fullName": "dependency", "description": "Displays all Camel dependencies required to run", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.DependencyCommand", "options": [ { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ], "subcommands": [ { "name": "copy", "fullName": "dependency copy", "description": "Copies all Camel dependencies required to run to a specific directory", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.DependencyCopy", "options": [ { "names": "--build-property", "description": "Maven build properties, ex. --build-property=prop1=foo", "javaType": "java.util.List", "type": "array" }, { "names": "--camel-spring-boot-version", "description": "Camel version to use with Spring Boot", "javaType": "java.lang.String", "type": "string" }, { "names": "--camel-version", "description": "To export using a different Camel version than the default version.", "javaType": "java.lang.String", "type": "string" }, { "names": "--clean-dir", "description": "If exporting to current directory (default) then all existing files are preserved. Enabling this option will force cleaning current directory including all sub dirs (use this with care)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--dep,--dependency", "description": "Add additional dependencies", "javaType": "java.util.List", "type": "array" }, { "names": "--dir,--directory", "description": "Directory where the project will be exported", "defaultValue": ".", "javaType": "java.lang.String", "type": "string" }, { "names": "--download", "description": "Whether to allow automatic downloading JAR dependencies (over the internet)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--exclude", "description": "Exclude files by name or pattern", "javaType": "java.util.List", "type": "array" }, { "names": "--fresh", "description": "Make sure we use fresh (i.e. non-cached) resources", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--gav", "description": "The Maven group:artifact:version", "javaType": "java.lang.String", "type": "string" }, { "names": "--groovy-pre-compiled", "description": "Whether to include pre-compiled Groovy classes in the export (only supported with runtime=camel-main)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--hawtio", "description": "Whether to include Hawtio web console (only available for exporting to Spring Boot or Quarkus)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--hawtio-version", "description": "Version of the Hawtio web console", "defaultValue": "HawtioVersion.HAWTIO_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--ignore-loading-error", "description": "Whether to ignore route loading and compilation errors (use this with care!)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--java-version", "description": "Java version (21, 25)", "defaultValue": "21", "javaType": "java.lang.String", "type": "string" }, { "names": "--kamelets-version", "description": "Apache Camel Kamelets version", "defaultValue": "RuntimeType.KAMELETS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--lazy-bean", "description": "Whether to use lazy bean initialization (can help with complex classloading issues", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--local-kamelet-dir", "description": "Local directory for loading Kamelets (takes precedence)", "javaType": "java.lang.String", "type": "string" }, { "names": "--logging", "description": "Can be used to turn on logging to console (logs by default to file in \/.camel directory)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-level", "description": "Logging level", "defaultValue": "info", "javaType": "java.lang.String", "type": "string" }, { "names": "--main-classname", "description": "The class name of the Camel Main application class", "defaultValue": "CamelApplication", "javaType": "java.lang.String", "type": "string" }, { "names": "--management-port", "description": "To use a dedicated port for HTTP management", "javaType": "int", "type": "integer" }, { "names": "--maven-apache-snapshot-enabled", "description": "Whether downloading JARs from ASF Maven Snapshot repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-central-enabled", "description": "Whether downloading JARs from Maven Central repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-settings", "description": "Optional location of Maven settings.xml file to configure servers, repositories, mirrors and proxies. If set to false, not even the default ~\/.m2\/settings.xml will be used.", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-settings-security", "description": "Optional location of Maven settings-security.xml file to decrypt settings.xml", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-wrapper", "description": "Include Maven Wrapper files in exported project", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--name", "description": "The integration name. Use this when the name should not get derived otherwise.", "javaType": "java.lang.String", "type": "string" }, { "names": "--observe", "description": "Enable observability services", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--open-api", "description": "Adds an OpenAPI spec from the given file (json or yaml file)", "javaType": "java.lang.String", "type": "string" }, { "names": "--output", "description": "Output format (gav, maven, jbang)", "defaultValue": "gav", "javaType": "java.lang.String", "type": "string" }, { "names": "--output-directory", "description": "Directory where dependencies should be copied", "defaultValue": "lib", "javaType": "java.lang.String", "type": "string", "required": true }, { "names": "--package-name", "description": "For Java source files should they have the given package name. By default the package name is computed from the Maven GAV. Use false to turn off and not include package name in the Java source files.", "javaType": "java.lang.String", "type": "string" }, { "names": "--package-scan-jars", "description": "Whether to automatic package scan JARs for custom Spring or Quarkus beans making them available for Camel JBang", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--port", "description": "Embeds a local HTTP server on this port", "javaType": "int", "type": "integer" }, { "names": "--profile", "description": "Profile to export (dev, test, or prod).", "javaType": "java.lang.String", "type": "string" }, { "names": "--prop,--property", "description": "Camel application properties, ex. --property=prop1=foo", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-artifact-id", "description": "Quarkus Platform Maven artifactId", "defaultValue": "quarkus-bom", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-group-id", "description": "Quarkus Platform Maven groupId", "defaultValue": "io.quarkus.platform", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-version", "description": "Quarkus Platform version", "defaultValue": "RuntimeType.QUARKUS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--quiet", "description": "Will be quiet, only print when error occurs", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--repo,--repos", "description": "Additional maven repositories (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--runtime", "description": "Runtime ()", "javaType": "org.apache.camel.dsl.jbang.core.common.RuntimeType", "type": "object" }, { "names": "--skip-plugins", "description": "Skip plugins during export", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--spring-boot-version", "description": "Spring Boot version", "defaultValue": "RuntimeType.SPRING_BOOT_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--verbose", "description": "Verbose output of startup activity (dependency resolution and downloading", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "list", "fullName": "dependency list", "description": "Displays all Camel dependencies required to run", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.DependencyList", "options": [ { "names": "--build-property", "description": "Maven build properties, ex. --build-property=prop1=foo", "javaType": "java.util.List", "type": "array" }, { "names": "--camel-spring-boot-version", "description": "Camel version to use with Spring Boot", "javaType": "java.lang.String", "type": "string" }, { "names": "--camel-version", "description": "To export using a different Camel version than the default version.", "javaType": "java.lang.String", "type": "string" }, { "names": "--clean-dir", "description": "If exporting to current directory (default) then all existing files are preserved. Enabling this option will force cleaning current directory including all sub dirs (use this with care)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--dep,--dependency", "description": "Add additional dependencies", "javaType": "java.util.List", "type": "array" }, { "names": "--dir,--directory", "description": "Directory where the project will be exported", "defaultValue": ".", "javaType": "java.lang.String", "type": "string" }, { "names": "--download", "description": "Whether to allow automatic downloading JAR dependencies (over the internet)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--exclude", "description": "Exclude files by name or pattern", "javaType": "java.util.List", "type": "array" }, { "names": "--fresh", "description": "Make sure we use fresh (i.e. non-cached) resources", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--gav", "description": "The Maven group:artifact:version", "javaType": "java.lang.String", "type": "string" }, { "names": "--groovy-pre-compiled", "description": "Whether to include pre-compiled Groovy classes in the export (only supported with runtime=camel-main)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--hawtio", "description": "Whether to include Hawtio web console (only available for exporting to Spring Boot or Quarkus)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--hawtio-version", "description": "Version of the Hawtio web console", "defaultValue": "HawtioVersion.HAWTIO_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--ignore-loading-error", "description": "Whether to ignore route loading and compilation errors (use this with care!)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--java-version", "description": "Java version (21, 25)", "defaultValue": "21", "javaType": "java.lang.String", "type": "string" }, { "names": "--kamelets-version", "description": "Apache Camel Kamelets version", "defaultValue": "RuntimeType.KAMELETS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--lazy-bean", "description": "Whether to use lazy bean initialization (can help with complex classloading issues", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--local-kamelet-dir", "description": "Local directory for loading Kamelets (takes precedence)", "javaType": "java.lang.String", "type": "string" }, { "names": "--logging", "description": "Can be used to turn on logging to console (logs by default to file in \/.camel directory)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-level", "description": "Logging level", "defaultValue": "info", "javaType": "java.lang.String", "type": "string" }, { "names": "--main-classname", "description": "The class name of the Camel Main application class", "defaultValue": "CamelApplication", "javaType": "java.lang.String", "type": "string" }, { "names": "--management-port", "description": "To use a dedicated port for HTTP management", "javaType": "int", "type": "integer" }, { "names": "--maven-apache-snapshot-enabled", "description": "Whether downloading JARs from ASF Maven Snapshot repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-central-enabled", "description": "Whether downloading JARs from Maven Central repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-settings", "description": "Optional location of Maven settings.xml file to configure servers, repositories, mirrors and proxies. If set to false, not even the default ~\/.m2\/settings.xml will be used.", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-settings-security", "description": "Optional location of Maven settings-security.xml file to decrypt settings.xml", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-wrapper", "description": "Include Maven Wrapper files in exported project", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--name", "description": "The integration name. Use this when the name should not get derived otherwise.", "javaType": "java.lang.String", "type": "string" }, { "names": "--observe", "description": "Enable observability services", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--open-api", "description": "Adds an OpenAPI spec from the given file (json or yaml file)", "javaType": "java.lang.String", "type": "string" }, { "names": "--output", "description": "Output format (gav, maven, jbang)", "defaultValue": "gav", "javaType": "java.lang.String", "type": "string" }, { "names": "--package-name", "description": "For Java source files should they have the given package name. By default the package name is computed from the Maven GAV. Use false to turn off and not include package name in the Java source files.", "javaType": "java.lang.String", "type": "string" }, { "names": "--package-scan-jars", "description": "Whether to automatic package scan JARs for custom Spring or Quarkus beans making them available for Camel JBang", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--port", "description": "Embeds a local HTTP server on this port", "javaType": "int", "type": "integer" }, { "names": "--profile", "description": "Profile to export (dev, test, or prod).", "javaType": "java.lang.String", "type": "string" }, { "names": "--prop,--property", "description": "Camel application properties, ex. --property=prop1=foo", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-artifact-id", "description": "Quarkus Platform Maven artifactId", "defaultValue": "quarkus-bom", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-group-id", "description": "Quarkus Platform Maven groupId", "defaultValue": "io.quarkus.platform", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-version", "description": "Quarkus Platform version", "defaultValue": "RuntimeType.QUARKUS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--quiet", "description": "Will be quiet, only print when error occurs", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--repo,--repos", "description": "Additional maven repositories (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--runtime", "description": "Runtime ()", "javaType": "org.apache.camel.dsl.jbang.core.common.RuntimeType", "type": "object" }, { "names": "--skip-plugins", "description": "Skip plugins during export", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--spring-boot-version", "description": "Spring Boot version", "defaultValue": "RuntimeType.SPRING_BOOT_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--verbose", "description": "Verbose output of startup activity (dependency resolution and downloading", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "runtime", "fullName": "dependency runtime", "description": "Display Camel runtime and version for given Maven project", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.DependencyRuntime", "options": [ { "names": "--download", "description": "Whether to allow automatic downloading JAR dependencies (over the internet)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--repo,--repos", "description": "Additional maven repositories (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "update", "fullName": "dependency update", "description": "Updates dependencies in Maven pom.xml or Java source file (JBang style)", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.DependencyUpdate", "options": [ { "names": "--build-property", "description": "Maven build properties, ex. --build-property=prop1=foo", "javaType": "java.util.List", "type": "array" }, { "names": "--camel-spring-boot-version", "description": "Camel version to use with Spring Boot", "javaType": "java.lang.String", "type": "string" }, { "names": "--camel-version", "description": "To export using a different Camel version than the default version.", "javaType": "java.lang.String", "type": "string" }, { "names": "--clean", "description": "Regenerate list of dependencies (do not keep existing dependencies). Not supported for pom.xml", "javaType": "boolean", "type": "boolean" }, { "names": "--clean-dir", "description": "If exporting to current directory (default) then all existing files are preserved. Enabling this option will force cleaning current directory including all sub dirs (use this with care)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--dep,--dependency", "description": "Add additional dependencies", "javaType": "java.util.List", "type": "array" }, { "names": "--dir,--directory", "description": "Directory where the project will be exported", "defaultValue": ".", "javaType": "java.lang.String", "type": "string" }, { "names": "--download", "description": "Whether to allow automatic downloading JAR dependencies (over the internet)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--exclude", "description": "Exclude files by name or pattern", "javaType": "java.util.List", "type": "array" }, { "names": "--fresh", "description": "Make sure we use fresh (i.e. non-cached) resources", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--gav", "description": "The Maven group:artifact:version", "javaType": "java.lang.String", "type": "string" }, { "names": "--groovy-pre-compiled", "description": "Whether to include pre-compiled Groovy classes in the export (only supported with runtime=camel-main)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--hawtio", "description": "Whether to include Hawtio web console (only available for exporting to Spring Boot or Quarkus)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--hawtio-version", "description": "Version of the Hawtio web console", "defaultValue": "HawtioVersion.HAWTIO_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--ignore-loading-error", "description": "Whether to ignore route loading and compilation errors (use this with care!)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--java-version", "description": "Java version (21, 25)", "defaultValue": "21", "javaType": "java.lang.String", "type": "string" }, { "names": "--kamelets-version", "description": "Apache Camel Kamelets version", "defaultValue": "RuntimeType.KAMELETS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--lazy-bean", "description": "Whether to use lazy bean initialization (can help with complex classloading issues", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--local-kamelet-dir", "description": "Local directory for loading Kamelets (takes precedence)", "javaType": "java.lang.String", "type": "string" }, { "names": "--logging", "description": "Can be used to turn on logging to console (logs by default to file in \/.camel directory)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-level", "description": "Logging level", "defaultValue": "info", "javaType": "java.lang.String", "type": "string" }, { "names": "--main-classname", "description": "The class name of the Camel Main application class", "defaultValue": "CamelApplication", "javaType": "java.lang.String", "type": "string" }, { "names": "--management-port", "description": "To use a dedicated port for HTTP management", "javaType": "int", "type": "integer" }, { "names": "--maven-apache-snapshot-enabled", "description": "Whether downloading JARs from ASF Maven Snapshot repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-central-enabled", "description": "Whether downloading JARs from Maven Central repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-settings", "description": "Optional location of Maven settings.xml file to configure servers, repositories, mirrors and proxies. If set to false, not even the default ~\/.m2\/settings.xml will be used.", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-settings-security", "description": "Optional location of Maven settings-security.xml file to decrypt settings.xml", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-wrapper", "description": "Include Maven Wrapper files in exported project", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--name", "description": "The integration name. Use this when the name should not get derived otherwise.", "javaType": "java.lang.String", "type": "string" }, { "names": "--observe", "description": "Enable observability services", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--open-api", "description": "Adds an OpenAPI spec from the given file (json or yaml file)", "javaType": "java.lang.String", "type": "string" }, { "names": "--output", "description": "Output format (gav, maven, jbang)", "defaultValue": "gav", "javaType": "java.lang.String", "type": "string" }, { "names": "--package-name", "description": "For Java source files should they have the given package name. By default the package name is computed from the Maven GAV. Use false to turn off and not include package name in the Java source files.", "javaType": "java.lang.String", "type": "string" }, { "names": "--package-scan-jars", "description": "Whether to automatic package scan JARs for custom Spring or Quarkus beans making them available for Camel JBang", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--port", "description": "Embeds a local HTTP server on this port", "javaType": "int", "type": "integer" }, { "names": "--profile", "description": "Profile to export (dev, test, or prod).", "javaType": "java.lang.String", "type": "string" }, { "names": "--prop,--property", "description": "Camel application properties, ex. --property=prop1=foo", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-artifact-id", "description": "Quarkus Platform Maven artifactId", "defaultValue": "quarkus-bom", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-group-id", "description": "Quarkus Platform Maven groupId", "defaultValue": "io.quarkus.platform", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-version", "description": "Quarkus Platform version", "defaultValue": "RuntimeType.QUARKUS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--quiet", "description": "Will be quiet, only print when error occurs", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--repo,--repos", "description": "Additional maven repositories (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--runtime", "description": "Runtime ()", "javaType": "org.apache.camel.dsl.jbang.core.common.RuntimeType", "type": "object" }, { "names": "--skip-plugins", "description": "Skip plugins during export", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--spring-boot-version", "description": "Spring Boot version", "defaultValue": "RuntimeType.SPRING_BOOT_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--verbose", "description": "Verbose output of startup activity (dependency resolution and downloading", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] } ] }, + { "name": "debug", "fullName": "debug", "description": "Debug local Camel integration", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.Debug", "options": [ { "names": "--ago", "description": "Use ago instead of yyyy-MM-dd HH:mm:ss in timestamp.", "javaType": "boolean", "type": "boolean" }, { "names": "--background", "description": "Run in the background", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--background-wait", "description": "To wait for run in background to startup successfully, before returning", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--backlog-trace", "description": "Enables backlog tracing of the routed messages", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--breakpoint", "description": "To set breakpoint at the given node id (Multiple ids can be separated by comma). If no breakpoint is set, then the first route is automatic selected.", "javaType": "java.lang.String", "type": "string" }, { "names": "--camel-spring-boot-version", "description": "To run using a different Camel Spring Boot version than the default version.", "javaType": "java.lang.String", "type": "string" }, { "names": "--camel-version", "description": "To run using a different Camel version than the default version.", "javaType": "java.lang.String", "type": "string" }, { "names": "--code", "description": "Run the given text or file as Java DSL routes", "javaType": "java.lang.String", "type": "string" }, { "names": "--console", "description": "Developer console at \/q\/dev on local HTTP server (port 8080 by default)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--dep,--dependency", "description": "Add additional dependencies", "javaType": "java.util.List", "type": "array" }, { "names": "--download", "description": "Whether to allow automatic downloading JAR dependencies (over the internet)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--empty", "description": "Run an empty Camel without loading source files", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--exclude", "description": "Exclude files by name or pattern", "javaType": "java.util.List", "type": "array" }, { "names": "--fresh", "description": "Make sure we use fresh (i.e. non-cached) resources", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--gav", "description": "The Maven group:artifact:version (used during exporting)", "javaType": "java.lang.String", "type": "string" }, { "names": "--health", "description": "Deprecated: use --observe instead. Health check at \/q\/health on local HTTP server (port 8080 by default)", "defaultValue": "false", "javaType": "boolean", "type": "boolean", "deprecated": true }, { "names": "--ignore-loading-error", "description": "Whether to ignore route loading and compilation errors (use this with care!)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--jfr", "description": "Enables Java Flight Recorder saving recording to disk on exit", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--jfr-profile", "description": "Java Flight Recorder profile to use (such as default or profile)", "javaType": "java.lang.String", "type": "string" }, { "names": "--jvm-debug", "description": "To enable JVM remote debugging on port 4004 by default. The supported values are true to enable the remote debugging, false to disable the remote debugging or a number to use a custom port", "javaType": "int", "type": "integer", "paramLabel": "" }, { "names": "--kamelets-version", "description": "Apache Camel Kamelets version", "javaType": "java.lang.String", "type": "string" }, { "names": "--lazy-bean", "description": "Whether to use lazy bean initialization (can help with complex classloading issues)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--local-kamelet-dir", "description": "Local directory (or github link) for loading Kamelets (takes precedence). Multiple directories can be specified separated by comma.", "javaType": "java.lang.String", "type": "string" }, { "names": "--log-lines", "description": "Number of log lines to display on top of screen", "defaultValue": "10", "javaType": "int", "type": "integer" }, { "names": "--logging", "description": "Can be used to turn off logging", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-category", "description": "Used for individual logging levels (ex: org.apache.kafka=DEBUG)", "javaType": "java.util.List", "type": "array" }, { "names": "--logging-color", "description": "Use colored logging. Default is auto-detected based on NO_COLOR, CI, FORCE_COLOR environment variables and terminal capabilities", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-config-path", "description": "Path to file with custom logging configuration", "javaType": "java.lang.String", "type": "string" }, { "names": "--logging-json", "description": "Use JSON logging (ECS Layout)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-level", "description": "Logging level ()", "defaultValue": "info", "javaType": "java.lang.String", "type": "string" }, { "names": "--management-port", "description": "To use a dedicated port for HTTP management (use 0 to dynamic assign a free random port number)", "javaType": "int", "type": "integer" }, { "names": "--mask", "description": "Whether to mask endpoint URIs to avoid printing sensitive information such as password or access keys", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-apache-snapshot-enabled", "description": "Whether downloading JARs from ASF Maven Snapshot repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-central-enabled", "description": "Whether downloading JARs from Maven Central repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-settings", "description": "Optional location of Maven settings.xml file to configure servers, repositories, mirrors and proxies. If set to false, not even the default ~\/.m2\/settings.xml will be used.", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-settings-security", "description": "Optional location of Maven settings-security.xml file to decrypt settings.xml", "javaType": "java.lang.String", "type": "string" }, { "names": "--max-idle-seconds", "description": "For how long time in seconds Camel can be idle before stopping", "defaultValue": "0", "javaType": "int", "type": "integer" }, { "names": "--max-messages", "description": "Max number of messages to process before stopping", "defaultValue": "0", "javaType": "int", "type": "integer" }, { "names": "--max-seconds", "description": "Max seconds to run before stopping", "defaultValue": "0", "javaType": "int", "type": "integer" }, { "names": "--metrics", "description": "Deprecated: use --observe instead. Metrics (Micrometer and Prometheus) at \/q\/metrics on local HTTP server (port 8080 by default)", "defaultValue": "false", "javaType": "boolean", "type": "boolean", "deprecated": true }, { "names": "--modeline", "description": "Whether to support JBang style \/\/DEPS to specify additional dependencies", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--name", "description": "The name of the Camel application", "defaultValue": "CamelJBang", "javaType": "java.lang.String", "type": "string" }, { "names": "--observe", "description": "Enable observability services", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--open-api", "description": "Adds an OpenAPI spec from the given file (json or yaml file)", "javaType": "java.lang.String", "type": "string" }, { "names": "--output", "description": "File to store the current message body (will override). This allows for manual inspecting the message later.", "javaType": "java.lang.String", "type": "string" }, { "names": "--package-scan-jars", "description": "Whether to automatic package scan JARs for custom Spring or Quarkus beans making them available for Camel JBang", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--port", "description": "Embeds a local HTTP server on this port (port 8080 by default; use 0 to dynamic assign a free random port number)", "javaType": "int", "type": "integer" }, { "names": "--pretty", "description": "Pretty print message body when using JSon or XML format", "javaType": "boolean", "type": "boolean" }, { "names": "--profile", "description": "Profile to run ().", "defaultValue": "dev", "javaType": "java.lang.String", "type": "string" }, { "names": "--prompt", "description": "Allow user to type in required parameters in prompt if not present in application", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--prop,--property", "description": "Additional properties (override existing)", "javaType": "java.lang.String", "type": "string" }, { "names": "--properties", "description": "comma separated list of properties file (ex. \/path\/to\/file.properties,\/path\/to\/other.properties", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-artifact-id", "description": "Quarkus Platform Maven artifactId", "defaultValue": "quarkus-bom", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-group-id", "description": "Quarkus Platform Maven groupId", "defaultValue": "io.quarkus.platform", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-version", "description": "Quarkus Platform version", "defaultValue": "RuntimeType.QUARKUS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--reload,--dev", "description": "Enables dev mode (live reload when source files are updated and saved)", "javaType": "boolean", "type": "boolean" }, { "names": "--remote-attach", "description": "Attaches debugger remotely to an existing running Camel integration. (Add camel-cli-debug JAR to the existing Camel application and run before attaching this debugger)", "javaType": "boolean", "type": "boolean" }, { "names": "--repo,--repos", "description": "Additional maven repositories (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--runtime", "description": "Runtime ()", "defaultValue": "camel-main", "javaType": "org.apache.camel.dsl.jbang.core.common.RuntimeType", "type": "object" }, { "names": "--show-body", "description": "Show message body in debug messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--show-exception", "description": "Show exception and stacktrace for failed messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--show-exchange-properties", "description": "Show exchange properties in debug messages", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--show-exchange-variables", "description": "Show exchange variables in debug messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--show-headers", "description": "Show message headers in debug messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--skip-plugins", "description": "Skip resolving plugin dependencies", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--source", "description": "Prefer to display source filename\/code instead of IDs", "javaType": "boolean", "type": "boolean" }, { "names": "--source-dir", "description": "Source directory for dynamically loading Camel file(s) to run. When using this, then files cannot be specified at the same time.", "javaType": "java.lang.String", "type": "string" }, { "names": "--spring-boot-version", "description": "Spring Boot version", "defaultValue": "RuntimeType.SPRING_BOOT_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--stop-on-exit", "description": "Whether to stop the running Camel on exit", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--stub", "description": "Stubs all the matching endpoint uri with the given component name or pattern. Multiple names can be separated by comma. (all = stub all endpoints).", "javaType": "java.lang.String", "type": "string" }, { "names": "--timestamp", "description": "Print timestamp.", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--trace", "description": "Enables trace logging of the routed messages", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--verbose", "description": "Verbose output of startup activity (dependency resolution and downloading", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, + { "name": "dependency", "fullName": "dependency", "description": "Displays all Camel dependencies required to run", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.DependencyCommand", "options": [ { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ], "subcommands": [ { "name": "copy", "fullName": "dependency copy", "description": "Copies all Camel dependencies required to run to a specific directory", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.DependencyCopy", "options": [ { "names": "--build-property", "description": "Maven build properties, ex. --build-property=prop1=foo", "javaType": "java.util.List", "type": "array" }, { "names": "--camel-spring-boot-version", "description": "Camel version to use with Spring Boot", "javaType": "java.lang.String", "type": "string" }, { "names": "--camel-version", "description": "To export using a different Camel version than the default version.", "javaType": "java.lang.String", "type": "string" }, { "names": "--clean-dir", "description": "If exporting to current directory (default) then all existing files are preserved. Enabling this option will force cleaning current directory including all sub dirs (use this with care)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--dep,--dependency", "description": "Add additional dependencies", "javaType": "java.util.List", "type": "array" }, { "names": "--dir,--directory", "description": "Directory where the project will be exported", "defaultValue": ".", "javaType": "java.lang.String", "type": "string" }, { "names": "--download", "description": "Whether to allow automatic downloading JAR dependencies (over the internet)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--dry-run", "description": "Preview export without writing files", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--exclude", "description": "Exclude files by name or pattern", "javaType": "java.util.List", "type": "array" }, { "names": "--fresh", "description": "Make sure we use fresh (i.e. non-cached) resources", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--gav", "description": "The Maven group:artifact:version", "javaType": "java.lang.String", "type": "string" }, { "names": "--groovy-pre-compiled", "description": "Whether to include pre-compiled Groovy classes in the export (only supported with runtime=camel-main)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--hawtio", "description": "Whether to include Hawtio web console (only available for exporting to Spring Boot or Quarkus)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--hawtio-version", "description": "Version of the Hawtio web console", "defaultValue": "HawtioVersion.HAWTIO_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--ignore-loading-error", "description": "Whether to ignore route loading and compilation errors (use this with care!)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--java-version", "description": "Java version ()", "defaultValue": "21", "javaType": "java.lang.String", "type": "string" }, { "names": "--kamelets-version", "description": "Apache Camel Kamelets version", "defaultValue": "RuntimeType.KAMELETS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--lazy-bean", "description": "Whether to use lazy bean initialization (can help with complex classloading issues", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--local-kamelet-dir", "description": "Local directory for loading Kamelets (takes precedence)", "javaType": "java.lang.String", "type": "string" }, { "names": "--logging", "description": "Can be used to turn on logging to console (logs by default to file in \/.camel directory)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-level", "description": "Logging level ()", "defaultValue": "info", "javaType": "java.lang.String", "type": "string" }, { "names": "--main-classname", "description": "The class name of the Camel Main application class", "defaultValue": "CamelApplication", "javaType": "java.lang.String", "type": "string" }, { "names": "--management-port", "description": "To use a dedicated port for HTTP management", "javaType": "int", "type": "integer" }, { "names": "--maven-apache-snapshot-enabled", "description": "Whether downloading JARs from ASF Maven Snapshot repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-central-enabled", "description": "Whether downloading JARs from Maven Central repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-settings", "description": "Optional location of Maven settings.xml file to configure servers, repositories, mirrors and proxies. If set to false, not even the default ~\/.m2\/settings.xml will be used.", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-settings-security", "description": "Optional location of Maven settings-security.xml file to decrypt settings.xml", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-wrapper", "description": "Include Maven Wrapper files in exported project", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--name", "description": "The integration name. Use this when the name should not get derived otherwise.", "javaType": "java.lang.String", "type": "string" }, { "names": "--observe", "description": "Enable observability services", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--open-api", "description": "Adds an OpenAPI spec from the given file (json or yaml file)", "javaType": "java.lang.String", "type": "string" }, { "names": "--output", "description": "Output format ()", "defaultValue": "gav", "javaType": "java.lang.String", "type": "string" }, { "names": "--output-directory", "description": "Directory where dependencies should be copied", "defaultValue": "lib", "javaType": "java.lang.String", "type": "string", "required": true }, { "names": "--package-name", "description": "For Java source files should they have the given package name. By default the package name is computed from the Maven GAV. Use false to turn off and not include package name in the Java source files.", "javaType": "java.lang.String", "type": "string" }, { "names": "--package-scan-jars", "description": "Whether to automatic package scan JARs for custom Spring or Quarkus beans making them available for Camel JBang", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--port", "description": "Embeds a local HTTP server on this port", "javaType": "int", "type": "integer" }, { "names": "--profile", "description": "Profile to export ().", "javaType": "java.lang.String", "type": "string" }, { "names": "--prop,--property", "description": "Camel application properties, ex. --property=prop1=foo", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-artifact-id", "description": "Quarkus Platform Maven artifactId", "defaultValue": "quarkus-bom", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-group-id", "description": "Quarkus Platform Maven groupId", "defaultValue": "io.quarkus.platform", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-version", "description": "Quarkus Platform version", "defaultValue": "RuntimeType.QUARKUS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--quiet", "description": "Will be quiet, only print when error occurs", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--repo,--repos", "description": "Additional maven repositories (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--runtime", "description": "Runtime ()", "javaType": "org.apache.camel.dsl.jbang.core.common.RuntimeType", "type": "object" }, { "names": "--skip-plugins", "description": "Skip plugins during export", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--spring-boot-version", "description": "Spring Boot version", "defaultValue": "RuntimeType.SPRING_BOOT_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--verbose", "description": "Verbose output of startup activity (dependency resolution and downloading", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--yes,-y", "description": "Automatically answer yes to confirmation prompts (e.g. when using --clean-dir)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "list", "fullName": "dependency list", "description": "Displays all Camel dependencies required to run", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.DependencyList", "options": [ { "names": "--build-property", "description": "Maven build properties, ex. --build-property=prop1=foo", "javaType": "java.util.List", "type": "array" }, { "names": "--camel-spring-boot-version", "description": "Camel version to use with Spring Boot", "javaType": "java.lang.String", "type": "string" }, { "names": "--camel-version", "description": "To export using a different Camel version than the default version.", "javaType": "java.lang.String", "type": "string" }, { "names": "--clean-dir", "description": "If exporting to current directory (default) then all existing files are preserved. Enabling this option will force cleaning current directory including all sub dirs (use this with care)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--dep,--dependency", "description": "Add additional dependencies", "javaType": "java.util.List", "type": "array" }, { "names": "--dir,--directory", "description": "Directory where the project will be exported", "defaultValue": ".", "javaType": "java.lang.String", "type": "string" }, { "names": "--download", "description": "Whether to allow automatic downloading JAR dependencies (over the internet)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--dry-run", "description": "Preview export without writing files", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--exclude", "description": "Exclude files by name or pattern", "javaType": "java.util.List", "type": "array" }, { "names": "--fresh", "description": "Make sure we use fresh (i.e. non-cached) resources", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--gav", "description": "The Maven group:artifact:version", "javaType": "java.lang.String", "type": "string" }, { "names": "--groovy-pre-compiled", "description": "Whether to include pre-compiled Groovy classes in the export (only supported with runtime=camel-main)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--hawtio", "description": "Whether to include Hawtio web console (only available for exporting to Spring Boot or Quarkus)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--hawtio-version", "description": "Version of the Hawtio web console", "defaultValue": "HawtioVersion.HAWTIO_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--ignore-loading-error", "description": "Whether to ignore route loading and compilation errors (use this with care!)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--java-version", "description": "Java version ()", "defaultValue": "21", "javaType": "java.lang.String", "type": "string" }, { "names": "--kamelets-version", "description": "Apache Camel Kamelets version", "defaultValue": "RuntimeType.KAMELETS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--lazy-bean", "description": "Whether to use lazy bean initialization (can help with complex classloading issues", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--local-kamelet-dir", "description": "Local directory for loading Kamelets (takes precedence)", "javaType": "java.lang.String", "type": "string" }, { "names": "--logging", "description": "Can be used to turn on logging to console (logs by default to file in \/.camel directory)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-level", "description": "Logging level ()", "defaultValue": "info", "javaType": "java.lang.String", "type": "string" }, { "names": "--main-classname", "description": "The class name of the Camel Main application class", "defaultValue": "CamelApplication", "javaType": "java.lang.String", "type": "string" }, { "names": "--management-port", "description": "To use a dedicated port for HTTP management", "javaType": "int", "type": "integer" }, { "names": "--maven-apache-snapshot-enabled", "description": "Whether downloading JARs from ASF Maven Snapshot repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-central-enabled", "description": "Whether downloading JARs from Maven Central repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-settings", "description": "Optional location of Maven settings.xml file to configure servers, repositories, mirrors and proxies. If set to false, not even the default ~\/.m2\/settings.xml will be used.", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-settings-security", "description": "Optional location of Maven settings-security.xml file to decrypt settings.xml", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-wrapper", "description": "Include Maven Wrapper files in exported project", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--name", "description": "The integration name. Use this when the name should not get derived otherwise.", "javaType": "java.lang.String", "type": "string" }, { "names": "--observe", "description": "Enable observability services", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--open-api", "description": "Adds an OpenAPI spec from the given file (json or yaml file)", "javaType": "java.lang.String", "type": "string" }, { "names": "--output", "description": "Output format ()", "defaultValue": "gav", "javaType": "java.lang.String", "type": "string" }, { "names": "--package-name", "description": "For Java source files should they have the given package name. By default the package name is computed from the Maven GAV. Use false to turn off and not include package name in the Java source files.", "javaType": "java.lang.String", "type": "string" }, { "names": "--package-scan-jars", "description": "Whether to automatic package scan JARs for custom Spring or Quarkus beans making them available for Camel JBang", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--port", "description": "Embeds a local HTTP server on this port", "javaType": "int", "type": "integer" }, { "names": "--profile", "description": "Profile to export ().", "javaType": "java.lang.String", "type": "string" }, { "names": "--prop,--property", "description": "Camel application properties, ex. --property=prop1=foo", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-artifact-id", "description": "Quarkus Platform Maven artifactId", "defaultValue": "quarkus-bom", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-group-id", "description": "Quarkus Platform Maven groupId", "defaultValue": "io.quarkus.platform", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-version", "description": "Quarkus Platform version", "defaultValue": "RuntimeType.QUARKUS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--quiet", "description": "Will be quiet, only print when error occurs", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--repo,--repos", "description": "Additional maven repositories (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--runtime", "description": "Runtime ()", "javaType": "org.apache.camel.dsl.jbang.core.common.RuntimeType", "type": "object" }, { "names": "--skip-plugins", "description": "Skip plugins during export", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--spring-boot-version", "description": "Spring Boot version", "defaultValue": "RuntimeType.SPRING_BOOT_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--verbose", "description": "Verbose output of startup activity (dependency resolution and downloading", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--yes,-y", "description": "Automatically answer yes to confirmation prompts (e.g. when using --clean-dir)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "runtime", "fullName": "dependency runtime", "description": "Display Camel runtime and version for given Maven project", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.DependencyRuntime", "options": [ { "names": "--download", "description": "Whether to allow automatic downloading JAR dependencies (over the internet)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--repo,--repos", "description": "Additional maven repositories (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "update", "fullName": "dependency update", "description": "Updates dependencies in Maven pom.xml or Java source files (JBang style)", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.DependencyUpdate", "options": [ { "names": "--build-property", "description": "Maven build properties, ex. --build-property=prop1=foo", "javaType": "java.util.List", "type": "array" }, { "names": "--camel-spring-boot-version", "description": "Camel version to use with Spring Boot", "javaType": "java.lang.String", "type": "string" }, { "names": "--camel-version", "description": "To export using a different Camel version than the default version.", "javaType": "java.lang.String", "type": "string" }, { "names": "--clean", "description": "Regenerate list of dependencies (do not keep existing dependencies). Not supported for pom.xml", "javaType": "boolean", "type": "boolean" }, { "names": "--clean-dir", "description": "If exporting to current directory (default) then all existing files are preserved. Enabling this option will force cleaning current directory including all sub dirs (use this with care)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--dep,--dependency", "description": "Add additional dependencies", "javaType": "java.util.List", "type": "array" }, { "names": "--dir,--directory", "description": "Directory where the project will be exported", "defaultValue": ".", "javaType": "java.lang.String", "type": "string" }, { "names": "--download", "description": "Whether to allow automatic downloading JAR dependencies (over the internet)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--dry-run", "description": "Preview export without writing files", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--exclude", "description": "Exclude files by name or pattern", "javaType": "java.util.List", "type": "array" }, { "names": "--fresh", "description": "Make sure we use fresh (i.e. non-cached) resources", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--gav", "description": "The Maven group:artifact:version", "javaType": "java.lang.String", "type": "string" }, { "names": "--groovy-pre-compiled", "description": "Whether to include pre-compiled Groovy classes in the export (only supported with runtime=camel-main)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--hawtio", "description": "Whether to include Hawtio web console (only available for exporting to Spring Boot or Quarkus)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--hawtio-version", "description": "Version of the Hawtio web console", "defaultValue": "HawtioVersion.HAWTIO_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--ignore-loading-error", "description": "Whether to ignore route loading and compilation errors (use this with care!)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--java-version", "description": "Java version ()", "defaultValue": "21", "javaType": "java.lang.String", "type": "string" }, { "names": "--kamelets-version", "description": "Apache Camel Kamelets version", "defaultValue": "RuntimeType.KAMELETS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--lazy-bean", "description": "Whether to use lazy bean initialization (can help with complex classloading issues", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--local-kamelet-dir", "description": "Local directory for loading Kamelets (takes precedence)", "javaType": "java.lang.String", "type": "string" }, { "names": "--logging", "description": "Can be used to turn on logging to console (logs by default to file in \/.camel directory)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-level", "description": "Logging level ()", "defaultValue": "info", "javaType": "java.lang.String", "type": "string" }, { "names": "--main-classname", "description": "The class name of the Camel Main application class", "defaultValue": "CamelApplication", "javaType": "java.lang.String", "type": "string" }, { "names": "--management-port", "description": "To use a dedicated port for HTTP management", "javaType": "int", "type": "integer" }, { "names": "--maven-apache-snapshot-enabled", "description": "Whether downloading JARs from ASF Maven Snapshot repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-central-enabled", "description": "Whether downloading JARs from Maven Central repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-settings", "description": "Optional location of Maven settings.xml file to configure servers, repositories, mirrors and proxies. If set to false, not even the default ~\/.m2\/settings.xml will be used.", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-settings-security", "description": "Optional location of Maven settings-security.xml file to decrypt settings.xml", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-wrapper", "description": "Include Maven Wrapper files in exported project", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--name", "description": "The integration name. Use this when the name should not get derived otherwise.", "javaType": "java.lang.String", "type": "string" }, { "names": "--observe", "description": "Enable observability services", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--open-api", "description": "Adds an OpenAPI spec from the given file (json or yaml file)", "javaType": "java.lang.String", "type": "string" }, { "names": "--output", "description": "Output format ()", "defaultValue": "gav", "javaType": "java.lang.String", "type": "string" }, { "names": "--package-name", "description": "For Java source files should they have the given package name. By default the package name is computed from the Maven GAV. Use false to turn off and not include package name in the Java source files.", "javaType": "java.lang.String", "type": "string" }, { "names": "--package-scan-jars", "description": "Whether to automatic package scan JARs for custom Spring or Quarkus beans making them available for Camel JBang", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--port", "description": "Embeds a local HTTP server on this port", "javaType": "int", "type": "integer" }, { "names": "--profile", "description": "Profile to export ().", "javaType": "java.lang.String", "type": "string" }, { "names": "--prop,--property", "description": "Camel application properties, ex. --property=prop1=foo", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-artifact-id", "description": "Quarkus Platform Maven artifactId", "defaultValue": "quarkus-bom", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-group-id", "description": "Quarkus Platform Maven groupId", "defaultValue": "io.quarkus.platform", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-version", "description": "Quarkus Platform version", "defaultValue": "RuntimeType.QUARKUS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--quiet", "description": "Will be quiet, only print when error occurs", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--repo,--repos", "description": "Additional maven repositories (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--runtime", "description": "Runtime ()", "javaType": "org.apache.camel.dsl.jbang.core.common.RuntimeType", "type": "object" }, { "names": "--scan-routes", "description": "Sync dependencies from route definitions. Only manages org.apache.camel dependencies, preserving non-Camel dependencies. Removes unused Camel dependencies.", "javaType": "boolean", "type": "boolean" }, { "names": "--skip-plugins", "description": "Skip plugins during export", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--spring-boot-version", "description": "Spring Boot version", "defaultValue": "RuntimeType.SPRING_BOOT_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--verbose", "description": "Verbose output of startup activity (dependency resolution and downloading", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--yes,-y", "description": "Automatically answer yes to confirmation prompts (e.g. when using --clean-dir)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] } ] }, { "name": "dirty", "fullName": "dirty", "description": "Check if there are dirty files from previous Camel runs that did not terminate gracefully", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.Dirty", "options": [ { "names": "--clean", "description": "Clean dirty files which are no longer in use", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "doc", "fullName": "doc", "description": "Shows documentation for kamelet, component, and other Camel resources", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.catalog.CatalogDoc", "options": [ { "names": "--camel-version", "description": "To use a different Camel version than the default version", "javaType": "java.lang.String", "type": "string" }, { "names": "--download", "description": "Whether to allow automatic downloading JAR dependencies (over the internet)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--filter", "description": "Filter option listed in tables by name, description, or group", "javaType": "java.lang.String", "type": "string" }, { "names": "--header", "description": "Whether to display component message headers", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--kamelets-version", "description": "Apache Camel Kamelets version", "defaultValue": "RuntimeType.KAMELETS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--open-url", "description": "Opens the online documentation form the Camel website in the web browser", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--quarkus-group-id", "description": "Quarkus Platform Maven groupId", "defaultValue": "io.quarkus.platform", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-version", "description": "Quarkus Platform version", "defaultValue": "RuntimeType.QUARKUS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--repo,--repos", "description": "Additional maven repositories for download on-demand (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--runtime", "description": "Runtime ()", "javaType": "org.apache.camel.dsl.jbang.core.common.RuntimeType", "type": "object" }, { "names": "--url", "description": "Prints the link to the online documentation on the Camel website", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "eval", "fullName": "eval", "description": "Evaluate Camel expressions and scripts", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.EvalCommand", "options": [ { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ], "subcommands": [ { "name": "expression", "fullName": "eval expression", "description": "Evaluates Camel expression", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.EvalExpressionCommand", "options": [ { "names": "--body", "description": "Message body (prefix with file: to refer to loading message body from file)", "javaType": "java.lang.String", "type": "string" }, { "names": "--camel-version", "description": "To run using a different Camel version than the default version.", "javaType": "java.lang.String", "type": "string" }, { "names": "--header", "description": "Message header (key=value)", "javaType": "java.util.List", "type": "array" }, { "names": "--isolated", "description": "Whether to run evaluation isolated in local process", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--language", "description": "Language to use", "defaultValue": "simple", "javaType": "java.lang.String", "type": "string" }, { "names": "--predicate", "description": "Whether to force evaluating as predicate", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--repo,--repos", "description": "Additional maven repositories (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--template", "description": "The template to use for evaluating (prefix with file: to refer to loading template from file)", "javaType": "java.lang.String", "type": "string", "required": true }, { "names": "--timeout", "description": "Timeout in millis waiting for evaluation to be done", "defaultValue": "10000", "javaType": "long", "type": "integer" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] } ] }, - { "name": "explain", "fullName": "explain", "description": "Explain what a Camel route does using AI\/LLM", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.Explain", "options": [ { "names": "--api-key", "description": "API key for authentication. Also reads OPENAI_API_KEY or LLM_API_KEY env vars", "javaType": "java.lang.String", "type": "string" }, { "names": "--api-type", "description": "API type: 'ollama' or 'openai' (OpenAI-compatible)", "defaultValue": "ollama", "javaType": "org.apache.camel.dsl.jbang.core.commands.ApiType", "type": "object" }, { "names": "--catalog-context", "description": "Include Camel Catalog descriptions in the prompt", "javaType": "boolean", "type": "boolean" }, { "names": "--format", "description": "Output format: text, markdown", "defaultValue": "text", "javaType": "java.lang.String", "type": "string" }, { "names": "--model", "description": "Model to use", "defaultValue": "DEFAULT_MODEL", "javaType": "java.lang.String", "type": "string" }, { "names": "--show-prompt", "description": "Show the prompt sent to the LLM", "javaType": "boolean", "type": "boolean" }, { "names": "--stream", "description": "Stream the response as it's generated (shows progress)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--system-prompt", "description": "Custom system prompt", "javaType": "java.lang.String", "type": "string" }, { "names": "--temperature", "description": "Temperature for response generation (0.0-2.0)", "defaultValue": "0.7", "javaType": "double", "type": "number" }, { "names": "--timeout", "description": "Timeout in seconds for LLM response", "defaultValue": "120", "javaType": "int", "type": "integer" }, { "names": "--url", "description": "LLM API endpoint URL. Auto-detected from 'camel infra' for Ollama if not specified.", "javaType": "java.lang.String", "type": "string" }, { "names": "--verbose,-v", "description": "Include detailed technical information", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, - { "name": "export", "fullName": "export", "description": "Export to other runtimes (Camel Main, Spring Boot, or Quarkus)", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.Export", "options": [ { "names": "--build-property", "description": "Maven build properties, ex. --build-property=prop1=foo", "javaType": "java.util.List", "type": "array" }, { "names": "--camel-spring-boot-version", "description": "Camel version to use with Spring Boot", "javaType": "java.lang.String", "type": "string" }, { "names": "--camel-version", "description": "To export using a different Camel version than the default version.", "javaType": "java.lang.String", "type": "string" }, { "names": "--clean-dir", "description": "If exporting to current directory (default) then all existing files are preserved. Enabling this option will force cleaning current directory including all sub dirs (use this with care)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--dep,--dependency", "description": "Add additional dependencies", "javaType": "java.util.List", "type": "array" }, { "names": "--dir,--directory", "description": "Directory where the project will be exported", "defaultValue": ".", "javaType": "java.lang.String", "type": "string" }, { "names": "--download", "description": "Whether to allow automatic downloading JAR dependencies (over the internet)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--exclude", "description": "Exclude files by name or pattern", "javaType": "java.util.List", "type": "array" }, { "names": "--fresh", "description": "Make sure we use fresh (i.e. non-cached) resources", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--gav", "description": "The Maven group:artifact:version", "javaType": "java.lang.String", "type": "string" }, { "names": "--groovy-pre-compiled", "description": "Whether to include pre-compiled Groovy classes in the export (only supported with runtime=camel-main)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--hawtio", "description": "Whether to include Hawtio web console (only available for exporting to Spring Boot or Quarkus)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--hawtio-version", "description": "Version of the Hawtio web console", "defaultValue": "HawtioVersion.HAWTIO_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--ignore-loading-error", "description": "Whether to ignore route loading and compilation errors (use this with care!)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--java-version", "description": "Java version (21, 25)", "defaultValue": "21", "javaType": "java.lang.String", "type": "string" }, { "names": "--kamelets-version", "description": "Apache Camel Kamelets version", "defaultValue": "RuntimeType.KAMELETS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--lazy-bean", "description": "Whether to use lazy bean initialization (can help with complex classloading issues", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--local-kamelet-dir", "description": "Local directory for loading Kamelets (takes precedence)", "javaType": "java.lang.String", "type": "string" }, { "names": "--logging", "description": "Can be used to turn on logging to console (logs by default to file in \/.camel directory)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-level", "description": "Logging level", "defaultValue": "info", "javaType": "java.lang.String", "type": "string" }, { "names": "--main-classname", "description": "The class name of the Camel Main application class", "defaultValue": "CamelApplication", "javaType": "java.lang.String", "type": "string" }, { "names": "--management-port", "description": "To use a dedicated port for HTTP management", "javaType": "int", "type": "integer" }, { "names": "--maven-apache-snapshot-enabled", "description": "Whether downloading JARs from ASF Maven Snapshot repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-central-enabled", "description": "Whether downloading JARs from Maven Central repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-settings", "description": "Optional location of Maven settings.xml file to configure servers, repositories, mirrors and proxies. If set to false, not even the default ~\/.m2\/settings.xml will be used.", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-settings-security", "description": "Optional location of Maven settings-security.xml file to decrypt settings.xml", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-wrapper", "description": "Include Maven Wrapper files in exported project", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--name", "description": "The integration name. Use this when the name should not get derived otherwise.", "javaType": "java.lang.String", "type": "string" }, { "names": "--observe", "description": "Enable observability services", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--open-api", "description": "Adds an OpenAPI spec from the given file (json or yaml file)", "javaType": "java.lang.String", "type": "string" }, { "names": "--package-name", "description": "For Java source files should they have the given package name. By default the package name is computed from the Maven GAV. Use false to turn off and not include package name in the Java source files.", "javaType": "java.lang.String", "type": "string" }, { "names": "--package-scan-jars", "description": "Whether to automatic package scan JARs for custom Spring or Quarkus beans making them available for Camel JBang", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--port", "description": "Embeds a local HTTP server on this port", "javaType": "int", "type": "integer" }, { "names": "--profile", "description": "Profile to export (dev, test, or prod).", "javaType": "java.lang.String", "type": "string" }, { "names": "--prop,--property", "description": "Camel application properties, ex. --property=prop1=foo", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-artifact-id", "description": "Quarkus Platform Maven artifactId", "defaultValue": "quarkus-bom", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-group-id", "description": "Quarkus Platform Maven groupId", "defaultValue": "io.quarkus.platform", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-version", "description": "Quarkus Platform version", "defaultValue": "RuntimeType.QUARKUS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--quiet", "description": "Will be quiet, only print when error occurs", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--repo,--repos", "description": "Additional maven repositories (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--runtime", "description": "Runtime ()", "javaType": "org.apache.camel.dsl.jbang.core.common.RuntimeType", "type": "object" }, { "names": "--skip-plugins", "description": "Skip plugins during export", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--spring-boot-version", "description": "Spring Boot version", "defaultValue": "RuntimeType.SPRING_BOOT_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--verbose", "description": "Verbose output of startup activity (dependency resolution and downloading", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, - { "name": "get", "fullName": "get", "description": "Get status of Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.CamelStatus", "options": [ { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ], "subcommands": [ { "name": "bean", "fullName": "get bean", "description": "List beans in a running Camel integration", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelBeanDump", "options": [ { "names": "--dsl", "description": "Include only beans from YAML or XML DSL", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--filter", "description": "Filter beans names (use all to include all beans)", "defaultValue": "all", "javaType": "java.lang.String", "type": "string" }, { "names": "--internal", "description": "Include internal Camel beans", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--nulls", "description": "Include null values", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--properties", "description": "Show bean properties", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by name or type", "defaultValue": "name", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "blocked", "fullName": "get blocked", "description": "Get blocked messages of Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListBlocked", "options": [ { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "circuit-breaker", "fullName": "get circuit-breaker", "description": "Get status of Circuit Breaker EIPs", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListCircuitBreaker", "options": [ { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "consumer", "fullName": "get consumer", "description": "Get status of Camel consumers", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListConsumer", "options": [ { "names": "--filter", "description": "Filter consumers by URI", "javaType": "java.lang.String", "type": "string" }, { "names": "--limit", "description": "Filter consumers by limiting to the given number of rows", "javaType": "int", "type": "integer" }, { "names": "--scheduled", "description": "Filter consumer to only show scheduled based consumers", "javaType": "boolean", "type": "boolean" }, { "names": "--short-uri", "description": "List endpoint URI without query parameters (short)", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "--wide-uri", "description": "List endpoint URI in full details", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "context", "fullName": "get context", "description": "Get status of Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.CamelContextStatus", "options": [ { "names": "--remote", "description": "Break down counters into remote\/total pairs", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "count", "fullName": "get count", "description": "Get total and failed exchanges", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.CamelCount", "options": [ { "names": "--fail", "description": "Get the failed exchanges from a running integration", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--total", "description": "Get the total exchanges from a running integration", "javaType": "boolean", "type": "boolean" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "endpoint", "fullName": "get endpoint", "description": "Get usage of Camel endpoints", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListEndpoint", "options": [ { "names": "--filter", "description": "Filter endpoints by URI", "javaType": "java.lang.String", "type": "string" }, { "names": "--filter-direction", "description": "Filter by direction (in or out)", "javaType": "java.lang.String", "type": "string" }, { "names": "--filter-total", "description": "Filter endpoints that must be higher than the given usage", "javaType": "long", "type": "integer" }, { "names": "--limit", "description": "Filter endpoints by limiting to the given number of rows", "javaType": "int", "type": "integer" }, { "names": "--short-uri", "description": "List endpoint URI without query parameters (short)", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name, age or total", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "--wide-uri", "description": "List endpoint URI in full details", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "event", "fullName": "get event", "description": "Get latest events of Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListEvent", "options": [ { "names": "--filter", "description": "Filter event by event type: context, route, or exchange", "javaType": "java.lang.String", "type": "string" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "groovy", "fullName": "get groovy", "description": "Groovy Sources used of Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListGroovy", "options": [ { "names": "--sort", "description": "Sort by pid or name", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "group", "fullName": "get group", "description": "Get status of Camel route groups", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.CamelRouteGroupStatus", "options": [ { "names": "--filter", "description": "Filter groups by name", "javaType": "java.lang.String", "type": "string" }, { "names": "--filter-mean", "description": "Filter groups that must be slower than the given time (ms)", "javaType": "long", "type": "integer" }, { "names": "--limit", "description": "Filter groups by limiting to the given number of rows", "javaType": "int", "type": "integer" }, { "names": "--running", "description": "Only include running groups", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name, age or group", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "health", "fullName": "get health", "description": "Get health check status of running Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListHealth", "options": [ { "names": "--depth", "description": "Max depth of stack-trace", "defaultValue": "1", "javaType": "int", "type": "integer" }, { "names": "--down", "description": "Show only checks which are DOWN", "javaType": "boolean", "type": "boolean" }, { "names": "--level", "description": "Level of details: full, or default", "defaultValue": "default", "javaType": "java.lang.String", "type": "string" }, { "names": "--live", "description": "Show only liveness checks", "javaType": "boolean", "type": "boolean" }, { "names": "--ready", "description": "Show only readiness checks", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--trace", "description": "Include stack-traces in error messages", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "history", "fullName": "get history", "description": "History of latest completed exchange", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelHistoryAction", "options": [ { "names": "--ago", "description": "Use ago instead of yyyy-MM-dd HH:mm:ss in timestamp.", "javaType": "boolean", "type": "boolean" }, { "names": "--depth", "description": "Depth of tracing. 0=Created Completed. 1=All events on 1st route, 2=All events on 1st 2nd depth, and so on. 9 = all events on every depth.", "defaultValue": "9", "javaType": "int", "type": "integer" }, { "names": "--it", "description": "Interactive mode for enhanced history information", "javaType": "boolean", "type": "boolean" }, { "names": "--limit-split", "description": "Limit Split to a maximum number of entries to be displayed", "javaType": "int", "type": "integer" }, { "names": "--logging-color", "description": "Use colored logging", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--mask", "description": "Whether to mask endpoint URIs to avoid printing sensitive information such as password or access keys", "javaType": "boolean", "type": "boolean" }, { "names": "--pretty", "description": "Pretty print message body when using JSon or XML format", "javaType": "boolean", "type": "boolean" }, { "names": "--show-body", "description": "Show message body in debug messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--show-exception", "description": "Show exception and stacktrace for failed messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--show-exchange-properties", "description": "Show exchange properties in debug messages", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--show-exchange-variables", "description": "Show exchange variables in debug messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--show-headers", "description": "Show message headers in debug messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--source", "description": "Prefer to display source filename\/code instead of IDs", "javaType": "boolean", "type": "boolean" }, { "names": "--timestamp", "description": "Print timestamp.", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "inflight", "fullName": "get inflight", "description": "Get inflight messages of Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListInflight", "options": [ { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "internal-task", "fullName": "get internal-task", "description": "List internal tasks of Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListInternalTask", "options": [ { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "kafka", "fullName": "get kafka", "description": "List Kafka consumers of Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListKafka", "options": [ { "names": "--committed", "description": "Show committed offset (slower due to sync call to Kafka brokers)", "javaType": "boolean", "type": "boolean" }, { "names": "--short-uri", "description": "List endpoint URI without query parameters (short)", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "--wide-uri", "description": "List endpoint URI in full details", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "metric", "fullName": "get metric", "description": "Get metrics (micrometer) of running Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListMetric", "options": [ { "names": "--all", "description": "Whether to show all metrics (also unused with counter being 0)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--custom", "description": "Only show custom metrics", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--filter", "description": "Filter metric by type, name or tags", "javaType": "java.lang.String", "type": "string" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--tags", "description": "Show metric tags", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "platform-http", "fullName": "get platform-http", "description": "Get embedded HTTP services of Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListPlatformHttp", "options": [ { "names": "--all", "description": "Include management endpoints", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "processor", "fullName": "get processor", "description": "Get status of Camel processors", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.CamelProcessorStatus", "options": [ { "names": "--description", "description": "Include description in the ID column (if available)", "javaType": "boolean", "type": "boolean" }, { "names": "--filter", "description": "Filter processors by id", "javaType": "java.lang.String", "type": "string" }, { "names": "--filter-mean", "description": "Filter processors that must be slower than the given time (ms)", "javaType": "long", "type": "integer" }, { "names": "--group", "description": "Filter processors by group", "javaType": "java.lang.String", "type": "string" }, { "names": "--limit", "description": "Filter routes by limiting to the given number of rows", "javaType": "int", "type": "integer" }, { "names": "--note", "description": "Include note in the ID column (if available)", "javaType": "boolean", "type": "boolean" }, { "names": "--remote", "description": "Break down counters into remote\/total pairs", "javaType": "boolean", "type": "boolean" }, { "names": "--running", "description": "Only include running processors", "javaType": "boolean", "type": "boolean" }, { "names": "--show-group", "description": "Include group column", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid or name", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--source", "description": "Prefer to display source filename\/code instead of IDs", "javaType": "boolean", "type": "boolean" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "producer", "fullName": "get producer", "description": "Get status of Camel producers", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListProducer", "options": [ { "names": "--filter", "description": "Filter producers by URI", "javaType": "java.lang.String", "type": "string" }, { "names": "--limit", "description": "Filter producers by limiting to the given number of rows", "javaType": "int", "type": "integer" }, { "names": "--short-uri", "description": "List endpoint URI without query parameters (short)", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "--wide-uri", "description": "List endpoint URI in full details", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "properties", "fullName": "get properties", "description": "List configuration properties", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListProperties", "options": [ { "names": "--internal", "description": "Whether to include internal configuration", "javaType": "boolean", "type": "boolean" }, { "names": "--mask", "description": "Whether to mask configuration values to avoid printing sensitive information such as password or access keys", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or key", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--startup", "description": "List only startup configuration", "javaType": "boolean", "type": "boolean" }, { "names": "--verbose", "description": "Whether to include more details", "javaType": "boolean", "type": "boolean" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "rest", "fullName": "get rest", "description": "Get REST services of Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListRest", "options": [ { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--verbose", "description": "Show more details", "javaType": "boolean", "type": "boolean" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "route", "fullName": "get route", "description": "Get status of Camel routes", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.CamelRouteStatus", "options": [ { "names": "--description", "description": "Include description in the ID column (if available)", "javaType": "boolean", "type": "boolean" }, { "names": "--error", "description": "Shows detailed information for routes that has error status", "javaType": "boolean", "type": "boolean" }, { "names": "--filter", "description": "Filter routes by id, or url", "javaType": "java.lang.String", "type": "string" }, { "names": "--filter-mean", "description": "Filter routes that must be slower than the given time (ms)", "javaType": "long", "type": "integer" }, { "names": "--group", "description": "Filter routes by group", "javaType": "java.lang.String", "type": "string" }, { "names": "--limit", "description": "Filter routes by limiting to the given number of rows", "javaType": "int", "type": "integer" }, { "names": "--note", "description": "Include note in the ID column (if available)", "javaType": "boolean", "type": "boolean" }, { "names": "--running", "description": "Only include running routes", "javaType": "boolean", "type": "boolean" }, { "names": "--short-uri", "description": "List endpoint URI without query parameters (short)", "javaType": "boolean", "type": "boolean" }, { "names": "--show-group", "description": "Include group column", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--source", "description": "Prefer to display source filename\/code instead of IDs", "javaType": "boolean", "type": "boolean" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "--wide-uri", "description": "List endpoint URI in full details", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "route-controller", "fullName": "get route-controller", "description": "List status of route controller", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.RouteControllerAction", "options": [ { "names": "--depth", "description": "Max depth of stack-trace", "defaultValue": "1", "javaType": "int", "type": "integer" }, { "names": "--header", "description": "Include controller configuration details", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by id, or state", "defaultValue": "id", "javaType": "java.lang.String", "type": "string" }, { "names": "--trace", "description": "Include stack-traces in error messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "route-dump", "fullName": "get route-dump", "description": "Dump Camel route in XML or YAML format", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelRouteDumpAction", "options": [ { "names": "--filter", "description": "Filter route by filename or route id (multiple names can be separated by comma)", "javaType": "java.lang.String", "type": "string" }, { "names": "--format", "description": "Output format (xml, or yaml)", "defaultValue": "yaml", "javaType": "java.lang.String", "type": "string" }, { "names": "--raw", "description": "To output raw without metadata", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort route by name or id", "defaultValue": "name", "javaType": "java.lang.String", "type": "string" }, { "names": "--uri-as-parameters", "description": "Whether to expand URIs into separated key\/value parameters (only in use for YAML format)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "service", "fullName": "get service", "description": "Get services of Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListService", "options": [ { "names": "--metadata", "description": "Show service metadata (only available for some services)", "javaType": "boolean", "type": "boolean" }, { "names": "--short-uri", "description": "List endpoint URI without query parameters (short)", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "--wide-uri", "description": "List endpoint URI in full details", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "source", "fullName": "get source", "description": "Display Camel route source code", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelSourceAction", "options": [ { "names": "--filter", "description": "Filter source by filename (multiple names can be separated by comma)", "javaType": "java.lang.String", "type": "string" }, { "names": "--sort", "description": "Sort source by name", "defaultValue": "name", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "startup-recorder", "fullName": "get startup-recorder", "description": "Display startup recording", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelStartupRecorderAction", "options": [ { "names": "--sort", "description": "Sort by duration, or type", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "transformer", "fullName": "get transformer", "description": "Get list of data type transformers", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListTransformer", "options": [ { "names": "--sort", "description": "Sort by pid, name, age or total", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "variable", "fullName": "get variable", "description": "List variables of Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListVariable", "options": [ { "names": "--sort", "description": "Sort by pid, name or key", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "vault", "fullName": "get vault", "description": "List secrets from security vaults", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListVault", "options": [ { "names": "--sort", "description": "Sort by pid, name", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] } ] }, - { "name": "harden", "fullName": "harden", "description": "Suggest security hardening for Camel routes using AI\/LLM", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.Harden", "options": [ { "names": "--api-key", "description": "API key for authentication. Also reads OPENAI_API_KEY or LLM_API_KEY env vars", "javaType": "java.lang.String", "type": "string" }, { "names": "--api-type", "description": "API type: 'ollama' or 'openai' (OpenAI-compatible)", "defaultValue": "ollama", "javaType": "org.apache.camel.dsl.jbang.core.commands.ApiType", "type": "object" }, { "names": "--catalog-context", "description": "Include Camel Catalog descriptions in the prompt", "javaType": "boolean", "type": "boolean" }, { "names": "--format", "description": "Output format: text, markdown", "defaultValue": "text", "javaType": "java.lang.String", "type": "string" }, { "names": "--model", "description": "Model to use", "defaultValue": "DEFAULT_MODEL", "javaType": "java.lang.String", "type": "string" }, { "names": "--show-prompt", "description": "Show the prompt sent to the LLM", "javaType": "boolean", "type": "boolean" }, { "names": "--stream", "description": "Stream the response as it's generated (shows progress)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--system-prompt", "description": "Custom system prompt", "javaType": "java.lang.String", "type": "string" }, { "names": "--temperature", "description": "Temperature for response generation (0.0-2.0)", "defaultValue": "0.7", "javaType": "double", "type": "number" }, { "names": "--timeout", "description": "Timeout in seconds for LLM response", "defaultValue": "120", "javaType": "int", "type": "integer" }, { "names": "--url", "description": "LLM API endpoint URL. Auto-detected from 'camel infra' for Ollama if not specified.", "javaType": "java.lang.String", "type": "string" }, { "names": "--verbose,-v", "description": "Include detailed security recommendations with code examples", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, + { "name": "explain", "fullName": "explain", "description": "Explain what a Camel route does using AI\/LLM", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.Explain", "options": [ { "names": "--api-key", "description": "API key for authentication. Also reads OPENAI_API_KEY or LLM_API_KEY env vars", "javaType": "java.lang.String", "type": "string" }, { "names": "--api-type", "description": "API type: 'ollama' or 'openai' (OpenAI-compatible)", "defaultValue": "ollama", "javaType": "org.apache.camel.dsl.jbang.core.commands.ApiType", "type": "object" }, { "names": "--catalog-context", "description": "Include Camel Catalog descriptions in the prompt", "javaType": "boolean", "type": "boolean" }, { "names": "--format", "description": "Output format ()", "defaultValue": "text", "javaType": "java.lang.String", "type": "string" }, { "names": "--model", "description": "Model to use", "defaultValue": "DEFAULT_MODEL", "javaType": "java.lang.String", "type": "string" }, { "names": "--show-prompt", "description": "Show the prompt sent to the LLM", "javaType": "boolean", "type": "boolean" }, { "names": "--stream", "description": "Stream the response as it's generated (shows progress)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--system-prompt", "description": "Custom system prompt", "javaType": "java.lang.String", "type": "string" }, { "names": "--temperature", "description": "Temperature for response generation (0.0-2.0)", "defaultValue": "0.7", "javaType": "double", "type": "number" }, { "names": "--timeout", "description": "Timeout in seconds for LLM response", "defaultValue": "120", "javaType": "int", "type": "integer" }, { "names": "--url", "description": "LLM API endpoint URL. Auto-detected from 'camel infra' for Ollama if not specified.", "javaType": "java.lang.String", "type": "string" }, { "names": "--verbose,-v", "description": "Include detailed technical information", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, + { "name": "export", "fullName": "export", "description": "Export to other runtimes (Camel Main, Spring Boot, or Quarkus)", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.Export", "options": [ { "names": "--build-property", "description": "Maven build properties, ex. --build-property=prop1=foo", "javaType": "java.util.List", "type": "array" }, { "names": "--camel-spring-boot-version", "description": "Camel version to use with Spring Boot", "javaType": "java.lang.String", "type": "string" }, { "names": "--camel-version", "description": "To export using a different Camel version than the default version.", "javaType": "java.lang.String", "type": "string" }, { "names": "--clean-dir", "description": "If exporting to current directory (default) then all existing files are preserved. Enabling this option will force cleaning current directory including all sub dirs (use this with care)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--dep,--dependency", "description": "Add additional dependencies", "javaType": "java.util.List", "type": "array" }, { "names": "--dir,--directory", "description": "Directory where the project will be exported", "defaultValue": ".", "javaType": "java.lang.String", "type": "string" }, { "names": "--download", "description": "Whether to allow automatic downloading JAR dependencies (over the internet)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--dry-run", "description": "Preview export without writing files", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--exclude", "description": "Exclude files by name or pattern", "javaType": "java.util.List", "type": "array" }, { "names": "--fresh", "description": "Make sure we use fresh (i.e. non-cached) resources", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--gav", "description": "The Maven group:artifact:version", "javaType": "java.lang.String", "type": "string" }, { "names": "--groovy-pre-compiled", "description": "Whether to include pre-compiled Groovy classes in the export (only supported with runtime=camel-main)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--hawtio", "description": "Whether to include Hawtio web console (only available for exporting to Spring Boot or Quarkus)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--hawtio-version", "description": "Version of the Hawtio web console", "defaultValue": "HawtioVersion.HAWTIO_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--ignore-loading-error", "description": "Whether to ignore route loading and compilation errors (use this with care!)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--java-version", "description": "Java version ()", "defaultValue": "21", "javaType": "java.lang.String", "type": "string" }, { "names": "--kamelets-version", "description": "Apache Camel Kamelets version", "defaultValue": "RuntimeType.KAMELETS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--lazy-bean", "description": "Whether to use lazy bean initialization (can help with complex classloading issues", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--local-kamelet-dir", "description": "Local directory for loading Kamelets (takes precedence)", "javaType": "java.lang.String", "type": "string" }, { "names": "--logging", "description": "Can be used to turn on logging to console (logs by default to file in \/.camel directory)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-level", "description": "Logging level ()", "defaultValue": "info", "javaType": "java.lang.String", "type": "string" }, { "names": "--main-classname", "description": "The class name of the Camel Main application class", "defaultValue": "CamelApplication", "javaType": "java.lang.String", "type": "string" }, { "names": "--management-port", "description": "To use a dedicated port for HTTP management", "javaType": "int", "type": "integer" }, { "names": "--maven-apache-snapshot-enabled", "description": "Whether downloading JARs from ASF Maven Snapshot repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-central-enabled", "description": "Whether downloading JARs from Maven Central repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-settings", "description": "Optional location of Maven settings.xml file to configure servers, repositories, mirrors and proxies. If set to false, not even the default ~\/.m2\/settings.xml will be used.", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-settings-security", "description": "Optional location of Maven settings-security.xml file to decrypt settings.xml", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-wrapper", "description": "Include Maven Wrapper files in exported project", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--name", "description": "The integration name. Use this when the name should not get derived otherwise.", "javaType": "java.lang.String", "type": "string" }, { "names": "--observe", "description": "Enable observability services", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--open-api", "description": "Adds an OpenAPI spec from the given file (json or yaml file)", "javaType": "java.lang.String", "type": "string" }, { "names": "--package-name", "description": "For Java source files should they have the given package name. By default the package name is computed from the Maven GAV. Use false to turn off and not include package name in the Java source files.", "javaType": "java.lang.String", "type": "string" }, { "names": "--package-scan-jars", "description": "Whether to automatic package scan JARs for custom Spring or Quarkus beans making them available for Camel JBang", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--port", "description": "Embeds a local HTTP server on this port", "javaType": "int", "type": "integer" }, { "names": "--profile", "description": "Profile to export ().", "javaType": "java.lang.String", "type": "string" }, { "names": "--prop,--property", "description": "Camel application properties, ex. --property=prop1=foo", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-artifact-id", "description": "Quarkus Platform Maven artifactId", "defaultValue": "quarkus-bom", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-group-id", "description": "Quarkus Platform Maven groupId", "defaultValue": "io.quarkus.platform", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-version", "description": "Quarkus Platform version", "defaultValue": "RuntimeType.QUARKUS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--quiet", "description": "Will be quiet, only print when error occurs", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--repo,--repos", "description": "Additional maven repositories (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--runtime", "description": "Runtime ()", "javaType": "org.apache.camel.dsl.jbang.core.common.RuntimeType", "type": "object" }, { "names": "--skip-plugins", "description": "Skip plugins during export", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--spring-boot-version", "description": "Spring Boot version", "defaultValue": "RuntimeType.SPRING_BOOT_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--verbose", "description": "Verbose output of startup activity (dependency resolution and downloading", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--yes,-y", "description": "Automatically answer yes to confirmation prompts (e.g. when using --clean-dir)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, + { "name": "get", "fullName": "get", "description": "Get status of Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.CamelStatus", "options": [ { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ], "subcommands": [ { "name": "bean", "fullName": "get bean", "description": "List beans in a running Camel integration", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelBeanDump", "options": [ { "names": "--dsl", "description": "Include only beans from YAML or XML DSL", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--filter", "description": "Filter beans names (use all to include all beans)", "defaultValue": "all", "javaType": "java.lang.String", "type": "string" }, { "names": "--internal", "description": "Include internal Camel beans", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--nulls", "description": "Include null values", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--properties", "description": "Show bean properties", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by name or type", "defaultValue": "name", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "blocked", "fullName": "get blocked", "description": "Get blocked messages of Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListBlocked", "options": [ { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "circuit-breaker", "fullName": "get circuit-breaker", "description": "Get status of Circuit Breaker EIPs", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListCircuitBreaker", "options": [ { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "consumer", "fullName": "get consumer", "description": "Get status of Camel consumers", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListConsumer", "options": [ { "names": "--filter", "description": "Filter consumers by URI", "javaType": "java.lang.String", "type": "string" }, { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--limit", "description": "Filter consumers by limiting to the given number of rows", "javaType": "int", "type": "integer" }, { "names": "--scheduled", "description": "Filter consumer to only show scheduled based consumers", "javaType": "boolean", "type": "boolean" }, { "names": "--short-uri", "description": "List endpoint URI without query parameters (short)", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "--wide-uri", "description": "List endpoint URI in full details", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "context", "fullName": "get context", "description": "Get status of Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.CamelContextStatus", "options": [ { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--remote", "description": "Break down counters into remote\/total pairs", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "count", "fullName": "get count", "description": "Get total and failed exchanges", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.CamelCount", "options": [ { "names": "--fail", "description": "Get the failed exchanges from a running integration", "javaType": "boolean", "type": "boolean" }, { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--total", "description": "Get the total exchanges from a running integration", "javaType": "boolean", "type": "boolean" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "endpoint", "fullName": "get endpoint", "description": "Get usage of Camel endpoints", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListEndpoint", "options": [ { "names": "--filter", "description": "Filter endpoints by URI", "javaType": "java.lang.String", "type": "string" }, { "names": "--filter-direction", "description": "Filter by direction (in or out)", "javaType": "java.lang.String", "type": "string" }, { "names": "--filter-total", "description": "Filter endpoints that must be higher than the given usage", "javaType": "long", "type": "integer" }, { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--limit", "description": "Filter endpoints by limiting to the given number of rows", "javaType": "int", "type": "integer" }, { "names": "--short-uri", "description": "List endpoint URI without query parameters (short)", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name, age or total", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "--wide-uri", "description": "List endpoint URI in full details", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "event", "fullName": "get event", "description": "Get latest events of Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListEvent", "options": [ { "names": "--filter", "description": "Filter event by event type: context, route, or exchange", "javaType": "java.lang.String", "type": "string" }, { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "groovy", "fullName": "get groovy", "description": "Groovy Sources used of Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListGroovy", "options": [ { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid or name", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "group", "fullName": "get group", "description": "Get status of Camel route groups", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.CamelRouteGroupStatus", "options": [ { "names": "--filter", "description": "Filter groups by name", "javaType": "java.lang.String", "type": "string" }, { "names": "--filter-mean", "description": "Filter groups that must be slower than the given time (ms)", "javaType": "long", "type": "integer" }, { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--limit", "description": "Filter groups by limiting to the given number of rows", "javaType": "int", "type": "integer" }, { "names": "--running", "description": "Only include running groups", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name, age or group", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "health", "fullName": "get health", "description": "Get health check status of running Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListHealth", "options": [ { "names": "--depth", "description": "Max depth of stack-trace", "defaultValue": "1", "javaType": "int", "type": "integer" }, { "names": "--down", "description": "Show only checks which are DOWN", "javaType": "boolean", "type": "boolean" }, { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--level", "description": "Level of details: full, or default", "defaultValue": "default", "javaType": "java.lang.String", "type": "string" }, { "names": "--live", "description": "Show only liveness checks", "javaType": "boolean", "type": "boolean" }, { "names": "--ready", "description": "Show only readiness checks", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--trace", "description": "Include stack-traces in error messages", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "history", "fullName": "get history", "description": "History of latest completed exchange", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelHistoryAction", "options": [ { "names": "--ago", "description": "Use ago instead of yyyy-MM-dd HH:mm:ss in timestamp.", "javaType": "boolean", "type": "boolean" }, { "names": "--depth", "description": "Depth of tracing. 0=Created Completed. 1=All events on 1st route, 2=All events on 1st 2nd depth, and so on. 9 = all events on every depth.", "defaultValue": "9", "javaType": "int", "type": "integer" }, { "names": "--it", "description": "Interactive mode for enhanced history information", "javaType": "boolean", "type": "boolean" }, { "names": "--limit-split", "description": "Limit Split to a maximum number of entries to be displayed", "javaType": "int", "type": "integer" }, { "names": "--logging-color", "description": "Use colored logging", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--mask", "description": "Whether to mask endpoint URIs to avoid printing sensitive information such as password or access keys", "javaType": "boolean", "type": "boolean" }, { "names": "--pretty", "description": "Pretty print message body when using JSon or XML format", "javaType": "boolean", "type": "boolean" }, { "names": "--show-body", "description": "Show message body in debug messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--show-exception", "description": "Show exception and stacktrace for failed messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--show-exchange-properties", "description": "Show exchange properties in debug messages", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--show-exchange-variables", "description": "Show exchange variables in debug messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--show-headers", "description": "Show message headers in debug messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--source", "description": "Prefer to display source filename\/code instead of IDs", "javaType": "boolean", "type": "boolean" }, { "names": "--timestamp", "description": "Print timestamp.", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "inflight", "fullName": "get inflight", "description": "Get inflight messages of Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListInflight", "options": [ { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "internal-task", "fullName": "get internal-task", "description": "List internal tasks of Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListInternalTask", "options": [ { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "kafka", "fullName": "get kafka", "description": "List Kafka consumers of Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListKafka", "options": [ { "names": "--committed", "description": "Show committed offset (slower due to sync call to Kafka brokers)", "javaType": "boolean", "type": "boolean" }, { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--short-uri", "description": "List endpoint URI without query parameters (short)", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "--wide-uri", "description": "List endpoint URI in full details", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "metric", "fullName": "get metric", "description": "Get metrics (micrometer) of running Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListMetric", "options": [ { "names": "--all", "description": "Whether to show all metrics (also unused with counter being 0)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--custom", "description": "Only show custom metrics", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--filter", "description": "Filter metric by type, name or tags", "javaType": "java.lang.String", "type": "string" }, { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--tags", "description": "Show metric tags", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "platform-http", "fullName": "get platform-http", "description": "Get embedded HTTP services of Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListPlatformHttp", "options": [ { "names": "--all", "description": "Include management endpoints", "javaType": "boolean", "type": "boolean" }, { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "processor", "fullName": "get processor", "description": "Get status of Camel processors", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.CamelProcessorStatus", "options": [ { "names": "--description", "description": "Include description in the ID column (if available)", "javaType": "boolean", "type": "boolean" }, { "names": "--filter", "description": "Filter processors by id", "javaType": "java.lang.String", "type": "string" }, { "names": "--filter-mean", "description": "Filter processors that must be slower than the given time (ms)", "javaType": "long", "type": "integer" }, { "names": "--group", "description": "Filter processors by group", "javaType": "java.lang.String", "type": "string" }, { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--limit", "description": "Filter routes by limiting to the given number of rows", "javaType": "int", "type": "integer" }, { "names": "--note", "description": "Include note in the ID column (if available)", "javaType": "boolean", "type": "boolean" }, { "names": "--remote", "description": "Break down counters into remote\/total pairs", "javaType": "boolean", "type": "boolean" }, { "names": "--running", "description": "Only include running processors", "javaType": "boolean", "type": "boolean" }, { "names": "--show-group", "description": "Include group column", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid or name", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--source", "description": "Prefer to display source filename\/code instead of IDs", "javaType": "boolean", "type": "boolean" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "producer", "fullName": "get producer", "description": "Get status of Camel producers", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListProducer", "options": [ { "names": "--filter", "description": "Filter producers by URI", "javaType": "java.lang.String", "type": "string" }, { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--limit", "description": "Filter producers by limiting to the given number of rows", "javaType": "int", "type": "integer" }, { "names": "--short-uri", "description": "List endpoint URI without query parameters (short)", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "--wide-uri", "description": "List endpoint URI in full details", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "properties", "fullName": "get properties", "description": "List configuration properties", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListProperties", "options": [ { "names": "--internal", "description": "Whether to include internal configuration", "javaType": "boolean", "type": "boolean" }, { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--mask", "description": "Whether to mask configuration values to avoid printing sensitive information such as password or access keys", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or key", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--startup", "description": "List only startup configuration", "javaType": "boolean", "type": "boolean" }, { "names": "--verbose", "description": "Whether to include more details", "javaType": "boolean", "type": "boolean" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "rest", "fullName": "get rest", "description": "Get REST services of Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListRest", "options": [ { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--verbose", "description": "Show more details", "javaType": "boolean", "type": "boolean" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "route", "fullName": "get route", "description": "Get status of Camel routes", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.CamelRouteStatus", "options": [ { "names": "--description", "description": "Include description in the ID column (if available)", "javaType": "boolean", "type": "boolean" }, { "names": "--error", "description": "Shows detailed information for routes that has error status", "javaType": "boolean", "type": "boolean" }, { "names": "--filter", "description": "Filter routes by id, or url", "javaType": "java.lang.String", "type": "string" }, { "names": "--filter-mean", "description": "Filter routes that must be slower than the given time (ms)", "javaType": "long", "type": "integer" }, { "names": "--group", "description": "Filter routes by group", "javaType": "java.lang.String", "type": "string" }, { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--limit", "description": "Filter routes by limiting to the given number of rows", "javaType": "int", "type": "integer" }, { "names": "--note", "description": "Include note in the ID column (if available)", "javaType": "boolean", "type": "boolean" }, { "names": "--running", "description": "Only include running routes", "javaType": "boolean", "type": "boolean" }, { "names": "--short-uri", "description": "List endpoint URI without query parameters (short)", "javaType": "boolean", "type": "boolean" }, { "names": "--show-group", "description": "Include group column", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--source", "description": "Prefer to display source filename\/code instead of IDs", "javaType": "boolean", "type": "boolean" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "--wide-uri", "description": "List endpoint URI in full details", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "route-controller", "fullName": "get route-controller", "description": "List status of route controller", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.RouteControllerAction", "options": [ { "names": "--depth", "description": "Max depth of stack-trace", "defaultValue": "1", "javaType": "int", "type": "integer" }, { "names": "--header", "description": "Include controller configuration details", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by id, or state", "defaultValue": "id", "javaType": "java.lang.String", "type": "string" }, { "names": "--trace", "description": "Include stack-traces in error messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "route-dump", "fullName": "get route-dump", "description": "Dump Camel route in XML or YAML format", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelRouteDumpAction", "options": [ { "names": "--filter", "description": "Filter route by filename or route id (multiple names can be separated by comma)", "javaType": "java.lang.String", "type": "string" }, { "names": "--format", "description": "Output format (xml, or yaml)", "defaultValue": "yaml", "javaType": "java.lang.String", "type": "string" }, { "names": "--raw", "description": "To output raw without metadata", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort route by name or id", "defaultValue": "name", "javaType": "java.lang.String", "type": "string" }, { "names": "--uri-as-parameters", "description": "Whether to expand URIs into separated key\/value parameters (only in use for YAML format)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "service", "fullName": "get service", "description": "Get services of Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListService", "options": [ { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--metadata", "description": "Show service metadata (only available for some services)", "javaType": "boolean", "type": "boolean" }, { "names": "--short-uri", "description": "List endpoint URI without query parameters (short)", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "--wide-uri", "description": "List endpoint URI in full details", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "source", "fullName": "get source", "description": "Display Camel route source code", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelSourceAction", "options": [ { "names": "--filter", "description": "Filter source by filename (multiple names can be separated by comma)", "javaType": "java.lang.String", "type": "string" }, { "names": "--sort", "description": "Sort source by name", "defaultValue": "name", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "startup-recorder", "fullName": "get startup-recorder", "description": "Display startup recording", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelStartupRecorderAction", "options": [ { "names": "--sort", "description": "Sort by duration, or type", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "transformer", "fullName": "get transformer", "description": "Get list of data type transformers", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListTransformer", "options": [ { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name, age or total", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "variable", "fullName": "get variable", "description": "List variables of Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListVariable", "options": [ { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or key", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "vault", "fullName": "get vault", "description": "List secrets from security vaults", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListVault", "options": [ { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] } ] }, + { "name": "harden", "fullName": "harden", "description": "Suggest security hardening for Camel routes using AI\/LLM", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.Harden", "options": [ { "names": "--api-key", "description": "API key for authentication. Also reads OPENAI_API_KEY or LLM_API_KEY env vars", "javaType": "java.lang.String", "type": "string" }, { "names": "--api-type", "description": "API type: 'ollama' or 'openai' (OpenAI-compatible)", "defaultValue": "ollama", "javaType": "org.apache.camel.dsl.jbang.core.commands.ApiType", "type": "object" }, { "names": "--catalog-context", "description": "Include Camel Catalog descriptions in the prompt", "javaType": "boolean", "type": "boolean" }, { "names": "--format", "description": "Output format ()", "defaultValue": "text", "javaType": "java.lang.String", "type": "string" }, { "names": "--model", "description": "Model to use", "defaultValue": "DEFAULT_MODEL", "javaType": "java.lang.String", "type": "string" }, { "names": "--show-prompt", "description": "Show the prompt sent to the LLM", "javaType": "boolean", "type": "boolean" }, { "names": "--stream", "description": "Stream the response as it's generated (shows progress)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--system-prompt", "description": "Custom system prompt", "javaType": "java.lang.String", "type": "string" }, { "names": "--temperature", "description": "Temperature for response generation (0.0-2.0)", "defaultValue": "0.7", "javaType": "double", "type": "number" }, { "names": "--timeout", "description": "Timeout in seconds for LLM response", "defaultValue": "120", "javaType": "int", "type": "integer" }, { "names": "--url", "description": "LLM API endpoint URL. Auto-detected from 'camel infra' for Ollama if not specified.", "javaType": "java.lang.String", "type": "string" }, { "names": "--verbose,-v", "description": "Include detailed security recommendations with code examples", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "hawtio", "fullName": "hawtio", "description": "Launch Hawtio web console", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.Hawtio", "options": [ { "names": "--openUrl", "description": "To automatic open Hawtio web console in the web browser", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--port", "description": "Port number to use for Hawtio web console (port 8888 by default)", "defaultValue": "8888", "javaType": "int", "type": "integer" }, { "names": "--version", "description": "Version of the Hawtio web console", "defaultValue": "HawtioVersion.HAWTIO_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "infra", "fullName": "infra", "description": "List and Run external services for testing and prototyping", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.infra.InfraCommand", "options": [ { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ], "subcommands": [ { "name": "get", "fullName": "infra get", "description": "Displays running service(s) information", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.infra.InfraGet", "options": [ { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "list", "fullName": "infra list", "description": "Displays available external services", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.infra.InfraList", "options": [ { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "log", "fullName": "infra log", "description": "Displays external service logs", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.infra.InfraLog", "options": [ { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--lines", "description": "The number of lines from the end of the log to use as starting offset", "defaultValue": "50", "javaType": "int", "type": "integer" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "ps", "fullName": "infra ps", "description": "Displays running services", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.infra.InfraPs", "options": [ { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "run", "fullName": "infra run", "description": "Run an external service", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.infra.InfraRun", "options": [ { "names": "--background", "description": "Run in the background", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--log", "description": "Log container output to console", "javaType": "boolean", "type": "boolean" }, { "names": "--port", "description": "Override the default port for the service", "javaType": "java.lang.Integer", "type": "integer" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "stop", "fullName": "infra stop", "description": "Shuts down running external services", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.infra.InfraStop", "options": [ { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--kill", "description": "To force killing the process (SIGKILL)", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] } ] }, - { "name": "init", "fullName": "init", "description": "Creates a new Camel integration", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.Init", "options": [ { "names": "--clean-dir,--clean-directory", "description": "Whether to clean directory first (deletes all files in directory)", "javaType": "boolean", "type": "boolean" }, { "names": "--dir,--directory", "description": "Directory relative path where the new Camel integration will be saved", "defaultValue": ".", "javaType": "java.lang.String", "type": "string" }, { "names": "--from-kamelet", "description": "To be used when extending an existing Kamelet", "javaType": "java.lang.String", "type": "string" }, { "names": "--kamelets-version", "description": "Apache Camel Kamelets version", "javaType": "java.lang.String", "type": "string" }, { "names": "--pipe", "description": "When creating a yaml file should it be created as a Pipe CR", "javaType": "boolean", "type": "boolean" }, { "names": "--repo,--repos", "description": "Additional maven repositories (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, + { "name": "init", "fullName": "init", "description": "Creates a new Camel integration", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.Init", "options": [ { "names": "--clean-dir,--clean-directory", "description": "Whether to clean directory first (deletes all files in directory)", "javaType": "boolean", "type": "boolean" }, { "names": "--dir,--directory", "description": "Directory relative path where the new Camel integration will be saved", "defaultValue": ".", "javaType": "java.lang.String", "type": "string" }, { "names": "--from-kamelet", "description": "To be used when extending an existing Kamelet", "javaType": "java.lang.String", "type": "string" }, { "names": "--kamelets-version", "description": "Apache Camel Kamelets version", "javaType": "java.lang.String", "type": "string" }, { "names": "--list", "description": "List available templates", "javaType": "boolean", "type": "boolean" }, { "names": "--pipe", "description": "When creating a yaml file should it be created as a Pipe CR", "javaType": "boolean", "type": "boolean" }, { "names": "--repo,--repos", "description": "Additional maven repositories (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "jolokia", "fullName": "jolokia", "description": "Attach Jolokia JVM Agent to a running Camel integration", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.Jolokia", "options": [ { "names": "--port", "description": "To use a specific port number when attaching Jolokia JVM Agent (default a free port is found in range 8778-9999)", "javaType": "int", "type": "integer" }, { "names": "--stop", "description": "Stops the Jolokia JVM Agent in the running Camel integration", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "log", "fullName": "log", "description": "Tail logs from running Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelLogAction", "options": [ { "names": "--find", "description": "Find and highlight matching text (ignore case).", "javaType": "java.lang.String", "type": "string" }, { "names": "--follow", "description": "Keep following and outputting new log lines (press enter to exit).", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--grep", "description": "Filter logs to only output lines matching text (ignore case).", "javaType": "java.lang.String", "type": "string" }, { "names": "--logging-color", "description": "Use colored logging", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--prefix", "description": "Print prefix with running Camel integration name. auto=only prefix when running multiple integrations. true=always prefix. false=prefix off.", "defaultValue": "auto", "javaType": "java.lang.String", "type": "string" }, { "names": "--since", "description": "Return logs newer than a relative duration like 5s, 2m, or 1h. The value is in seconds if no unit specified.", "javaType": "java.lang.String", "type": "string" }, { "names": "--startup", "description": "Only shows logs from the starting phase to make it quick to look at how Camel was started.", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--tail", "description": "The number of lines from the end of the logs to show. Use -1 to read from the beginning. Use 0 to read only new lines. Defaults to showing all logs from beginning.", "defaultValue": "-1", "javaType": "int", "type": "integer" }, { "names": "--timestamp", "description": "Print timestamp.", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "nano", "fullName": "nano", "description": "Nano editor to edit file", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.Nano", "options": [ { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "plugin", "fullName": "plugin", "description": "Manage plugins that add sub-commands to this CLI", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.plugin.PluginCommand", "options": [ { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ], "subcommands": [ { "name": "add", "fullName": "plugin add", "description": "Add new plugin", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.plugin.PluginAdd", "options": [ { "names": "--artifactId", "description": "Maven artifactId", "javaType": "java.lang.String", "type": "string" }, { "names": "--command", "description": "The command that the plugin uses", "javaType": "java.lang.String", "type": "string" }, { "names": "--description", "description": "A short description of the plugin", "javaType": "java.lang.String", "type": "string" }, { "names": "--first-version", "description": "First version of this plugin", "defaultValue": "", "javaType": "java.lang.String", "type": "string" }, { "names": "--gav", "description": "Maven group and artifact coordinates.", "javaType": "java.lang.String", "type": "string" }, { "names": "--groupId", "description": "Maven groupId", "defaultValue": "org.apache.camel", "javaType": "java.lang.String", "type": "string" }, { "names": "--repo,--repos", "description": "Additional maven repositories to use for downloading the plugin (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--version", "description": "Maven artifact version", "defaultValue": "", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "delete", "fullName": "plugin delete", "description": "Removes a plugin", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.plugin.PluginDelete", "options": [ { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "get", "fullName": "plugin get", "description": "Display available plugins", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.plugin.PluginGet", "options": [ { "names": "--all", "description": "Display all available plugins", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--repos", "description": "Display maven repository column", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] } ] }, { "name": "ps", "fullName": "ps", "description": "List running Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListProcess", "options": [ { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--pid", "description": "List only pid in the output", "javaType": "boolean", "type": "boolean" }, { "names": "--remote", "description": "Break down counters into remote\/total pairs", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, - { "name": "run", "fullName": "run", "description": "Run as local Camel integration", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.Run", "options": [ { "names": "--background", "description": "Run in the background", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--background-wait", "description": "To wait for run in background to startup successfully, before returning", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--backlog-trace", "description": "Enables backlog tracing of the routed messages", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--camel-spring-boot-version", "description": "To run using a different Camel Spring Boot version than the default version.", "javaType": "java.lang.String", "type": "string" }, { "names": "--camel-version", "description": "To run using a different Camel version than the default version.", "javaType": "java.lang.String", "type": "string" }, { "names": "--code", "description": "Run the given text or file as Java DSL routes", "javaType": "java.lang.String", "type": "string" }, { "names": "--console", "description": "Developer console at \/q\/dev on local HTTP server (port 8080 by default)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--dep,--dependency", "description": "Add additional dependencies", "javaType": "java.util.List", "type": "array" }, { "names": "--download", "description": "Whether to allow automatic downloading JAR dependencies (over the internet)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--empty", "description": "Run an empty Camel without loading source files", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--exclude", "description": "Exclude files by name or pattern", "javaType": "java.util.List", "type": "array" }, { "names": "--fresh", "description": "Make sure we use fresh (i.e. non-cached) resources", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--gav", "description": "The Maven group:artifact:version (used during exporting)", "javaType": "java.lang.String", "type": "string" }, { "names": "--health", "description": "Deprecated: use --observe instead. Health check at \/q\/health on local HTTP server (port 8080 by default)", "defaultValue": "false", "javaType": "boolean", "type": "boolean", "deprecated": true }, { "names": "--ignore-loading-error", "description": "Whether to ignore route loading and compilation errors (use this with care!)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--jfr", "description": "Enables Java Flight Recorder saving recording to disk on exit", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--jfr-profile", "description": "Java Flight Recorder profile to use (such as default or profile)", "javaType": "java.lang.String", "type": "string" }, { "names": "--jvm-debug", "description": "To enable JVM remote debugging on port 4004 by default. The supported values are true to enable the remote debugging, false to disable the remote debugging or a number to use a custom port", "javaType": "int", "type": "integer", "paramLabel": "" }, { "names": "--kamelets-version", "description": "Apache Camel Kamelets version", "javaType": "java.lang.String", "type": "string" }, { "names": "--lazy-bean", "description": "Whether to use lazy bean initialization (can help with complex classloading issues)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--local-kamelet-dir", "description": "Local directory (or github link) for loading Kamelets (takes precedence). Multiple directories can be specified separated by comma.", "javaType": "java.lang.String", "type": "string" }, { "names": "--logging", "description": "Can be used to turn off logging", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-category", "description": "Used for individual logging levels (ex: org.apache.kafka=DEBUG)", "javaType": "java.util.List", "type": "array" }, { "names": "--logging-color", "description": "Use colored logging", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-config-path", "description": "Path to file with custom logging configuration", "javaType": "java.lang.String", "type": "string" }, { "names": "--logging-json", "description": "Use JSON logging (ECS Layout)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-level", "description": "Logging level ()", "defaultValue": "info", "javaType": "java.lang.String", "type": "string" }, { "names": "--management-port", "description": "To use a dedicated port for HTTP management (use 0 to dynamic assign a free random port number)", "javaType": "int", "type": "integer" }, { "names": "--maven-apache-snapshot-enabled", "description": "Whether downloading JARs from ASF Maven Snapshot repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-central-enabled", "description": "Whether downloading JARs from Maven Central repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-settings", "description": "Optional location of Maven settings.xml file to configure servers, repositories, mirrors and proxies. If set to false, not even the default ~\/.m2\/settings.xml will be used.", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-settings-security", "description": "Optional location of Maven settings-security.xml file to decrypt settings.xml", "javaType": "java.lang.String", "type": "string" }, { "names": "--max-idle-seconds", "description": "For how long time in seconds Camel can be idle before stopping", "defaultValue": "0", "javaType": "int", "type": "integer" }, { "names": "--max-messages", "description": "Max number of messages to process before stopping", "defaultValue": "0", "javaType": "int", "type": "integer" }, { "names": "--max-seconds", "description": "Max seconds to run before stopping", "defaultValue": "0", "javaType": "int", "type": "integer" }, { "names": "--metrics", "description": "Deprecated: use --observe instead. Metrics (Micrometer and Prometheus) at \/q\/metrics on local HTTP server (port 8080 by default)", "defaultValue": "false", "javaType": "boolean", "type": "boolean", "deprecated": true }, { "names": "--modeline", "description": "Whether to support JBang style \/\/DEPS to specify additional dependencies", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--name", "description": "The name of the Camel application", "defaultValue": "CamelJBang", "javaType": "java.lang.String", "type": "string" }, { "names": "--observe", "description": "Enable observability services", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--open-api", "description": "Adds an OpenAPI spec from the given file (json or yaml file)", "javaType": "java.lang.String", "type": "string" }, { "names": "--package-scan-jars", "description": "Whether to automatic package scan JARs for custom Spring or Quarkus beans making them available for Camel JBang", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--port", "description": "Embeds a local HTTP server on this port (port 8080 by default; use 0 to dynamic assign a free random port number)", "javaType": "int", "type": "integer" }, { "names": "--profile", "description": "Profile to run (dev, test, or prod).", "defaultValue": "dev", "javaType": "java.lang.String", "type": "string" }, { "names": "--prompt", "description": "Allow user to type in required parameters in prompt if not present in application", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--prop,--property", "description": "Additional properties (override existing)", "javaType": "java.lang.String", "type": "string" }, { "names": "--properties", "description": "comma separated list of properties file (ex. \/path\/to\/file.properties,\/path\/to\/other.properties", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-artifact-id", "description": "Quarkus Platform Maven artifactId", "defaultValue": "quarkus-bom", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-group-id", "description": "Quarkus Platform Maven groupId", "defaultValue": "io.quarkus.platform", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-version", "description": "Quarkus Platform version", "defaultValue": "RuntimeType.QUARKUS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--reload,--dev", "description": "Enables dev mode (live reload when source files are updated and saved)", "javaType": "boolean", "type": "boolean" }, { "names": "--repo,--repos", "description": "Additional maven repositories (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--runtime", "description": "Runtime ()", "defaultValue": "camel-main", "javaType": "org.apache.camel.dsl.jbang.core.common.RuntimeType", "type": "object" }, { "names": "--skip-plugins", "description": "Skip plugins during export", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--source-dir", "description": "Source directory for dynamically loading Camel file(s) to run. When using this, then files cannot be specified at the same time.", "javaType": "java.lang.String", "type": "string" }, { "names": "--spring-boot-version", "description": "Spring Boot version", "defaultValue": "RuntimeType.SPRING_BOOT_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--stub", "description": "Stubs all the matching endpoint uri with the given component name or pattern. Multiple names can be separated by comma. (all = stub all endpoints).", "javaType": "java.lang.String", "type": "string" }, { "names": "--trace", "description": "Enables trace logging of the routed messages", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--verbose", "description": "Verbose output of startup activity (dependency resolution and downloading", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, - { "name": "sbom", "fullName": "sbom", "description": "Generate a CycloneDX or SPDX SBOM for a specific project", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.SBOMGenerator", "options": [ { "names": "--build-property", "description": "Maven build properties, ex. --build-property=prop1=foo", "javaType": "java.util.List", "type": "array" }, { "names": "--camel-spring-boot-version", "description": "Camel version to use with Spring Boot", "javaType": "java.lang.String", "type": "string" }, { "names": "--camel-version", "description": "To export using a different Camel version than the default version.", "javaType": "java.lang.String", "type": "string" }, { "names": "--clean-dir", "description": "If exporting to current directory (default) then all existing files are preserved. Enabling this option will force cleaning current directory including all sub dirs (use this with care)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--cyclonedx-plugin-version", "description": "The CycloneDX Maven Plugin version", "defaultValue": "2.9.1", "javaType": "java.lang.String", "type": "string" }, { "names": "--dep,--dependency", "description": "Add additional dependencies", "javaType": "java.util.List", "type": "array" }, { "names": "--dir,--directory", "description": "Directory where the project will be exported", "defaultValue": ".", "javaType": "java.lang.String", "type": "string" }, { "names": "--download", "description": "Whether to allow automatic downloading JAR dependencies (over the internet)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--exclude", "description": "Exclude files by name or pattern", "javaType": "java.util.List", "type": "array" }, { "names": "--fresh", "description": "Make sure we use fresh (i.e. non-cached) resources", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--gav", "description": "The Maven group:artifact:version", "javaType": "java.lang.String", "type": "string" }, { "names": "--groovy-pre-compiled", "description": "Whether to include pre-compiled Groovy classes in the export (only supported with runtime=camel-main)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--hawtio", "description": "Whether to include Hawtio web console (only available for exporting to Spring Boot or Quarkus)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--hawtio-version", "description": "Version of the Hawtio web console", "defaultValue": "HawtioVersion.HAWTIO_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--ignore-loading-error", "description": "Whether to ignore route loading and compilation errors (use this with care!)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--java-version", "description": "Java version (21, 25)", "defaultValue": "21", "javaType": "java.lang.String", "type": "string" }, { "names": "--kamelets-version", "description": "Apache Camel Kamelets version", "defaultValue": "RuntimeType.KAMELETS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--lazy-bean", "description": "Whether to use lazy bean initialization (can help with complex classloading issues", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--local-kamelet-dir", "description": "Local directory for loading Kamelets (takes precedence)", "javaType": "java.lang.String", "type": "string" }, { "names": "--logging", "description": "Can be used to turn on logging to console (logs by default to file in \/.camel directory)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-level", "description": "Logging level", "defaultValue": "info", "javaType": "java.lang.String", "type": "string" }, { "names": "--main-classname", "description": "The class name of the Camel Main application class", "defaultValue": "CamelApplication", "javaType": "java.lang.String", "type": "string" }, { "names": "--management-port", "description": "To use a dedicated port for HTTP management", "javaType": "int", "type": "integer" }, { "names": "--maven-apache-snapshot-enabled", "description": "Whether downloading JARs from ASF Maven Snapshot repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-central-enabled", "description": "Whether downloading JARs from Maven Central repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-settings", "description": "Optional location of Maven settings.xml file to configure servers, repositories, mirrors and proxies. If set to false, not even the default ~\/.m2\/settings.xml will be used.", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-settings-security", "description": "Optional location of Maven settings-security.xml file to decrypt settings.xml", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-wrapper", "description": "Include Maven Wrapper files in exported project", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--name", "description": "The integration name. Use this when the name should not get derived otherwise.", "javaType": "java.lang.String", "type": "string" }, { "names": "--observe", "description": "Enable observability services", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--open-api", "description": "Adds an OpenAPI spec from the given file (json or yaml file)", "javaType": "java.lang.String", "type": "string" }, { "names": "--output-directory", "description": "Directory where the SBOM will be saved", "defaultValue": ".", "javaType": "java.lang.String", "type": "string" }, { "names": "--output-name", "description": "Output name of the SBOM file", "defaultValue": "sbom", "javaType": "java.lang.String", "type": "string" }, { "names": "--package-name", "description": "For Java source files should they have the given package name. By default the package name is computed from the Maven GAV. Use false to turn off and not include package name in the Java source files.", "javaType": "java.lang.String", "type": "string" }, { "names": "--package-scan-jars", "description": "Whether to automatic package scan JARs for custom Spring or Quarkus beans making them available for Camel JBang", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--port", "description": "Embeds a local HTTP server on this port", "javaType": "int", "type": "integer" }, { "names": "--profile", "description": "Profile to export (dev, test, or prod).", "javaType": "java.lang.String", "type": "string" }, { "names": "--prop,--property", "description": "Camel application properties, ex. --property=prop1=foo", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-artifact-id", "description": "Quarkus Platform Maven artifactId", "defaultValue": "quarkus-bom", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-group-id", "description": "Quarkus Platform Maven groupId", "defaultValue": "io.quarkus.platform", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-version", "description": "Quarkus Platform version", "defaultValue": "RuntimeType.QUARKUS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--quiet", "description": "Will be quiet, only print when error occurs", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--repo,--repos", "description": "Additional maven repositories (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--runtime", "description": "Runtime ()", "javaType": "org.apache.camel.dsl.jbang.core.common.RuntimeType", "type": "object" }, { "names": "--sbom-format", "description": "The SBOM format, possible values are cyclonedx or spdx", "defaultValue": "CYCLONEDX_FORMAT", "javaType": "java.lang.String", "type": "string" }, { "names": "--sbom-output-format", "description": "The SBOM output format, possible values are json or xml", "defaultValue": "SBOM_JSON_FORMAT", "javaType": "java.lang.String", "type": "string" }, { "names": "--skip-plugins", "description": "Skip plugins during export", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--spdx-plugin-version", "description": "The SPDX Maven Plugin version", "defaultValue": "0.7.4", "javaType": "java.lang.String", "type": "string" }, { "names": "--spring-boot-version", "description": "Spring Boot version", "defaultValue": "RuntimeType.SPRING_BOOT_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--verbose", "description": "Verbose output of startup activity (dependency resolution and downloading", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, + { "name": "run", "fullName": "run", "description": "Run as local Camel integration", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.Run", "options": [ { "names": "--background", "description": "Run in the background", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--background-wait", "description": "To wait for run in background to startup successfully, before returning", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--backlog-trace", "description": "Enables backlog tracing of the routed messages", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--camel-spring-boot-version", "description": "To run using a different Camel Spring Boot version than the default version.", "javaType": "java.lang.String", "type": "string" }, { "names": "--camel-version", "description": "To run using a different Camel version than the default version.", "javaType": "java.lang.String", "type": "string" }, { "names": "--code", "description": "Run the given text or file as Java DSL routes", "javaType": "java.lang.String", "type": "string" }, { "names": "--console", "description": "Developer console at \/q\/dev on local HTTP server (port 8080 by default)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--dep,--dependency", "description": "Add additional dependencies", "javaType": "java.util.List", "type": "array" }, { "names": "--download", "description": "Whether to allow automatic downloading JAR dependencies (over the internet)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--empty", "description": "Run an empty Camel without loading source files", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--exclude", "description": "Exclude files by name or pattern", "javaType": "java.util.List", "type": "array" }, { "names": "--fresh", "description": "Make sure we use fresh (i.e. non-cached) resources", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--gav", "description": "The Maven group:artifact:version (used during exporting)", "javaType": "java.lang.String", "type": "string" }, { "names": "--health", "description": "Deprecated: use --observe instead. Health check at \/q\/health on local HTTP server (port 8080 by default)", "defaultValue": "false", "javaType": "boolean", "type": "boolean", "deprecated": true }, { "names": "--ignore-loading-error", "description": "Whether to ignore route loading and compilation errors (use this with care!)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--jfr", "description": "Enables Java Flight Recorder saving recording to disk on exit", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--jfr-profile", "description": "Java Flight Recorder profile to use (such as default or profile)", "javaType": "java.lang.String", "type": "string" }, { "names": "--jvm-debug", "description": "To enable JVM remote debugging on port 4004 by default. The supported values are true to enable the remote debugging, false to disable the remote debugging or a number to use a custom port", "javaType": "int", "type": "integer", "paramLabel": "" }, { "names": "--kamelets-version", "description": "Apache Camel Kamelets version", "javaType": "java.lang.String", "type": "string" }, { "names": "--lazy-bean", "description": "Whether to use lazy bean initialization (can help with complex classloading issues)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--local-kamelet-dir", "description": "Local directory (or github link) for loading Kamelets (takes precedence). Multiple directories can be specified separated by comma.", "javaType": "java.lang.String", "type": "string" }, { "names": "--logging", "description": "Can be used to turn off logging", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-category", "description": "Used for individual logging levels (ex: org.apache.kafka=DEBUG)", "javaType": "java.util.List", "type": "array" }, { "names": "--logging-color", "description": "Use colored logging. Default is auto-detected based on NO_COLOR, CI, FORCE_COLOR environment variables and terminal capabilities", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-config-path", "description": "Path to file with custom logging configuration", "javaType": "java.lang.String", "type": "string" }, { "names": "--logging-json", "description": "Use JSON logging (ECS Layout)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-level", "description": "Logging level ()", "defaultValue": "info", "javaType": "java.lang.String", "type": "string" }, { "names": "--management-port", "description": "To use a dedicated port for HTTP management (use 0 to dynamic assign a free random port number)", "javaType": "int", "type": "integer" }, { "names": "--maven-apache-snapshot-enabled", "description": "Whether downloading JARs from ASF Maven Snapshot repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-central-enabled", "description": "Whether downloading JARs from Maven Central repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-settings", "description": "Optional location of Maven settings.xml file to configure servers, repositories, mirrors and proxies. If set to false, not even the default ~\/.m2\/settings.xml will be used.", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-settings-security", "description": "Optional location of Maven settings-security.xml file to decrypt settings.xml", "javaType": "java.lang.String", "type": "string" }, { "names": "--max-idle-seconds", "description": "For how long time in seconds Camel can be idle before stopping", "defaultValue": "0", "javaType": "int", "type": "integer" }, { "names": "--max-messages", "description": "Max number of messages to process before stopping", "defaultValue": "0", "javaType": "int", "type": "integer" }, { "names": "--max-seconds", "description": "Max seconds to run before stopping", "defaultValue": "0", "javaType": "int", "type": "integer" }, { "names": "--metrics", "description": "Deprecated: use --observe instead. Metrics (Micrometer and Prometheus) at \/q\/metrics on local HTTP server (port 8080 by default)", "defaultValue": "false", "javaType": "boolean", "type": "boolean", "deprecated": true }, { "names": "--modeline", "description": "Whether to support JBang style \/\/DEPS to specify additional dependencies", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--name", "description": "The name of the Camel application", "defaultValue": "CamelJBang", "javaType": "java.lang.String", "type": "string" }, { "names": "--observe", "description": "Enable observability services", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--open-api", "description": "Adds an OpenAPI spec from the given file (json or yaml file)", "javaType": "java.lang.String", "type": "string" }, { "names": "--package-scan-jars", "description": "Whether to automatic package scan JARs for custom Spring or Quarkus beans making them available for Camel JBang", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--port", "description": "Embeds a local HTTP server on this port (port 8080 by default; use 0 to dynamic assign a free random port number)", "javaType": "int", "type": "integer" }, { "names": "--profile", "description": "Profile to run ().", "defaultValue": "dev", "javaType": "java.lang.String", "type": "string" }, { "names": "--prompt", "description": "Allow user to type in required parameters in prompt if not present in application", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--prop,--property", "description": "Additional properties (override existing)", "javaType": "java.lang.String", "type": "string" }, { "names": "--properties", "description": "comma separated list of properties file (ex. \/path\/to\/file.properties,\/path\/to\/other.properties", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-artifact-id", "description": "Quarkus Platform Maven artifactId", "defaultValue": "quarkus-bom", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-group-id", "description": "Quarkus Platform Maven groupId", "defaultValue": "io.quarkus.platform", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-version", "description": "Quarkus Platform version", "defaultValue": "RuntimeType.QUARKUS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--reload,--dev", "description": "Enables dev mode (live reload when source files are updated and saved)", "javaType": "boolean", "type": "boolean" }, { "names": "--repo,--repos", "description": "Additional maven repositories (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--runtime", "description": "Runtime ()", "defaultValue": "camel-main", "javaType": "org.apache.camel.dsl.jbang.core.common.RuntimeType", "type": "object" }, { "names": "--skip-plugins", "description": "Skip resolving plugin dependencies", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--source-dir", "description": "Source directory for dynamically loading Camel file(s) to run. When using this, then files cannot be specified at the same time.", "javaType": "java.lang.String", "type": "string" }, { "names": "--spring-boot-version", "description": "Spring Boot version", "defaultValue": "RuntimeType.SPRING_BOOT_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--stub", "description": "Stubs all the matching endpoint uri with the given component name or pattern. Multiple names can be separated by comma. (all = stub all endpoints).", "javaType": "java.lang.String", "type": "string" }, { "names": "--trace", "description": "Enables trace logging of the routed messages", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--verbose", "description": "Verbose output of startup activity (dependency resolution and downloading", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, + { "name": "sbom", "fullName": "sbom", "description": "Generate a CycloneDX or SPDX SBOM for a specific project", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.SBOMGenerator", "options": [ { "names": "--build-property", "description": "Maven build properties, ex. --build-property=prop1=foo", "javaType": "java.util.List", "type": "array" }, { "names": "--camel-spring-boot-version", "description": "Camel version to use with Spring Boot", "javaType": "java.lang.String", "type": "string" }, { "names": "--camel-version", "description": "To export using a different Camel version than the default version.", "javaType": "java.lang.String", "type": "string" }, { "names": "--clean-dir", "description": "If exporting to current directory (default) then all existing files are preserved. Enabling this option will force cleaning current directory including all sub dirs (use this with care)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--cyclonedx-plugin-version", "description": "The CycloneDX Maven Plugin version", "defaultValue": "2.9.1", "javaType": "java.lang.String", "type": "string" }, { "names": "--dep,--dependency", "description": "Add additional dependencies", "javaType": "java.util.List", "type": "array" }, { "names": "--dir,--directory", "description": "Directory where the project will be exported", "defaultValue": ".", "javaType": "java.lang.String", "type": "string" }, { "names": "--download", "description": "Whether to allow automatic downloading JAR dependencies (over the internet)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--dry-run", "description": "Preview export without writing files", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--exclude", "description": "Exclude files by name or pattern", "javaType": "java.util.List", "type": "array" }, { "names": "--fresh", "description": "Make sure we use fresh (i.e. non-cached) resources", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--gav", "description": "The Maven group:artifact:version", "javaType": "java.lang.String", "type": "string" }, { "names": "--groovy-pre-compiled", "description": "Whether to include pre-compiled Groovy classes in the export (only supported with runtime=camel-main)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--hawtio", "description": "Whether to include Hawtio web console (only available for exporting to Spring Boot or Quarkus)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--hawtio-version", "description": "Version of the Hawtio web console", "defaultValue": "HawtioVersion.HAWTIO_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--ignore-loading-error", "description": "Whether to ignore route loading and compilation errors (use this with care!)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--java-version", "description": "Java version ()", "defaultValue": "21", "javaType": "java.lang.String", "type": "string" }, { "names": "--kamelets-version", "description": "Apache Camel Kamelets version", "defaultValue": "RuntimeType.KAMELETS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--lazy-bean", "description": "Whether to use lazy bean initialization (can help with complex classloading issues", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--local-kamelet-dir", "description": "Local directory for loading Kamelets (takes precedence)", "javaType": "java.lang.String", "type": "string" }, { "names": "--logging", "description": "Can be used to turn on logging to console (logs by default to file in \/.camel directory)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-level", "description": "Logging level ()", "defaultValue": "info", "javaType": "java.lang.String", "type": "string" }, { "names": "--main-classname", "description": "The class name of the Camel Main application class", "defaultValue": "CamelApplication", "javaType": "java.lang.String", "type": "string" }, { "names": "--management-port", "description": "To use a dedicated port for HTTP management", "javaType": "int", "type": "integer" }, { "names": "--maven-apache-snapshot-enabled", "description": "Whether downloading JARs from ASF Maven Snapshot repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-central-enabled", "description": "Whether downloading JARs from Maven Central repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-settings", "description": "Optional location of Maven settings.xml file to configure servers, repositories, mirrors and proxies. If set to false, not even the default ~\/.m2\/settings.xml will be used.", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-settings-security", "description": "Optional location of Maven settings-security.xml file to decrypt settings.xml", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-wrapper", "description": "Include Maven Wrapper files in exported project", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--name", "description": "The integration name. Use this when the name should not get derived otherwise.", "javaType": "java.lang.String", "type": "string" }, { "names": "--observe", "description": "Enable observability services", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--open-api", "description": "Adds an OpenAPI spec from the given file (json or yaml file)", "javaType": "java.lang.String", "type": "string" }, { "names": "--output-directory", "description": "Directory where the SBOM will be saved", "defaultValue": ".", "javaType": "java.lang.String", "type": "string" }, { "names": "--output-name", "description": "Output name of the SBOM file", "defaultValue": "sbom", "javaType": "java.lang.String", "type": "string" }, { "names": "--package-name", "description": "For Java source files should they have the given package name. By default the package name is computed from the Maven GAV. Use false to turn off and not include package name in the Java source files.", "javaType": "java.lang.String", "type": "string" }, { "names": "--package-scan-jars", "description": "Whether to automatic package scan JARs for custom Spring or Quarkus beans making them available for Camel JBang", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--port", "description": "Embeds a local HTTP server on this port", "javaType": "int", "type": "integer" }, { "names": "--profile", "description": "Profile to export ().", "javaType": "java.lang.String", "type": "string" }, { "names": "--prop,--property", "description": "Camel application properties, ex. --property=prop1=foo", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-artifact-id", "description": "Quarkus Platform Maven artifactId", "defaultValue": "quarkus-bom", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-group-id", "description": "Quarkus Platform Maven groupId", "defaultValue": "io.quarkus.platform", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-version", "description": "Quarkus Platform version", "defaultValue": "RuntimeType.QUARKUS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--quiet", "description": "Will be quiet, only print when error occurs", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--repo,--repos", "description": "Additional maven repositories (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--runtime", "description": "Runtime ()", "javaType": "org.apache.camel.dsl.jbang.core.common.RuntimeType", "type": "object" }, { "names": "--sbom-format", "description": "The SBOM format, possible values are cyclonedx or spdx", "defaultValue": "CYCLONEDX_FORMAT", "javaType": "java.lang.String", "type": "string" }, { "names": "--sbom-output-format", "description": "The SBOM output format, possible values are json or xml", "defaultValue": "SBOM_JSON_FORMAT", "javaType": "java.lang.String", "type": "string" }, { "names": "--skip-plugins", "description": "Skip plugins during export", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--spdx-plugin-version", "description": "The SPDX Maven Plugin version", "defaultValue": "0.7.4", "javaType": "java.lang.String", "type": "string" }, { "names": "--spring-boot-version", "description": "Spring Boot version", "defaultValue": "RuntimeType.SPRING_BOOT_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--verbose", "description": "Verbose output of startup activity (dependency resolution and downloading", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--yes,-y", "description": "Automatically answer yes to confirmation prompts (e.g. when using --clean-dir)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "script", "fullName": "script", "description": "Run Camel integration as shell script for terminal scripting", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.Script", "options": [ { "names": "--logging", "description": "Can be used to turn on logging (logs to file in \/.camel directory)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-level", "description": "Logging level ()", "defaultValue": "info", "javaType": "java.lang.String", "type": "string" }, { "names": "--max-idle-seconds", "description": "For how long time in seconds Camel can be idle before stopping", "defaultValue": "1", "javaType": "int", "type": "integer" }, { "names": "--max-messages", "description": "Max number of messages to process before stopping", "defaultValue": "0", "javaType": "int", "type": "integer" }, { "names": "--max-seconds", "description": "Max seconds to run before stopping", "defaultValue": "0", "javaType": "int", "type": "integer" }, { "names": "--prop,--property", "description": "Additional properties (override existing)", "javaType": "java.lang.String", "type": "string" }, { "names": "--properties", "description": "Load properties file for route placeholders (ex. \/path\/to\/file.properties", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "shell", "fullName": "shell", "description": "Interactive Camel JBang shell.", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.Shell", "options": [ { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "stop", "fullName": "stop", "description": "Shuts down running Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.StopProcess", "options": [ { "names": "--kill", "description": "To force killing the process (SIGKILL)", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, - { "name": "top", "fullName": "top", "description": "Top status of Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.CamelTop", "options": [ { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ], "subcommands": [ { "name": "context", "fullName": "top context", "description": "Top status of Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.CamelContextTop", "options": [ { "names": "--sort", "description": "Sort by pid, name, mem, or age", "defaultValue": "mem", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "group", "fullName": "top group", "description": "Top performing route groups", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.CamelRouteGroupTop", "options": [ { "names": "--filter", "description": "Filter groups by name", "javaType": "java.lang.String", "type": "string" }, { "names": "--filter-mean", "description": "Filter groups that must be slower than the given time (ms)", "javaType": "long", "type": "integer" }, { "names": "--limit", "description": "Filter groups by limiting to the given number of rows", "javaType": "int", "type": "integer" }, { "names": "--running", "description": "Only include running groups", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name, age or group", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "processor", "fullName": "top processor", "description": "Top performing processors", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.CamelProcessorTop", "options": [ { "names": "--description", "description": "Include description in the ID column (if available)", "javaType": "boolean", "type": "boolean" }, { "names": "--filter", "description": "Filter processors by id", "javaType": "java.lang.String", "type": "string" }, { "names": "--filter-mean", "description": "Filter processors that must be slower than the given time (ms)", "javaType": "long", "type": "integer" }, { "names": "--group", "description": "Filter processors by group", "javaType": "java.lang.String", "type": "string" }, { "names": "--limit", "description": "Filter routes by limiting to the given number of rows", "javaType": "int", "type": "integer" }, { "names": "--note", "description": "Include note in the ID column (if available)", "javaType": "boolean", "type": "boolean" }, { "names": "--remote", "description": "Break down counters into remote\/total pairs", "javaType": "boolean", "type": "boolean" }, { "names": "--running", "description": "Only include running processors", "javaType": "boolean", "type": "boolean" }, { "names": "--show-group", "description": "Include group column", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid or name", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--source", "description": "Prefer to display source filename\/code instead of IDs", "javaType": "boolean", "type": "boolean" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "route", "fullName": "top route", "description": "Top performing routes", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.CamelRouteTop", "options": [ { "names": "--description", "description": "Include description in the ID column (if available)", "javaType": "boolean", "type": "boolean" }, { "names": "--error", "description": "Shows detailed information for routes that has error status", "javaType": "boolean", "type": "boolean" }, { "names": "--filter", "description": "Filter routes by id, or url", "javaType": "java.lang.String", "type": "string" }, { "names": "--filter-mean", "description": "Filter routes that must be slower than the given time (ms)", "javaType": "long", "type": "integer" }, { "names": "--group", "description": "Filter routes by group", "javaType": "java.lang.String", "type": "string" }, { "names": "--limit", "description": "Filter routes by limiting to the given number of rows", "javaType": "int", "type": "integer" }, { "names": "--note", "description": "Include note in the ID column (if available)", "javaType": "boolean", "type": "boolean" }, { "names": "--running", "description": "Only include running routes", "javaType": "boolean", "type": "boolean" }, { "names": "--short-uri", "description": "List endpoint URI without query parameters (short)", "javaType": "boolean", "type": "boolean" }, { "names": "--show-group", "description": "Include group column", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--source", "description": "Prefer to display source filename\/code instead of IDs", "javaType": "boolean", "type": "boolean" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "--wide-uri", "description": "List endpoint URI in full details", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "source", "fullName": "top source", "description": "List top processors (source) in a running Camel integration", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelSourceTop", "options": [ { "names": "--filter-mean", "description": "Filter processors that must be slower than the given time (ms)", "javaType": "long", "type": "integer" }, { "names": "--limit", "description": "Filter processors by limiting to the given number of rows", "javaType": "int", "type": "integer" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] } ] }, + { "name": "top", "fullName": "top", "description": "Top status of Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.CamelTop", "options": [ { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ], "subcommands": [ { "name": "context", "fullName": "top context", "description": "Top status of Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.CamelContextTop", "options": [ { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name, mem, or age", "defaultValue": "mem", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "group", "fullName": "top group", "description": "Top performing route groups", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.CamelRouteGroupTop", "options": [ { "names": "--filter", "description": "Filter groups by name", "javaType": "java.lang.String", "type": "string" }, { "names": "--filter-mean", "description": "Filter groups that must be slower than the given time (ms)", "javaType": "long", "type": "integer" }, { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--limit", "description": "Filter groups by limiting to the given number of rows", "javaType": "int", "type": "integer" }, { "names": "--running", "description": "Only include running groups", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name, age or group", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "processor", "fullName": "top processor", "description": "Top performing processors", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.CamelProcessorTop", "options": [ { "names": "--description", "description": "Include description in the ID column (if available)", "javaType": "boolean", "type": "boolean" }, { "names": "--filter", "description": "Filter processors by id", "javaType": "java.lang.String", "type": "string" }, { "names": "--filter-mean", "description": "Filter processors that must be slower than the given time (ms)", "javaType": "long", "type": "integer" }, { "names": "--group", "description": "Filter processors by group", "javaType": "java.lang.String", "type": "string" }, { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--limit", "description": "Filter routes by limiting to the given number of rows", "javaType": "int", "type": "integer" }, { "names": "--note", "description": "Include note in the ID column (if available)", "javaType": "boolean", "type": "boolean" }, { "names": "--remote", "description": "Break down counters into remote\/total pairs", "javaType": "boolean", "type": "boolean" }, { "names": "--running", "description": "Only include running processors", "javaType": "boolean", "type": "boolean" }, { "names": "--show-group", "description": "Include group column", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid or name", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--source", "description": "Prefer to display source filename\/code instead of IDs", "javaType": "boolean", "type": "boolean" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "route", "fullName": "top route", "description": "Top performing routes", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.CamelRouteTop", "options": [ { "names": "--description", "description": "Include description in the ID column (if available)", "javaType": "boolean", "type": "boolean" }, { "names": "--error", "description": "Shows detailed information for routes that has error status", "javaType": "boolean", "type": "boolean" }, { "names": "--filter", "description": "Filter routes by id, or url", "javaType": "java.lang.String", "type": "string" }, { "names": "--filter-mean", "description": "Filter routes that must be slower than the given time (ms)", "javaType": "long", "type": "integer" }, { "names": "--group", "description": "Filter routes by group", "javaType": "java.lang.String", "type": "string" }, { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--limit", "description": "Filter routes by limiting to the given number of rows", "javaType": "int", "type": "integer" }, { "names": "--note", "description": "Include note in the ID column (if available)", "javaType": "boolean", "type": "boolean" }, { "names": "--running", "description": "Only include running routes", "javaType": "boolean", "type": "boolean" }, { "names": "--short-uri", "description": "List endpoint URI without query parameters (short)", "javaType": "boolean", "type": "boolean" }, { "names": "--show-group", "description": "Include group column", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--source", "description": "Prefer to display source filename\/code instead of IDs", "javaType": "boolean", "type": "boolean" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "--wide-uri", "description": "List endpoint URI in full details", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "source", "fullName": "top source", "description": "List top processors (source) in a running Camel integration", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelSourceTop", "options": [ { "names": "--filter-mean", "description": "Filter processors that must be slower than the given time (ms)", "javaType": "long", "type": "integer" }, { "names": "--limit", "description": "Filter processors by limiting to the given number of rows", "javaType": "int", "type": "integer" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] } ] }, { "name": "trace", "fullName": "trace", "description": "Tail message traces from running Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction", "options": [ { "names": "--action", "description": "Action to start, stop, clear, list status, or dump traces", "defaultValue": "status", "javaType": "java.lang.String", "type": "string" }, { "names": "--ago", "description": "Use ago instead of yyyy-MM-dd HH:mm:ss in timestamp.", "javaType": "boolean", "type": "boolean" }, { "names": "--compact", "description": "Compact output (no empty line separating traced messages)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--depth", "description": "Depth of tracing. 0=Created Completed. 1=All events on 1st route, 2=All events on 1st 2nd depth, and so on. 9 = all events on every depth.", "defaultValue": "9", "javaType": "int", "type": "integer" }, { "names": "--find", "description": "Find and highlight matching text (ignore case).", "javaType": "java.lang.String", "type": "string" }, { "names": "--follow", "description": "Keep following and outputting new traces (press enter to exit).", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--grep", "description": "Filter traces to only output trace matching text (ignore case).", "javaType": "java.lang.String", "type": "string" }, { "names": "--latest", "description": "Only output traces from the latest (follow if necessary until complete and exit)", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-color", "description": "Use colored logging", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--mask", "description": "Whether to mask endpoint URIs to avoid printing sensitive information such as password or access keys", "javaType": "boolean", "type": "boolean" }, { "names": "--prefix", "description": "Print prefix with running Camel integration name. auto=only prefix when running multiple integrations. true=always prefix. false=prefix off.", "defaultValue": "auto", "javaType": "java.lang.String", "type": "string" }, { "names": "--pretty", "description": "Pretty print message body when using JSon or XML format", "javaType": "boolean", "type": "boolean" }, { "names": "--show-body", "description": "Show message body in traced messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--show-exception", "description": "Show exception and stacktrace for failed messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--show-exchange-properties", "description": "Show exchange properties in traced messages", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--show-exchange-variables", "description": "Show exchange variables in traced messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--show-headers", "description": "Show message headers in traced messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--since", "description": "Return traces newer than a relative duration like 5s, 2m, or 1h. The value is in seconds if no unit specified.", "javaType": "java.lang.String", "type": "string" }, { "names": "--sort", "description": "Sort by pid, name or age for showing status of tracing", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--source", "description": "Prefer to display source filename\/code instead of IDs", "javaType": "boolean", "type": "boolean" }, { "names": "--tail", "description": "The number of traces from the end of the trace to show. Use -1 to read from the beginning. Use 0 to read only new lines. Defaults to showing all traces from beginning.", "defaultValue": "-1", "javaType": "int", "type": "integer" }, { "names": "--timestamp", "description": "Print timestamp.", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, - { "name": "transform", "fullName": "transform", "description": "Transform message or Camel routes", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.TransformCommand", "options": [ { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ], "subcommands": [ { "name": "message", "fullName": "transform message", "description": "Transform message from one format to another via an existing running Camel integration", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.TransformMessageAction", "options": [ { "names": "--body", "description": "Message body to send (prefix with file: to refer to loading message body from file)", "javaType": "java.lang.String", "type": "string", "required": true }, { "names": "--camel-version", "description": "To run using a different Camel version than the default version.", "javaType": "java.lang.String", "type": "string" }, { "names": "--component", "description": "The component to use for message transformation", "javaType": "java.lang.String", "type": "string" }, { "names": "--dataformat", "description": "The dataformat to use for message transformation", "javaType": "java.lang.String", "type": "string" }, { "names": "--header", "description": "Message header (key=value)", "javaType": "java.util.List", "type": "array" }, { "names": "--language", "description": "The language to use for message transformation", "javaType": "java.lang.String", "type": "string" }, { "names": "--logging-color", "description": "Use colored logging", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--option", "description": "Option for additional configuration of the used language, component or dataformat (key=value)", "javaType": "java.util.List", "type": "array" }, { "names": "--output", "description": "File to store output. If none provide then output is printed to console.", "javaType": "java.lang.String", "type": "string" }, { "names": "--pretty", "description": "Pretty print message body when using JSon or XML format", "javaType": "boolean", "type": "boolean" }, { "names": "--repo,--repos", "description": "Additional maven repositories (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--show-body", "description": "Show message body from the output message", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--show-exception", "description": "Show exception and stacktrace for failed transformation", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--show-exchange-properties", "description": "Show exchange properties from the output message", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--show-headers", "description": "Show message headers from the output message", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--source", "description": "Instead of using external template file then refer to an existing Camel route source with inlined Camel language expression in a route. (use :line-number or :id to refer to the exact location of the EIP to use)", "javaType": "java.lang.String", "type": "string" }, { "names": "--template", "description": "The template to use for message transformation (prefix with file: to refer to loading template from file)", "javaType": "java.lang.String", "type": "string" }, { "names": "--timeout", "description": "Timeout in millis waiting for message to be transformed", "defaultValue": "20000", "javaType": "long", "type": "integer" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "route", "fullName": "transform route", "description": "Transform Camel routes to XML or YAML format", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.TransformRoute", "options": [ { "names": "--format", "description": "Output format (xml or yaml), if only yaml files are provided, the format defaults to xml and vice versa", "javaType": "java.lang.String", "type": "string" }, { "names": "--ignore-loading-error", "description": "Whether to ignore route loading and compilation errors (use this with care!)", "javaType": "boolean", "type": "boolean" }, { "names": "--output", "description": "File or directory to store transformed files. If none provide then output is printed to console. Use clipboard as name to copy content into clipboard.", "javaType": "java.lang.String", "type": "string" }, { "names": "--resolve-placeholders", "description": "Whether to resolve property placeholders in the dumped output", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--uri-as-parameters", "description": "Whether to expand URIs into separated key\/value parameters (only in use for YAML format)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] } ] }, + { "name": "transform", "fullName": "transform", "description": "Transform message or Camel routes", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.TransformCommand", "options": [ { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ], "subcommands": [ { "name": "dataweave", "fullName": "transform dataweave", "description": "Convert DataWeave scripts to DataSonnet format", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.TransformDataWeave", "options": [ { "names": "--expression,-e", "description": "Inline DataWeave expression to convert", "javaType": "java.lang.String", "type": "string" }, { "names": "--include-comments", "description": "Include conversion notes as comments in output", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--input,-i", "description": "Input .dwl file or directory containing .dwl files", "javaType": "java.lang.String", "type": "string" }, { "names": "--output,-o", "description": "Output .ds file or directory (defaults to stdout)", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "message", "fullName": "transform message", "description": "Transform message from one format to another via an existing running Camel integration", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.TransformMessageAction", "options": [ { "names": "--body", "description": "Message body to send (prefix with file: to refer to loading message body from file)", "javaType": "java.lang.String", "type": "string", "required": true }, { "names": "--camel-version", "description": "To run using a different Camel version than the default version.", "javaType": "java.lang.String", "type": "string" }, { "names": "--component", "description": "The component to use for message transformation", "javaType": "java.lang.String", "type": "string" }, { "names": "--dataformat", "description": "The dataformat to use for message transformation", "javaType": "java.lang.String", "type": "string" }, { "names": "--header", "description": "Message header (key=value)", "javaType": "java.util.List", "type": "array" }, { "names": "--language", "description": "The language to use for message transformation", "javaType": "java.lang.String", "type": "string" }, { "names": "--logging-color", "description": "Use colored logging", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--option", "description": "Option for additional configuration of the used language, component or dataformat (key=value)", "javaType": "java.util.List", "type": "array" }, { "names": "--output", "description": "File to store output. If none provide then output is printed to console.", "javaType": "java.lang.String", "type": "string" }, { "names": "--pretty", "description": "Pretty print message body when using JSon or XML format", "javaType": "boolean", "type": "boolean" }, { "names": "--repo,--repos", "description": "Additional maven repositories (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--show-body", "description": "Show message body from the output message", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--show-exception", "description": "Show exception and stacktrace for failed transformation", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--show-exchange-properties", "description": "Show exchange properties from the output message", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--show-headers", "description": "Show message headers from the output message", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--source", "description": "Instead of using external template file then refer to an existing Camel route source with inlined Camel language expression in a route. (use :line-number or :id to refer to the exact location of the EIP to use)", "javaType": "java.lang.String", "type": "string" }, { "names": "--template", "description": "The template to use for message transformation (prefix with file: to refer to loading template from file)", "javaType": "java.lang.String", "type": "string" }, { "names": "--timeout", "description": "Timeout in millis waiting for message to be transformed", "defaultValue": "20000", "javaType": "long", "type": "integer" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "route", "fullName": "transform route", "description": "Transform Camel routes to XML or YAML format", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.TransformRoute", "options": [ { "names": "--format", "description": "Output format (), if only yaml files are provided, the format defaults to xml and vice versa", "javaType": "java.lang.String", "type": "string" }, { "names": "--ignore-loading-error", "description": "Whether to ignore route loading and compilation errors (use this with care!)", "javaType": "boolean", "type": "boolean" }, { "names": "--output", "description": "File or directory to store transformed files. If none provide then output is printed to console. Use clipboard as name to copy content into clipboard.", "javaType": "java.lang.String", "type": "string" }, { "names": "--resolve-placeholders", "description": "Whether to resolve property placeholders in the dumped output", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--uri-as-parameters", "description": "Whether to expand URIs into separated key\/value parameters (only in use for YAML format)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] } ] }, { "name": "update", "fullName": "update", "description": "Update Camel project", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.update.UpdateCommand", "options": [ { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ], "subcommands": [ { "name": "list", "fullName": "update list", "description": "List available update versions for Camel and its runtime variants", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.update.UpdateList", "options": [ { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--repo,--repos", "description": "Additional maven repositories for download on-demand (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--use-cache", "description": "Use Maven cache", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "run", "fullName": "update run", "description": "Update Camel project", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.update.UpdateRun", "options": [ { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] } ] }, - { "name": "version", "fullName": "version", "description": "Manage Camel versions", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.version.VersionCommand", "options": [ { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ], "subcommands": [ { "name": "get", "fullName": "version get", "description": "Displays current Camel version", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.version.VersionGet", "options": [ { "names": "--global", "description": "Use global or local configuration", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "list", "fullName": "version list", "description": "Displays available Camel versions", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.version.VersionList", "options": [ { "names": "--date-format", "description": "The format to show the date (such as dd-MM-yyyy)", "defaultValue": "DEFAULT_DATE_FORMAT", "javaType": "java.lang.String", "type": "string" }, { "names": "--days", "description": "Whether to include days since release", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--download", "description": "Whether to allow automatic downloading JAR dependencies (over the internet)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--eol", "description": "Include releases that are end-of-life", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--fresh", "description": "Make sure we use fresh (i.e. non-cached) resources", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--from-date", "description": "Filter by release date (inclusive)", "javaType": "java.lang.String", "type": "string" }, { "names": "--from-version", "description": "Filter by Camel version (inclusive). Will start from 4.0 if no version ranges provided.", "javaType": "java.lang.String", "type": "string" }, { "names": "--json", "description": "Output in JSON Format", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--lts", "description": "Only show LTS supported releases", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--patch", "description": "Whether to include patch releases (x.y.z)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--rc", "description": "Include also milestone or RC releases", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--repo,--repos", "description": "Additional maven repositories (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--runtime", "description": "Runtime ()", "defaultValue": "camel-main", "javaType": "org.apache.camel.dsl.jbang.core.common.RuntimeType", "type": "object" }, { "names": "--sort", "description": "Sort by (version, date, or days)", "defaultValue": "version", "javaType": "java.lang.String", "type": "string" }, { "names": "--tail", "description": "The number of lines from the end of the table to show.", "javaType": "int", "type": "integer" }, { "names": "--to-date", "description": "Filter by release date (exclusive)", "javaType": "java.lang.String", "type": "string" }, { "names": "--to-version", "description": "Filter by Camel version (exclusive)", "javaType": "java.lang.String", "type": "string" }, { "names": "--vendor", "description": "Vendor of Apache Camel distribution to use when filtering versions", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "set", "fullName": "version set", "description": "Set\/change current Camel version", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.version.VersionSet", "options": [ { "names": "--global", "description": "Use global or local configuration", "javaType": "boolean", "type": "boolean" }, { "names": "--repo,--repos", "description": "Maven repository for downloading the dependencies (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--reset", "description": "Reset by removing any custom version settings", "javaType": "boolean", "type": "boolean" }, { "names": "--runtime", "description": "Runtime ()", "javaType": "org.apache.camel.dsl.jbang.core.common.RuntimeType", "type": "object" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] } ] } + { "name": "version", "fullName": "version", "description": "Manage Camel versions", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.version.VersionCommand", "options": [ { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ], "subcommands": [ { "name": "get", "fullName": "version get", "description": "Displays current Camel version", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.version.VersionGet", "options": [ { "names": "--global", "description": "Use global or local configuration", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "list", "fullName": "version list", "description": "Displays available Camel versions", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.version.VersionList", "options": [ { "names": "--date-format", "description": "The format to show the date (such as dd-MM-yyyy)", "defaultValue": "DEFAULT_DATE_FORMAT", "javaType": "java.lang.String", "type": "string" }, { "names": "--days", "description": "Whether to include days since release", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--download", "description": "Whether to allow automatic downloading JAR dependencies (over the internet)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--eol", "description": "Include releases that are end-of-life", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--fresh", "description": "Make sure we use fresh (i.e. non-cached) resources", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--from-date", "description": "Filter by release date (inclusive)", "javaType": "java.lang.String", "type": "string" }, { "names": "--from-version", "description": "Filter by Camel version (inclusive). Will start from 4.0 if no version ranges provided.", "javaType": "java.lang.String", "type": "string" }, { "names": "--json", "description": "Output in JSON Format", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--lts", "description": "Only show LTS supported releases", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--patch", "description": "Whether to include patch releases (x.y.z)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--rc", "description": "Include also milestone or RC releases", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--repo,--repos", "description": "Additional maven repositories (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--runtime", "description": "Runtime ()", "defaultValue": "camel-main", "javaType": "org.apache.camel.dsl.jbang.core.common.RuntimeType", "type": "object" }, { "names": "--sort", "description": "Sort by (version, date, or days)", "defaultValue": "version", "javaType": "java.lang.String", "type": "string" }, { "names": "--tail", "description": "The number of lines from the end of the table to show.", "javaType": "int", "type": "integer" }, { "names": "--to-date", "description": "Filter by release date (exclusive)", "javaType": "java.lang.String", "type": "string" }, { "names": "--to-version", "description": "Filter by Camel version (exclusive)", "javaType": "java.lang.String", "type": "string" }, { "names": "--vendor", "description": "Vendor of Apache Camel distribution to use when filtering versions", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "set", "fullName": "version set", "description": "Set\/change current Camel version", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.version.VersionSet", "options": [ { "names": "--global", "description": "Use global or local configuration", "javaType": "boolean", "type": "boolean" }, { "names": "--repo,--repos", "description": "Maven repository for downloading the dependencies (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--reset", "description": "Reset by removing any custom version settings", "javaType": "boolean", "type": "boolean" }, { "names": "--runtime", "description": "Runtime ()", "javaType": "org.apache.camel.dsl.jbang.core.common.RuntimeType", "type": "object" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] } ] }, + { "name": "wrapper", "fullName": "wrapper", "description": "Install Camel wrapper scripts for version pinning", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.WrapperCommand", "options": [ { "names": "--camel-version", "description": "Camel version to pin (defaults to current version)", "javaType": "java.lang.String", "type": "string" }, { "names": "--dir,--directory", "description": "Directory where wrapper files will be created", "defaultValue": ".", "javaType": "java.lang.String", "type": "string" }, { "names": "--repo-url", "description": "Maven repository URL for downloading the launcher", "defaultValue": "DEFAULT_REPO_URL", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] } ] } diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/DependencyUpdate.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/DependencyUpdate.java index 658d6456d9a9c..6e08c30c4ee4d 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/DependencyUpdate.java +++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/DependencyUpdate.java @@ -107,8 +107,16 @@ public Integer doCall() throws Exception { return -1; } + // validate that all update targets are of the same type (all Maven or all JBang) + boolean hasMaven = updateTargets.stream().anyMatch(f -> "pom.xml".equals(f.getFileName().toString())); + boolean hasJava = updateTargets.stream().anyMatch(f -> !"pom.xml".equals(f.getFileName().toString())); + if (hasMaven && hasJava) { + printer().printErr("Cannot mix pom.xml and Java source files as update targets"); + return -1; + } + Path firstTarget = updateTargets.get(0); - boolean maven = "pom.xml".equals(firstTarget.getFileName().toString()); + boolean maven = hasMaven; if (clean && !maven) { // in clean mode: remove all DEPS first @@ -331,7 +339,10 @@ private void stripJBangDeps(Path file) { } /** - * Check if a dependency GAV string is a Camel dependency (org.apache.camel group). + * Check if a JBang dependency GAV string is a Camel dependency. Uses exact prefix "org.apache.camel:" (with colon) + * because JBang files only use the org.apache.camel group (not springboot/quarkus variants). For Maven pom.xml, see + * syncMavenSource which uses startsWith("org.apache.camel") without colon to also match org.apache.camel.springboot + * and org.apache.camel.quarkus groups. */ private static boolean isCamelDependency(String dep) { // handle @pom suffix @@ -444,7 +455,7 @@ private void addMavenDeps(Path file, List existingGavs, List } } - if (!toBeUpdated.isEmpty()) { + if (!toBeUpdated.isEmpty() && targetLineNumber > 0) { String content = IOHelper.loadText(Files.newInputStream(file)); String[] lines = content.split("\n"); content = insertMavenDeps(lines, toBeUpdated, targetLineNumber); @@ -593,6 +604,7 @@ private String removeMavenDeps(String[] lines, Document dom, List toRemo } StringBuilder sb = new StringBuilder(); + boolean previousSkipped = false; for (int i = 0; i < lines.length; i++) { int lineNum = i + 1; // 1-based boolean skip = false; @@ -603,11 +615,17 @@ private String removeMavenDeps(String[] lines, Document dom, List toRemo } } if (!skip) { + // skip blank line immediately following a removed block to avoid double-blank-lines + if (previousSkipped && lines[i].trim().isEmpty()) { + previousSkipped = false; + continue; + } if (sb.length() > 0) { sb.append("\n"); } sb.append(lines[i]); } + previousSkipped = skip; } return sb.toString(); } diff --git a/dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/commands/DependencyUpdateJBangTest.java b/dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/commands/DependencyUpdateJBangTest.java deleted file mode 100644 index 8fc14417bc0bc..0000000000000 --- a/dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/commands/DependencyUpdateJBangTest.java +++ /dev/null @@ -1,312 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.camel.dsl.jbang.core.commands; - -import java.io.File; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.stream.Stream; - -import org.apache.camel.dsl.jbang.core.common.RuntimeType; -import org.apache.camel.dsl.jbang.core.common.StringPrinter; -import org.apache.camel.util.FileUtil; -import org.junit.jupiter.api.AfterEach; -import org.junit.jupiter.api.Assertions; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; -import org.junit.jupiter.params.ParameterizedTest; -import org.junit.jupiter.params.provider.Arguments; -import org.junit.jupiter.params.provider.MethodSource; -import picocli.CommandLine; - -import static org.assertj.core.api.Assertions.assertThat; - -class DependencyUpdateJBangTest extends CamelCommandBaseTestSupport { - - private File workingDir; - - @BeforeEach - @Override - public void setup() throws Exception { - super.setup(); - Path base = Paths.get("target"); - workingDir = Files.createTempDirectory(base, "camel-dependency-update-jbang-tests").toFile(); - } - - @AfterEach - void end() { - FileUtil.removeDir(workingDir); - } - - @ParameterizedTest - @MethodSource("runtimeProvider") - void shouldScanRoutesAddDependency(RuntimeType rt) throws Exception { - prepareMavenProject(rt); - - // add arangodb to the route - addArangodbToCamelFile(); - - // run with --scan-routes - StringPrinter updatePrinter = new StringPrinter(); - DependencyUpdate command = new DependencyUpdate(new CamelJBangMain().withPrinter(updatePrinter)); - CommandLine.populateCommand(command, - "--scan-routes", - "--dir=" + workingDir, - new File(workingDir, "pom.xml").getAbsolutePath()); - int exit = command.doCall(); - Assertions.assertEquals(0, exit, updatePrinter.getLines().toString()); - - String pomContent = Files.readString(new File(workingDir, "pom.xml").toPath()); - switch (rt) { - case quarkus: - assertThat(pomContent).contains("camel-quarkus-arangodb"); - break; - case springBoot: - assertThat(pomContent).contains("camel-arangodb-starter"); - break; - case main: - assertThat(pomContent).contains("camel-arangodb<"); - break; - } - } - - @Test - void shouldScanRoutesRemoveUnusedMavenDependency() throws Exception { - prepareMavenProject(RuntimeType.main); - - // manually add camel-kafka to the pom.xml (which is not used by the route) - File pomFile = new File(workingDir, "pom.xml"); - String pomContent = Files.readString(pomFile.toPath()); - // insert before the closing tag in the main dependencies section - String kafkaDep = " \n" - + " org.apache.camel\n" - + " camel-kafka\n" - + " \n "; - pomContent = pomContent.replaceFirst("()", kafkaDep + "$1"); - Files.writeString(pomFile.toPath(), pomContent); - - // verify kafka is there - assertThat(Files.readString(pomFile.toPath())).contains("camel-kafka"); - - // run with --scan-routes to sync - StringPrinter updatePrinter = new StringPrinter(); - DependencyUpdate command = new DependencyUpdate(new CamelJBangMain().withPrinter(updatePrinter)); - CommandLine.populateCommand(command, - "--scan-routes", - "--dir=" + workingDir, - pomFile.getAbsolutePath()); - int exit = command.doCall(); - Assertions.assertEquals(0, exit, updatePrinter.getLines().toString()); - - // camel-kafka should be removed (not used in routes) - String updatedPom = Files.readString(pomFile.toPath()); - assertThat(updatedPom).doesNotContain("camel-kafka"); - // should still have camel-yaml-dsl (used for the route file) - assertThat(updatedPom).contains("camel-yaml-dsl"); - } - - @Test - void shouldScanRoutesAddAndRemoveMavenDependency() throws Exception { - prepareMavenProject(RuntimeType.main); - - // manually add camel-kafka to the pom.xml (which is not used by the route) - File pomFile = new File(workingDir, "pom.xml"); - String pomContent = Files.readString(pomFile.toPath()); - String kafkaDep = " \n" - + " org.apache.camel\n" - + " camel-kafka\n" - + " \n "; - pomContent = pomContent.replaceFirst("()", kafkaDep + "$1"); - Files.writeString(pomFile.toPath(), pomContent); - - // add arangodb to the route - addArangodbToCamelFile(); - - // run with --scan-routes to sync - StringPrinter updatePrinter = new StringPrinter(); - DependencyUpdate command = new DependencyUpdate(new CamelJBangMain().withPrinter(updatePrinter)); - CommandLine.populateCommand(command, - "--scan-routes", - "--dir=" + workingDir, - pomFile.getAbsolutePath()); - int exit = command.doCall(); - Assertions.assertEquals(0, exit, updatePrinter.getLines().toString()); - - String updatedPom = Files.readString(pomFile.toPath()); - // camel-kafka should be removed (not used in routes) - assertThat(updatedPom).doesNotContain("camel-kafka"); - // camel-arangodb should be added (used in the route) - assertThat(updatedPom).contains("camel-arangodb<"); - // should still have camel-yaml-dsl (used for the route file) - assertThat(updatedPom).contains("camel-yaml-dsl"); - } - - @Test - void shouldPreserveNonCamelDepsInJBangFile() throws Exception { - // create a Java file with mixed Camel and non-Camel //DEPS - Path javaFile = createFile("MyRoute.java", """ - ///usr/bin/env jbang - //DEPS org.apache.camel:camel-bom:4.13.0@pom - //DEPS org.apache.camel:camel-kafka - //DEPS com.google.guava:guava:33.0.0-jre - //DEPS io.netty:netty-all:4.1.100.Final - import org.apache.camel.builder.RouteBuilder; - public class MyRoute extends RouteBuilder { - public void configure() { - from("timer:tick").to("log:info"); - } - } - """); - - // run scan-routes with just the Java file (no separate route files) - StringPrinter p = new StringPrinter(); - DependencyUpdate command = new DependencyUpdate(new CamelJBangMain().withPrinter(p)); - CommandLine.populateCommand(command, - "--scan-routes", - "--dir=" + workingDir, - javaFile.toAbsolutePath().toString()); - int exit = command.doCall(); - Assertions.assertEquals(0, exit, p.getLines().toString()); - - String content = Files.readString(javaFile); - // non-Camel deps should be preserved - assertThat(content).contains("//DEPS com.google.guava:guava:33.0.0-jre"); - assertThat(content).contains("//DEPS io.netty:netty-all:4.1.100.Final"); - // should have camel-bom (resolved fresh) - assertThat(content).contains("//DEPS org.apache.camel:camel-bom:"); - // kafka should be removed (not used in the route definition) - assertThat(content).doesNotContain("camel-kafka"); - } - - @Test - void shouldScanRoutesIdempotentJBang() throws Exception { - Path javaFile = createFile("MyRoute.java", """ - ///usr/bin/env jbang - //DEPS com.google.guava:guava:33.0.0-jre - import org.apache.camel.builder.RouteBuilder; - public class MyRoute extends RouteBuilder { - public void configure() { - from("timer:tick").to("log:info"); - } - } - """); - - // run scan-routes twice - for (int run = 0; run < 2; run++) { - StringPrinter p = new StringPrinter(); - DependencyUpdate command = new DependencyUpdate(new CamelJBangMain().withPrinter(p)); - CommandLine.populateCommand(command, - "--scan-routes", - "--dir=" + workingDir, - javaFile.toAbsolutePath().toString()); - int exit = command.doCall(); - Assertions.assertEquals(0, exit, p.getLines().toString()); - } - - String content = Files.readString(javaFile); - // should have exactly one camel-bom line - long bomCount = content.lines().filter(l -> l.contains("camel-bom")).count(); - assertThat(bomCount).isEqualTo(1); - // non-Camel deps should still be there - assertThat(content).contains("//DEPS com.google.guava:guava:33.0.0-jre"); - } - - @Test - void shouldUpdateMultipleJBangFiles() throws Exception { - Path java1 = createFile("MyRoute1.java", """ - ///usr/bin/env jbang - import org.apache.camel.builder.RouteBuilder; - public class MyRoute1 extends RouteBuilder { - public void configure() { - from("timer:tick").to("log:info"); - } - } - """); - Path java2 = createFile("MyRoute2.java", """ - ///usr/bin/env jbang - import org.apache.camel.builder.RouteBuilder; - public class MyRoute2 extends RouteBuilder { - public void configure() { - from("timer:tick").to("log:info"); - } - } - """); - - DependencyUpdate command = new DependencyUpdate(new CamelJBangMain().withPrinter(printer)); - CommandLine.populateCommand(command, - "--dir=" + workingDir, - java1.toAbsolutePath().toString(), - java2.toAbsolutePath().toString()); - - int exit = command.doCall(); - Assertions.assertEquals(0, exit, printer.getLines().toString()); - - // both files should have //DEPS - String content1 = Files.readString(java1); - String content2 = Files.readString(java2); - assertThat(content1).contains("//DEPS org.apache.camel:camel-bom:"); - assertThat(content2).contains("//DEPS org.apache.camel:camel-bom:"); - } - - private void prepareMavenProject(RuntimeType rt) throws Exception { - StringPrinter initPrinter = new StringPrinter(); - Init initCommand = new Init(new CamelJBangMain().withPrinter(initPrinter)); - String camelFilePath = new File(workingDir, "my.camel.yaml").getAbsolutePath(); - CommandLine.populateCommand(initCommand, camelFilePath); - Assertions.assertEquals(0, initCommand.doCall(), initPrinter.getLines().toString()); - - StringPrinter exportPrinter = new StringPrinter(); - Export exportCommand = new Export(new CamelJBangMain().withPrinter(exportPrinter)); - CommandLine.populateCommand(exportCommand, - "--gav=examples:route:1.0.0", - "--dir=" + workingDir, - "--camel-version=4.13.0", - "--runtime=" + rt.runtime(), - camelFilePath); - Assertions.assertEquals(0, exportCommand.doCall(), exportPrinter.getLines().toString()); - } - - private void addArangodbToCamelFile() throws Exception { - File camelFile = new File(workingDir, "src/main/resources/camel/my.camel.yaml"); - String content = Files.readString(camelFile.toPath()); - content = content.replace("- log: ${body}", """ - - to: - uri: arangodb - parameters: - database: demo - """); - Files.writeString(camelFile.toPath(), content); - } - - private Path createFile(String name, String content) throws Exception { - Path file = workingDir.toPath().resolve(name); - Files.writeString(file, content); - return file; - } - - private static Stream runtimeProvider() { - Stream.Builder builder = Stream.builder(); - builder.add(Arguments.of(RuntimeType.quarkus)); - if (Runtime.version().feature() >= 21) { - builder.add(Arguments.of(RuntimeType.springBoot)); - } - builder.add(Arguments.of(RuntimeType.main)); - return builder.build(); - } - -} diff --git a/dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/commands/DependencyUpdateTest.java b/dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/commands/DependencyUpdateTest.java index 4475d190267bc..34d0bba1819b7 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/commands/DependencyUpdateTest.java +++ b/dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/commands/DependencyUpdateTest.java @@ -17,10 +17,11 @@ package org.apache.camel.dsl.jbang.core.commands; import java.io.File; -import java.io.IOException; +import java.io.InputStream; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; +import java.nio.file.StandardCopyOption; import java.util.List; import java.util.stream.Stream; @@ -30,6 +31,7 @@ import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; @@ -55,6 +57,8 @@ void end() { FileUtil.removeDir(workingDir); } + // ==================== Maven dependency update (existing export-based tests) ==================== + @ParameterizedTest @MethodSource("runtimeProvider") void shouldDependencyUpdate(RuntimeType rt) throws Exception { @@ -64,7 +68,7 @@ void shouldDependencyUpdate(RuntimeType rt) throws Exception { checkOneDependencyAddedForArangoDb(rt); } - private void checkOneDependencyAddedForArangoDb(RuntimeType rt) throws Exception, IOException { + private void checkOneDependencyAddedForArangoDb(RuntimeType rt) throws Exception { StringPrinter secondUpdateCommandPrinter = new StringPrinter(); DependencyUpdate command = new DependencyUpdate(new CamelJBangMain().withPrinter(secondUpdateCommandPrinter)); CommandLine.populateCommand(command, @@ -94,18 +98,6 @@ private void checkOneDependencyAddedForArangoDb(RuntimeType rt) throws Exception } } - private void addArangodbToCamelFile() throws IOException { - File camelFile = new File(workingDir, "src/main/resources/camel/my.camel.yaml"); - String camelFileContent = new String(Files.readAllBytes(camelFile.toPath())); - camelFileContent = camelFileContent.replace("- log: ${body}", """ - - to: - uri: arangodb - parameters: - database: demo - """); - Files.writeString(camelFile.toPath(), camelFileContent); - } - private void checkNoUpdateOnFreshlyGeneratedproject() throws Exception { DependencyUpdate command = new DependencyUpdate(new CamelJBangMain().withPrinter(printer)); CommandLine.populateCommand(command, @@ -137,6 +129,264 @@ private void prepareMavenProject(RuntimeType rt) throws Exception { Assertions.assertEquals(0, exportCommand.doCall(), exportCommandPrinter.getLines().toString()); } + // ==================== scan-routes with Maven (fixture-based tests) ==================== + + @ParameterizedTest + @MethodSource("runtimeProvider") + void shouldScanRoutesAddDependency(RuntimeType rt) throws Exception { + prepareFixtureProject(rt); + + // add arangodb to the route + addArangodbToCamelFile(); + + // run with --scan-routes + StringPrinter updatePrinter = new StringPrinter(); + DependencyUpdate command = new DependencyUpdate(new CamelJBangMain().withPrinter(updatePrinter)); + CommandLine.populateCommand(command, + "--scan-routes", + "--dir=" + workingDir, + new File(workingDir, "pom.xml").getAbsolutePath()); + int exit = command.doCall(); + Assertions.assertEquals(0, exit, updatePrinter.getLines().toString()); + + String pomContent = Files.readString(new File(workingDir, "pom.xml").toPath()); + switch (rt) { + case quarkus: + assertThat(pomContent).contains("camel-quarkus-arangodb"); + break; + case springBoot: + assertThat(pomContent).contains("camel-arangodb-starter"); + break; + case main: + assertThat(pomContent).contains("camel-arangodb<"); + break; + } + } + + @Test + void shouldScanRoutesRemoveUnusedMavenDependency() throws Exception { + prepareFixtureProject(RuntimeType.main); + + // manually add camel-kafka to the pom.xml (which is not used by the route) + File pomFile = new File(workingDir, "pom.xml"); + String pomContent = Files.readString(pomFile.toPath()); + // insert before the closing tag + String kafkaDep = " \n" + + " org.apache.camel\n" + + " camel-kafka\n" + + " \n "; + pomContent = pomContent.replaceFirst("()", kafkaDep + "$1"); + Files.writeString(pomFile.toPath(), pomContent); + + // verify kafka is there + assertThat(Files.readString(pomFile.toPath())).contains("camel-kafka"); + + // run with --scan-routes to sync + StringPrinter updatePrinter = new StringPrinter(); + DependencyUpdate command = new DependencyUpdate(new CamelJBangMain().withPrinter(updatePrinter)); + CommandLine.populateCommand(command, + "--scan-routes", + "--dir=" + workingDir, + pomFile.getAbsolutePath()); + int exit = command.doCall(); + Assertions.assertEquals(0, exit, updatePrinter.getLines().toString()); + + // camel-kafka should be removed (not used in routes) + String updatedPom = Files.readString(pomFile.toPath()); + assertThat(updatedPom).doesNotContain("camel-kafka"); + // should still have camel-yaml-dsl (used for the route file) + assertThat(updatedPom).contains("camel-yaml-dsl"); + } + + @Test + void shouldScanRoutesAddAndRemoveMavenDependency() throws Exception { + prepareFixtureProject(RuntimeType.main); + + // manually add camel-kafka to the pom.xml (which is not used by the route) + File pomFile = new File(workingDir, "pom.xml"); + String pomContent = Files.readString(pomFile.toPath()); + String kafkaDep = " \n" + + " org.apache.camel\n" + + " camel-kafka\n" + + " \n "; + pomContent = pomContent.replaceFirst("()", kafkaDep + "$1"); + Files.writeString(pomFile.toPath(), pomContent); + + // add arangodb to the route + addArangodbToCamelFile(); + + // run with --scan-routes to sync + StringPrinter updatePrinter = new StringPrinter(); + DependencyUpdate command = new DependencyUpdate(new CamelJBangMain().withPrinter(updatePrinter)); + CommandLine.populateCommand(command, + "--scan-routes", + "--dir=" + workingDir, + pomFile.getAbsolutePath()); + int exit = command.doCall(); + Assertions.assertEquals(0, exit, updatePrinter.getLines().toString()); + + String updatedPom = Files.readString(pomFile.toPath()); + // camel-kafka should be removed (not used in routes) + assertThat(updatedPom).doesNotContain("camel-kafka"); + // camel-arangodb should be added (used in the route) + assertThat(updatedPom).contains("camel-arangodb<"); + // should still have camel-yaml-dsl (used for the route file) + assertThat(updatedPom).contains("camel-yaml-dsl"); + } + + // ==================== JBang file tests (inline fixtures) ==================== + + @Test + void shouldPreserveNonCamelDepsInJBangFile() throws Exception { + // create a Java file with mixed Camel and non-Camel //DEPS + Path javaFile = createFile("MyRoute.java", """ + ///usr/bin/env jbang + //DEPS org.apache.camel:camel-bom:4.13.0@pom + //DEPS org.apache.camel:camel-kafka + //DEPS com.google.guava:guava:33.0.0-jre + //DEPS io.netty:netty-all:4.1.100.Final + import org.apache.camel.builder.RouteBuilder; + public class MyRoute extends RouteBuilder { + public void configure() { + from("timer:tick").to("log:info"); + } + } + """); + + // run scan-routes with just the Java file (no separate route files) + StringPrinter p = new StringPrinter(); + DependencyUpdate command = new DependencyUpdate(new CamelJBangMain().withPrinter(p)); + CommandLine.populateCommand(command, + "--scan-routes", + "--dir=" + workingDir, + javaFile.toAbsolutePath().toString()); + int exit = command.doCall(); + Assertions.assertEquals(0, exit, p.getLines().toString()); + + String content = Files.readString(javaFile); + // non-Camel deps should be preserved + assertThat(content).contains("//DEPS com.google.guava:guava:33.0.0-jre"); + assertThat(content).contains("//DEPS io.netty:netty-all:4.1.100.Final"); + // should have camel-bom (resolved fresh) + assertThat(content).contains("//DEPS org.apache.camel:camel-bom:"); + // kafka should be removed (not used in the route definition) + assertThat(content).doesNotContain("camel-kafka"); + } + + @Test + void shouldScanRoutesIdempotentJBang() throws Exception { + Path javaFile = createFile("MyRoute.java", """ + ///usr/bin/env jbang + //DEPS com.google.guava:guava:33.0.0-jre + import org.apache.camel.builder.RouteBuilder; + public class MyRoute extends RouteBuilder { + public void configure() { + from("timer:tick").to("log:info"); + } + } + """); + + // run scan-routes twice + for (int run = 0; run < 2; run++) { + StringPrinter p = new StringPrinter(); + DependencyUpdate command = new DependencyUpdate(new CamelJBangMain().withPrinter(p)); + CommandLine.populateCommand(command, + "--scan-routes", + "--dir=" + workingDir, + javaFile.toAbsolutePath().toString()); + int exit = command.doCall(); + Assertions.assertEquals(0, exit, p.getLines().toString()); + } + + String content = Files.readString(javaFile); + // should have exactly one camel-bom line + long bomCount = content.lines().filter(l -> l.contains("camel-bom")).count(); + assertThat(bomCount).isEqualTo(1); + // non-Camel deps should still be there + assertThat(content).contains("//DEPS com.google.guava:guava:33.0.0-jre"); + } + + @Test + void shouldUpdateMultipleJBangFiles() throws Exception { + Path java1 = createFile("MyRoute1.java", """ + ///usr/bin/env jbang + import org.apache.camel.builder.RouteBuilder; + public class MyRoute1 extends RouteBuilder { + public void configure() { + from("timer:tick").to("log:info"); + } + } + """); + Path java2 = createFile("MyRoute2.java", """ + ///usr/bin/env jbang + import org.apache.camel.builder.RouteBuilder; + public class MyRoute2 extends RouteBuilder { + public void configure() { + from("timer:tick").to("log:info"); + } + } + """); + + DependencyUpdate command = new DependencyUpdate(new CamelJBangMain().withPrinter(printer)); + CommandLine.populateCommand(command, + "--dir=" + workingDir, + java1.toAbsolutePath().toString(), + java2.toAbsolutePath().toString()); + + int exit = command.doCall(); + Assertions.assertEquals(0, exit, printer.getLines().toString()); + + // both files should have //DEPS + String content1 = Files.readString(java1); + String content2 = Files.readString(java2); + assertThat(content1).contains("//DEPS org.apache.camel:camel-bom:"); + assertThat(content2).contains("//DEPS org.apache.camel:camel-bom:"); + } + + // ==================== Helpers ==================== + + private void addArangodbToCamelFile() throws Exception { + File camelFile = new File(workingDir, "src/main/resources/camel/my.camel.yaml"); + String content = Files.readString(camelFile.toPath()); + content = content.replace("- log: ${body}", """ + - to: + uri: arangodb + parameters: + database: demo + """); + Files.writeString(camelFile.toPath(), content); + } + + /** + * Prepares a project from fixture files in src/test/resources/dependency-update. Faster than Init+Export since no + * command invocation is needed. + */ + private void prepareFixtureProject(RuntimeType rt) throws Exception { + String pomResource = switch (rt) { + case quarkus -> "dependency-update/quarkus-pom.xml"; + case springBoot -> "dependency-update/springboot-pom.xml"; + case main -> "dependency-update/main-pom.xml"; + }; + + // copy pom.xml + try (InputStream in = getClass().getClassLoader().getResourceAsStream(pomResource)) { + Files.copy(in, new File(workingDir, "pom.xml").toPath(), StandardCopyOption.REPLACE_EXISTING); + } + + // copy route file + Path routeDir = new File(workingDir, "src/main/resources/camel").toPath(); + Files.createDirectories(routeDir); + try (InputStream in = getClass().getClassLoader().getResourceAsStream("dependency-update/route.yaml")) { + Files.copy(in, routeDir.resolve("my.camel.yaml"), StandardCopyOption.REPLACE_EXISTING); + } + } + + private Path createFile(String name, String content) throws Exception { + Path file = workingDir.toPath().resolve(name); + Files.writeString(file, content); + return file; + } + private static Stream runtimeProvider() { Stream.Builder builder = Stream.builder(); builder.add(Arguments.of(RuntimeType.quarkus)); diff --git a/dsl/camel-jbang/camel-jbang-core/src/test/resources/dependency-update/main-pom.xml b/dsl/camel-jbang/camel-jbang-core/src/test/resources/dependency-update/main-pom.xml new file mode 100644 index 0000000000000..a8fa3566579bd --- /dev/null +++ b/dsl/camel-jbang/camel-jbang-core/src/test/resources/dependency-update/main-pom.xml @@ -0,0 +1,62 @@ + + + + + 4.0.0 + + examples + route + 1.0.0 + jar + + + 21 + + + + + + org.apache.camel + camel-bom + 4.13.0 + pom + import + + + + + + + org.apache.camel + camel-core + + + org.apache.camel + camel-main + + + org.apache.camel + camel-yaml-dsl + + + + diff --git a/dsl/camel-jbang/camel-jbang-core/src/test/resources/dependency-update/quarkus-pom.xml b/dsl/camel-jbang/camel-jbang-core/src/test/resources/dependency-update/quarkus-pom.xml new file mode 100644 index 0000000000000..ff304cc4d770b --- /dev/null +++ b/dsl/camel-jbang/camel-jbang-core/src/test/resources/dependency-update/quarkus-pom.xml @@ -0,0 +1,68 @@ + + + + + 4.0.0 + + examples + route + 1.0.0 + jar + + + 21 + io.quarkus.platform + quarkus-bom + 3.23.0 + + + + + + ${quarkus.platform.group-id} + ${quarkus.platform.artifact-id} + ${quarkus.platform.version} + pom + import + + + ${quarkus.platform.group-id} + quarkus-camel-bom + ${quarkus.platform.version} + pom + import + + + + + + + org.apache.camel.quarkus + camel-quarkus-core + + + org.apache.camel.quarkus + camel-quarkus-yaml-dsl + + + + diff --git a/dsl/camel-jbang/camel-jbang-core/src/test/resources/dependency-update/route.yaml b/dsl/camel-jbang/camel-jbang-core/src/test/resources/dependency-update/route.yaml new file mode 100644 index 0000000000000..df0f91ed45f88 --- /dev/null +++ b/dsl/camel-jbang/camel-jbang-core/src/test/resources/dependency-update/route.yaml @@ -0,0 +1,26 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +- route: + from: + uri: timer:yaml + parameters: + period: "1000" + steps: + - setBody: + simple: Hello Camel from my + - log: ${body} diff --git a/dsl/camel-jbang/camel-jbang-core/src/test/resources/dependency-update/springboot-pom.xml b/dsl/camel-jbang/camel-jbang-core/src/test/resources/dependency-update/springboot-pom.xml new file mode 100644 index 0000000000000..98ab74b3ef7b5 --- /dev/null +++ b/dsl/camel-jbang/camel-jbang-core/src/test/resources/dependency-update/springboot-pom.xml @@ -0,0 +1,58 @@ + + + + + 4.0.0 + + examples + route + 1.0.0 + jar + + + 21 + + + + + + org.apache.camel.springboot + camel-spring-boot-bom + 4.13.0 + pom + import + + + + + + + org.apache.camel.springboot + camel-spring-boot-starter + + + org.apache.camel.springboot + camel-yaml-dsl-starter + + + + diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangCommandsMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangCommandsMojo.java index 078fccd7d1625..1b7433512da85 100644 --- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangCommandsMojo.java +++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangCommandsMojo.java @@ -56,9 +56,9 @@ requiresDependencyResolution = ResolutionScope.COMPILE) public class PrepareCamelJBangCommandsMojo extends AbstractGeneratorMojo { - // Pattern to match .addSubcommand("name", new CommandLine(new ClassName(main)) + // Pattern to match .addSubcommand("name", new CommandLine(new ClassName(main)) or (this)) private static final Pattern SUBCOMMAND_PATTERN = Pattern.compile( - "\\.addSubcommand\\(\\s*\"([^\"]+)\"\\s*,\\s*new\\s+CommandLine\\(\\s*new\\s+([A-Za-z0-9_]+)\\s*\\(\\s*main\\s*\\)\\s*\\)"); + "\\.addSubcommand\\(\\s*\"([^\"]+)\"\\s*,\\s*new\\s+CommandLine\\(\\s*new\\s+([A-Za-z0-9_]+)\\s*\\(\\s*(?:main|this)\\s*\\)\\s*\\)"); @Parameter(defaultValue = "${project.basedir}/src/generated/resources") protected File outFolder; @@ -164,7 +164,7 @@ private void parseCommandHierarchy( // Find the start of the commandLine builder chain int startLine = -1; for (int i = 0; i < lines.size(); i++) { - if (lines.get(i).contains("commandLine = new CommandLine(main)")) { + if (lines.get(i).contains("commandLine = new CommandLine(")) { startLine = i; break; } From 617ae3c4afa9eff32b0c1e59a9f1ff1cab888eea Mon Sep 17 00:00:00 2001 From: Guillaume Nodet Date: Tue, 31 Mar 2026 09:04:47 +0200 Subject: [PATCH 3/5] CAMEL-22544: Regenerate jbang command metadata after rebase Co-Authored-By: Claude Opus 4.6 --- .../ROOT/pages/jbang-commands/camel-jbang-debug.adoc | 1 + .../jbang-commands/camel-jbang-dependency-copy.adoc | 3 ++- .../jbang-commands/camel-jbang-dependency-list.adoc | 3 ++- .../jbang-commands/camel-jbang-dependency-update.adoc | 3 ++- .../ROOT/pages/jbang-commands/camel-jbang-export.adoc | 3 ++- .../ROOT/pages/jbang-commands/camel-jbang-run.adoc | 1 + .../ROOT/pages/jbang-commands/camel-jbang-sbom.adoc | 3 ++- .../META-INF/camel-jbang-commands-metadata.json | 10 +++++----- 8 files changed, 17 insertions(+), 10 deletions(-) diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-debug.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-debug.adoc index 3f155003ff164..7a6a91b7ae689 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-debug.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-debug.adoc @@ -36,6 +36,7 @@ camel debug [options] | `--gav` | The Maven group:artifact:version (used during exporting) | | String | `--health` _(deprecated)_ | Deprecated: use --observe instead. Health check at /q/health on local HTTP server (port 8080 by default) | false | boolean | `--ignore-loading-error` | Whether to ignore route loading and compilation errors (use this with care!) | false | boolean +| `--java-version,--java` | Java version () | 21 | String | `--jfr` | Enables Java Flight Recorder saving recording to disk on exit | false | boolean | `--jfr-profile` | Java Flight Recorder profile to use (such as default or profile) | | String | `--jvm-debug` | To enable JVM remote debugging on port 4004 by default. The supported values are true to enable the remote debugging, false to disable the remote debugging or a number to use a custom port | | int diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-dependency-copy.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-dependency-copy.adoc index 99a070e072aba..76e64abd72b99 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-dependency-copy.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-dependency-copy.adoc @@ -34,7 +34,7 @@ camel dependency copy [options] | `--hawtio` | Whether to include Hawtio web console (only available for exporting to Spring Boot or Quarkus) | false | boolean | `--hawtio-version` | Version of the Hawtio web console | HawtioVersion.HAWTIO_VERSION | String | `--ignore-loading-error` | Whether to ignore route loading and compilation errors (use this with care!) | false | boolean -| `--java-version` | Java version () | 21 | String +| `--java-version,--java` | Java version () | 21 | String | `--kamelets-version` | Apache Camel Kamelets version | RuntimeType.KAMELETS_VERSION | String | `--lazy-bean` | Whether to use lazy bean initialization (can help with complex classloading issues | true | boolean | `--local-kamelet-dir` | Local directory for loading Kamelets (takes precedence) | | String @@ -59,6 +59,7 @@ camel dependency copy [options] | `--prop,--property` | Camel application properties, ex. --property=prop1=foo | | String | `--quarkus-artifact-id` | Quarkus Platform Maven artifactId | quarkus-bom | String | `--quarkus-group-id` | Quarkus Platform Maven groupId | io.quarkus.platform | String +| `--quarkus-package-type` | Quarkus package type (uber-jar or fast-jar) | uber-jar | String | `--quarkus-version` | Quarkus Platform version | RuntimeType.QUARKUS_VERSION | String | `--quiet` | Will be quiet, only print when error occurs | false | boolean | `--repo,--repos` | Additional maven repositories (Use commas to separate multiple repositories) | | String diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-dependency-list.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-dependency-list.adoc index 316a73e36100b..526929ed00790 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-dependency-list.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-dependency-list.adoc @@ -34,7 +34,7 @@ camel dependency list [options] | `--hawtio` | Whether to include Hawtio web console (only available for exporting to Spring Boot or Quarkus) | false | boolean | `--hawtio-version` | Version of the Hawtio web console | HawtioVersion.HAWTIO_VERSION | String | `--ignore-loading-error` | Whether to ignore route loading and compilation errors (use this with care!) | false | boolean -| `--java-version` | Java version () | 21 | String +| `--java-version,--java` | Java version () | 21 | String | `--kamelets-version` | Apache Camel Kamelets version | RuntimeType.KAMELETS_VERSION | String | `--lazy-bean` | Whether to use lazy bean initialization (can help with complex classloading issues | true | boolean | `--local-kamelet-dir` | Local directory for loading Kamelets (takes precedence) | | String @@ -58,6 +58,7 @@ camel dependency list [options] | `--prop,--property` | Camel application properties, ex. --property=prop1=foo | | String | `--quarkus-artifact-id` | Quarkus Platform Maven artifactId | quarkus-bom | String | `--quarkus-group-id` | Quarkus Platform Maven groupId | io.quarkus.platform | String +| `--quarkus-package-type` | Quarkus package type (uber-jar or fast-jar) | uber-jar | String | `--quarkus-version` | Quarkus Platform version | RuntimeType.QUARKUS_VERSION | String | `--quiet` | Will be quiet, only print when error occurs | false | boolean | `--repo,--repos` | Additional maven repositories (Use commas to separate multiple repositories) | | String diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-dependency-update.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-dependency-update.adoc index 11d90ec660241..d8771f15dffc7 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-dependency-update.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-dependency-update.adoc @@ -35,7 +35,7 @@ camel dependency update [options] | `--hawtio` | Whether to include Hawtio web console (only available for exporting to Spring Boot or Quarkus) | false | boolean | `--hawtio-version` | Version of the Hawtio web console | HawtioVersion.HAWTIO_VERSION | String | `--ignore-loading-error` | Whether to ignore route loading and compilation errors (use this with care!) | false | boolean -| `--java-version` | Java version () | 21 | String +| `--java-version,--java` | Java version () | 21 | String | `--kamelets-version` | Apache Camel Kamelets version | RuntimeType.KAMELETS_VERSION | String | `--lazy-bean` | Whether to use lazy bean initialization (can help with complex classloading issues | true | boolean | `--local-kamelet-dir` | Local directory for loading Kamelets (takes precedence) | | String @@ -59,6 +59,7 @@ camel dependency update [options] | `--prop,--property` | Camel application properties, ex. --property=prop1=foo | | String | `--quarkus-artifact-id` | Quarkus Platform Maven artifactId | quarkus-bom | String | `--quarkus-group-id` | Quarkus Platform Maven groupId | io.quarkus.platform | String +| `--quarkus-package-type` | Quarkus package type (uber-jar or fast-jar) | uber-jar | String | `--quarkus-version` | Quarkus Platform version | RuntimeType.QUARKUS_VERSION | String | `--quiet` | Will be quiet, only print when error occurs | false | boolean | `--repo,--repos` | Additional maven repositories (Use commas to separate multiple repositories) | | String diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-export.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-export.adoc index e34b1c0381c6d..2094cf702c1ca 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-export.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-export.adoc @@ -34,7 +34,7 @@ camel export [options] | `--hawtio` | Whether to include Hawtio web console (only available for exporting to Spring Boot or Quarkus) | false | boolean | `--hawtio-version` | Version of the Hawtio web console | HawtioVersion.HAWTIO_VERSION | String | `--ignore-loading-error` | Whether to ignore route loading and compilation errors (use this with care!) | false | boolean -| `--java-version` | Java version () | 21 | String +| `--java-version,--java` | Java version () | 21 | String | `--kamelets-version` | Apache Camel Kamelets version | RuntimeType.KAMELETS_VERSION | String | `--lazy-bean` | Whether to use lazy bean initialization (can help with complex classloading issues | true | boolean | `--local-kamelet-dir` | Local directory for loading Kamelets (takes precedence) | | String @@ -57,6 +57,7 @@ camel export [options] | `--prop,--property` | Camel application properties, ex. --property=prop1=foo | | String | `--quarkus-artifact-id` | Quarkus Platform Maven artifactId | quarkus-bom | String | `--quarkus-group-id` | Quarkus Platform Maven groupId | io.quarkus.platform | String +| `--quarkus-package-type` | Quarkus package type (uber-jar or fast-jar) | uber-jar | String | `--quarkus-version` | Quarkus Platform version | RuntimeType.QUARKUS_VERSION | String | `--quiet` | Will be quiet, only print when error occurs | false | boolean | `--repo,--repos` | Additional maven repositories (Use commas to separate multiple repositories) | | String diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-run.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-run.adoc index 0750b99566c80..33c291cc79b8c 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-run.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-run.adoc @@ -34,6 +34,7 @@ camel run [options] | `--gav` | The Maven group:artifact:version (used during exporting) | | String | `--health` _(deprecated)_ | Deprecated: use --observe instead. Health check at /q/health on local HTTP server (port 8080 by default) | false | boolean | `--ignore-loading-error` | Whether to ignore route loading and compilation errors (use this with care!) | false | boolean +| `--java-version,--java` | Java version () | 21 | String | `--jfr` | Enables Java Flight Recorder saving recording to disk on exit | false | boolean | `--jfr-profile` | Java Flight Recorder profile to use (such as default or profile) | | String | `--jvm-debug` | To enable JVM remote debugging on port 4004 by default. The supported values are true to enable the remote debugging, false to disable the remote debugging or a number to use a custom port | | int diff --git a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-sbom.adoc b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-sbom.adoc index 68f7e5176d07a..8a280435243bd 100644 --- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-sbom.adoc +++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-sbom.adoc @@ -35,7 +35,7 @@ camel sbom [options] | `--hawtio` | Whether to include Hawtio web console (only available for exporting to Spring Boot or Quarkus) | false | boolean | `--hawtio-version` | Version of the Hawtio web console | HawtioVersion.HAWTIO_VERSION | String | `--ignore-loading-error` | Whether to ignore route loading and compilation errors (use this with care!) | false | boolean -| `--java-version` | Java version () | 21 | String +| `--java-version,--java` | Java version () | 21 | String | `--kamelets-version` | Apache Camel Kamelets version | RuntimeType.KAMELETS_VERSION | String | `--lazy-bean` | Whether to use lazy bean initialization (can help with complex classloading issues | true | boolean | `--local-kamelet-dir` | Local directory for loading Kamelets (takes precedence) | | String @@ -60,6 +60,7 @@ camel sbom [options] | `--prop,--property` | Camel application properties, ex. --property=prop1=foo | | String | `--quarkus-artifact-id` | Quarkus Platform Maven artifactId | quarkus-bom | String | `--quarkus-group-id` | Quarkus Platform Maven groupId | io.quarkus.platform | String +| `--quarkus-package-type` | Quarkus package type (uber-jar or fast-jar) | uber-jar | String | `--quarkus-version` | Quarkus Platform version | RuntimeType.QUARKUS_VERSION | String | `--quiet` | Will be quiet, only print when error occurs | false | boolean | `--repo,--repos` | Additional maven repositories (Use commas to separate multiple repositories) | | String diff --git a/dsl/camel-jbang/camel-jbang-core/src/generated/resources/META-INF/camel-jbang-commands-metadata.json b/dsl/camel-jbang/camel-jbang-core/src/generated/resources/META-INF/camel-jbang-commands-metadata.json index cf87c2bacc21a..7f74c05881bec 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/generated/resources/META-INF/camel-jbang-commands-metadata.json +++ b/dsl/camel-jbang/camel-jbang-core/src/generated/resources/META-INF/camel-jbang-commands-metadata.json @@ -5,13 +5,13 @@ { "name": "cmd", "fullName": "cmd", "description": "Performs commands in the running Camel integrations, such as start\/stop route, or change logging levels.", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelAction", "options": [ { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ], "subcommands": [ { "name": "browse", "fullName": "cmd browse", "description": "Browse pending messages on endpoints", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelBrowseAction", "options": [ { "names": "--body-max-chars", "description": "Maximum size of the message body to include in the dump", "javaType": "int", "type": "integer" }, { "names": "--dump", "description": "Whether to include message dumps", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--endpoint", "description": "Endpoint to browse messages from (can be uri, pattern, or refer to a route id)", "javaType": "java.lang.String", "type": "string" }, { "names": "--fresh-size", "description": "Whether to calculate fresh queue size information (performance overhead)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--limit", "description": "Limits the number of messages to dump per endpoint", "defaultValue": "100", "javaType": "int", "type": "integer" }, { "names": "--logging-color", "description": "Use colored logging", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--mask", "description": "Whether to mask endpoint URIs to avoid printing sensitive information such as password or access keys", "javaType": "boolean", "type": "boolean" }, { "names": "--only-body", "description": "Show only message body in browsed messages", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--pretty", "description": "Pretty print message body when using JSon or XML format", "javaType": "boolean", "type": "boolean" }, { "names": "--short-uri", "description": "List endpoint URI without query parameters (short)", "javaType": "boolean", "type": "boolean" }, { "names": "--show-body", "description": "Show message body in browsed messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--show-headers", "description": "Show message headers in browsed messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by uri, or size", "defaultValue": "uri", "javaType": "java.lang.String", "type": "string" }, { "names": "--tail", "description": "The number of messages from the end (latest) to dump", "javaType": "int", "type": "integer" }, { "names": "--wide-uri", "description": "List endpoint URI in full details", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "disable-processor", "fullName": "cmd disable-processor", "description": "Disable Camel processor", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelProcessorDisableAction", "options": [ { "names": "--id", "description": "Processor ids (multiple ids can be separated by comma)", "defaultValue": "*", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "enable-processor", "fullName": "cmd enable-processor", "description": "Enable Camel processor", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelProcessorEnableAction", "options": [ { "names": "--id", "description": "Processor ids (multiple ids can be separated by comma)", "defaultValue": "*", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "gc", "fullName": "cmd gc", "description": "Trigger Java Memory Garbage Collector", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelGCAction", "options": [ { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "load", "fullName": "cmd load", "description": "Loads new source files into an existing Camel", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelLoadAction", "options": [ { "names": "--restart", "description": "To force restart all routes after loading source files", "javaType": "boolean", "type": "boolean" }, { "names": "--source", "description": "Source file(s) to load", "javaType": "java.util.List", "type": "array" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "logger", "fullName": "cmd logger", "description": "List or change logging levels", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.LoggerAction", "options": [ { "names": "--logger", "description": "The logger name", "defaultValue": "root", "javaType": "java.lang.String", "type": "string" }, { "names": "--logging-level", "description": "To change logging level ()", "javaType": "java.lang.String", "type": "string" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "receive", "fullName": "cmd receive", "description": "Receive and dump messages from remote endpoints", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelReceiveAction", "options": [ { "names": "--action", "description": "Action to start, stop, clear, status, or dump messages", "defaultValue": "status", "javaType": "java.lang.String", "type": "string" }, { "names": "--compact", "description": "Compact output (no empty line separating messages)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--endpoint,--uri", "description": "Endpoint to receive messages from (can be uri or pattern to refer to existing endpoint)", "javaType": "java.lang.String", "type": "string" }, { "names": "--find", "description": "Find and highlight matching text (ignore case).", "javaType": "java.lang.String", "type": "string" }, { "names": "--follow", "description": "Keep following and outputting new messages (press enter to exit).", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--grep", "description": "Filter messages to only output matching text (ignore case).", "javaType": "java.lang.String", "type": "string" }, { "names": "--logging-color", "description": "Use colored logging", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--mask", "description": "Whether to mask endpoint URIs to avoid printing sensitive information such as password or access keys", "javaType": "boolean", "type": "boolean" }, { "names": "--only-body", "description": "Show only message body in received messages", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--output", "description": "Output format ()", "javaType": "java.lang.String", "type": "string" }, { "names": "--prefix", "description": "Print prefix with running Camel integration name. auto=only prefix when running multiple integrations. true=always prefix. false=prefix off.", "defaultValue": "auto", "javaType": "java.lang.String", "type": "string" }, { "names": "--pretty", "description": "Pretty print message body when using JSon or XML format", "javaType": "boolean", "type": "boolean" }, { "names": "--prop,--property", "description": "Additional properties; override existing (only applicable when NOT using an existing running Camel)", "javaType": "java.lang.String", "type": "string" }, { "names": "--properties", "description": "comma separated list of properties file (only applicable when NOT using an existing running Camel) (ex. \/path\/to\/file.properties,\/path\/to\/other.properties", "javaType": "java.lang.String", "type": "string" }, { "names": "--short-uri", "description": "List endpoint URI without query parameters (short)", "javaType": "boolean", "type": "boolean" }, { "names": "--show-body", "description": "Show message body in received messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--show-exchange-properties", "description": "Show exchange properties in received messages", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--show-exchange-variables", "description": "Show exchange variables in received messages", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--show-headers", "description": "Show message headers in received messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--since", "description": "Return messages newer than a relative duration like 5s, 2m, or 1h. The value is in seconds if no unit specified.", "javaType": "java.lang.String", "type": "string" }, { "names": "--sort", "description": "Sort by pid, name or age for showing status of messages", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--tail", "description": "The number of messages from the end to show. Use -1 to read from the beginning. Use 0 to read only new lines. Defaults to showing all messages from beginning.", "defaultValue": "-1", "javaType": "int", "type": "integer" }, { "names": "--timeout", "description": "Timeout in millis waiting for message to be received", "defaultValue": "20000", "javaType": "long", "type": "integer" }, { "names": "--wide-uri", "description": "List endpoint URI in full details", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "reload", "fullName": "cmd reload", "description": "Trigger reloading Camel", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelReloadAction", "options": [ { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "reset-stats", "fullName": "cmd reset-stats", "description": "Reset performance statistics", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelResetStatsAction", "options": [ { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "resume-route", "fullName": "cmd resume-route", "description": "Resume Camel routes", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelRouteResumeAction", "options": [ { "names": "--id", "description": "Route ids (multiple ids can be separated by comma)", "defaultValue": "*", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "route-structure", "fullName": "cmd route-structure", "description": "Dump Camel route structure", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelRouteStructureAction", "options": [ { "names": "--brief", "description": "To show less detailed route structure", "javaType": "boolean", "type": "boolean" }, { "names": "--filter", "description": "Filter route by filename or route id (multiple names can be separated by comma)", "javaType": "java.lang.String", "type": "string" }, { "names": "--raw", "description": "To output raw without metadata", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort route by name or id", "defaultValue": "name", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "send", "fullName": "cmd send", "description": "Send messages to endpoints", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelSendAction", "options": [ { "names": "--body", "description": "Message body to send (prefix with file: to refer to loading message body from file)", "javaType": "java.lang.String", "type": "string" }, { "names": "--endpoint,--uri", "description": "Endpoint where to send the message (can be uri, pattern, or refer to a route id)", "javaType": "java.lang.String", "type": "string" }, { "names": "--header", "description": "Message header (key=value)", "javaType": "java.util.List", "type": "array" }, { "names": "--infra", "description": "Send to infrastructure service (e.g., nats, kafka)", "javaType": "java.lang.String", "type": "string" }, { "names": "--logging-color", "description": "Use colored logging", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--poll", "description": "Poll instead of sending a message. This can be used to receive latest message from a Kafka topic or JMS queue.", "javaType": "boolean", "type": "boolean" }, { "names": "--pretty", "description": "Pretty print response message body (InOut) when using JSon or XML format", "javaType": "boolean", "type": "boolean" }, { "names": "--prop,--property", "description": "Additional properties; override existing (only applicable when NOT using an existing running Camel)", "javaType": "java.lang.String", "type": "string" }, { "names": "--properties", "description": "comma separated list of properties file (only applicable when NOT using an existing running Camel) (ex. \/path\/to\/file.properties,\/path\/to\/other.properties", "javaType": "java.lang.String", "type": "string" }, { "names": "--reply", "description": "Whether to expect a reply message (InOut vs InOut messaging style)", "javaType": "boolean", "type": "boolean" }, { "names": "--reply-file", "description": "Saves reply message to the file with the given name (override if exists)", "javaType": "java.lang.String", "type": "string" }, { "names": "--show-body", "description": "Show message body from response message (InOut)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--show-exception", "description": "Show exception and stacktrace for failed messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--show-exchange-properties", "description": "Show exchange properties from response message (InOut)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--show-exchange-variables", "description": "Show exchange variables from response message (InOut)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--show-headers", "description": "Show message headers from response message (InOut)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--timeout", "description": "Timeout in millis waiting for message to be sent (and reply message if InOut messaging)", "defaultValue": "20000", "javaType": "long", "type": "integer" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "start-group", "fullName": "cmd start-group", "description": "Start Camel route groups", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelRouteGroupStartAction", "options": [ { "names": "--id", "description": "Route ids (multiple ids can be separated by comma)", "defaultValue": "*", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "start-route", "fullName": "cmd start-route", "description": "Start Camel routes", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelRouteStartAction", "options": [ { "names": "--id", "description": "Route ids (multiple ids can be separated by comma)", "defaultValue": "*", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "stop-group", "fullName": "cmd stop-group", "description": "Stop Camel route groups", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelRouteGroupStopAction", "options": [ { "names": "--id", "description": "Route ids (multiple ids can be separated by comma)", "defaultValue": "*", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "stop-route", "fullName": "cmd stop-route", "description": "Stop Camel routes", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelRouteStopAction", "options": [ { "names": "--id", "description": "Route ids (multiple ids can be separated by comma)", "defaultValue": "*", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "stub", "fullName": "cmd stub", "description": "Browse stub endpoints", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelStubAction", "options": [ { "names": "--browse", "description": "Whether to browse messages queued in the stub endpoints", "javaType": "boolean", "type": "boolean" }, { "names": "--compact", "description": "Compact output (no empty line separating browsed messages)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--filter", "description": "Filter endpoints by queue name", "javaType": "java.lang.String", "type": "string" }, { "names": "--find", "description": "Find and highlight matching text (ignore case).", "javaType": "java.lang.String", "type": "string" }, { "names": "--grep", "description": "Filter browsing messages to only output trace matching text (ignore case).", "javaType": "java.lang.String", "type": "string" }, { "names": "--limit", "description": "Filter browsing queues by limiting to the given latest number of messages", "defaultValue": "10", "javaType": "int", "type": "integer" }, { "names": "--logging-color", "description": "Use colored logging", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--mask", "description": "Whether to mask endpoint URIs to avoid printing sensitive information such as password or access keys", "javaType": "boolean", "type": "boolean" }, { "names": "--pretty", "description": "Pretty print message body when using JSon or XML format", "javaType": "boolean", "type": "boolean" }, { "names": "--show-body", "description": "Show message body in traced messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--show-headers", "description": "Show message headers in traced messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by name, or total", "defaultValue": "name", "javaType": "java.lang.String", "type": "string" }, { "names": "--top", "description": "Whether to browse top (latest) messages queued in the stub endpoints", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "suspend-route", "fullName": "cmd suspend-route", "description": "Suspend Camel routes", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelRouteSuspendAction", "options": [ { "names": "--id", "description": "Route ids (multiple ids can be separated by comma)", "defaultValue": "*", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "thread-dump", "fullName": "cmd thread-dump", "description": "List threads in a running Camel integration", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelThreadDump", "options": [ { "names": "--depth", "description": "Max depth of stack-trace", "defaultValue": "1", "javaType": "int", "type": "integer" }, { "names": "--filter", "description": "Filter thread names\/ids (use all to include all threads)", "defaultValue": "Camel", "javaType": "java.lang.String", "type": "string" }, { "names": "--sort", "description": "Sort by id, name or state", "defaultValue": "id", "javaType": "java.lang.String", "type": "string" }, { "names": "--state", "description": "To only show threads for a given state", "javaType": "java.lang.String", "type": "string" }, { "names": "--trace", "description": "Include stack-traces", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] } ] }, { "name": "completion", "fullName": "completion", "description": "Generate completion script for bash\/zsh", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.Complete", "options": [ { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "config", "fullName": "config", "description": "Get and set user configuration values", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.config.ConfigCommand", "options": [ { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ], "subcommands": [ { "name": "get", "fullName": "config get", "description": "Display user configuration value", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.config.ConfigGet", "options": [ { "names": "--global", "description": "Use global or local configuration", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "list", "fullName": "config list", "description": "Displays user configuration", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.config.ConfigList", "options": [ { "names": "--global", "description": "Use global or local configuration", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "set", "fullName": "config set", "description": "Set user configuration value", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.config.ConfigSet", "options": [ { "names": "--global", "description": "Use global or local configuration", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "unset", "fullName": "config unset", "description": "Remove user configuration value", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.config.ConfigUnset", "options": [ { "names": "--global", "description": "Use global or local configurations", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] } ] }, - { "name": "debug", "fullName": "debug", "description": "Debug local Camel integration", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.Debug", "options": [ { "names": "--ago", "description": "Use ago instead of yyyy-MM-dd HH:mm:ss in timestamp.", "javaType": "boolean", "type": "boolean" }, { "names": "--background", "description": "Run in the background", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--background-wait", "description": "To wait for run in background to startup successfully, before returning", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--backlog-trace", "description": "Enables backlog tracing of the routed messages", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--breakpoint", "description": "To set breakpoint at the given node id (Multiple ids can be separated by comma). If no breakpoint is set, then the first route is automatic selected.", "javaType": "java.lang.String", "type": "string" }, { "names": "--camel-spring-boot-version", "description": "To run using a different Camel Spring Boot version than the default version.", "javaType": "java.lang.String", "type": "string" }, { "names": "--camel-version", "description": "To run using a different Camel version than the default version.", "javaType": "java.lang.String", "type": "string" }, { "names": "--code", "description": "Run the given text or file as Java DSL routes", "javaType": "java.lang.String", "type": "string" }, { "names": "--console", "description": "Developer console at \/q\/dev on local HTTP server (port 8080 by default)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--dep,--dependency", "description": "Add additional dependencies", "javaType": "java.util.List", "type": "array" }, { "names": "--download", "description": "Whether to allow automatic downloading JAR dependencies (over the internet)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--empty", "description": "Run an empty Camel without loading source files", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--exclude", "description": "Exclude files by name or pattern", "javaType": "java.util.List", "type": "array" }, { "names": "--fresh", "description": "Make sure we use fresh (i.e. non-cached) resources", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--gav", "description": "The Maven group:artifact:version (used during exporting)", "javaType": "java.lang.String", "type": "string" }, { "names": "--health", "description": "Deprecated: use --observe instead. Health check at \/q\/health on local HTTP server (port 8080 by default)", "defaultValue": "false", "javaType": "boolean", "type": "boolean", "deprecated": true }, { "names": "--ignore-loading-error", "description": "Whether to ignore route loading and compilation errors (use this with care!)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--jfr", "description": "Enables Java Flight Recorder saving recording to disk on exit", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--jfr-profile", "description": "Java Flight Recorder profile to use (such as default or profile)", "javaType": "java.lang.String", "type": "string" }, { "names": "--jvm-debug", "description": "To enable JVM remote debugging on port 4004 by default. The supported values are true to enable the remote debugging, false to disable the remote debugging or a number to use a custom port", "javaType": "int", "type": "integer", "paramLabel": "" }, { "names": "--kamelets-version", "description": "Apache Camel Kamelets version", "javaType": "java.lang.String", "type": "string" }, { "names": "--lazy-bean", "description": "Whether to use lazy bean initialization (can help with complex classloading issues)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--local-kamelet-dir", "description": "Local directory (or github link) for loading Kamelets (takes precedence). Multiple directories can be specified separated by comma.", "javaType": "java.lang.String", "type": "string" }, { "names": "--log-lines", "description": "Number of log lines to display on top of screen", "defaultValue": "10", "javaType": "int", "type": "integer" }, { "names": "--logging", "description": "Can be used to turn off logging", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-category", "description": "Used for individual logging levels (ex: org.apache.kafka=DEBUG)", "javaType": "java.util.List", "type": "array" }, { "names": "--logging-color", "description": "Use colored logging. Default is auto-detected based on NO_COLOR, CI, FORCE_COLOR environment variables and terminal capabilities", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-config-path", "description": "Path to file with custom logging configuration", "javaType": "java.lang.String", "type": "string" }, { "names": "--logging-json", "description": "Use JSON logging (ECS Layout)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-level", "description": "Logging level ()", "defaultValue": "info", "javaType": "java.lang.String", "type": "string" }, { "names": "--management-port", "description": "To use a dedicated port for HTTP management (use 0 to dynamic assign a free random port number)", "javaType": "int", "type": "integer" }, { "names": "--mask", "description": "Whether to mask endpoint URIs to avoid printing sensitive information such as password or access keys", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-apache-snapshot-enabled", "description": "Whether downloading JARs from ASF Maven Snapshot repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-central-enabled", "description": "Whether downloading JARs from Maven Central repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-settings", "description": "Optional location of Maven settings.xml file to configure servers, repositories, mirrors and proxies. If set to false, not even the default ~\/.m2\/settings.xml will be used.", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-settings-security", "description": "Optional location of Maven settings-security.xml file to decrypt settings.xml", "javaType": "java.lang.String", "type": "string" }, { "names": "--max-idle-seconds", "description": "For how long time in seconds Camel can be idle before stopping", "defaultValue": "0", "javaType": "int", "type": "integer" }, { "names": "--max-messages", "description": "Max number of messages to process before stopping", "defaultValue": "0", "javaType": "int", "type": "integer" }, { "names": "--max-seconds", "description": "Max seconds to run before stopping", "defaultValue": "0", "javaType": "int", "type": "integer" }, { "names": "--metrics", "description": "Deprecated: use --observe instead. Metrics (Micrometer and Prometheus) at \/q\/metrics on local HTTP server (port 8080 by default)", "defaultValue": "false", "javaType": "boolean", "type": "boolean", "deprecated": true }, { "names": "--modeline", "description": "Whether to support JBang style \/\/DEPS to specify additional dependencies", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--name", "description": "The name of the Camel application", "defaultValue": "CamelJBang", "javaType": "java.lang.String", "type": "string" }, { "names": "--observe", "description": "Enable observability services", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--open-api", "description": "Adds an OpenAPI spec from the given file (json or yaml file)", "javaType": "java.lang.String", "type": "string" }, { "names": "--output", "description": "File to store the current message body (will override). This allows for manual inspecting the message later.", "javaType": "java.lang.String", "type": "string" }, { "names": "--package-scan-jars", "description": "Whether to automatic package scan JARs for custom Spring or Quarkus beans making them available for Camel JBang", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--port", "description": "Embeds a local HTTP server on this port (port 8080 by default; use 0 to dynamic assign a free random port number)", "javaType": "int", "type": "integer" }, { "names": "--pretty", "description": "Pretty print message body when using JSon or XML format", "javaType": "boolean", "type": "boolean" }, { "names": "--profile", "description": "Profile to run ().", "defaultValue": "dev", "javaType": "java.lang.String", "type": "string" }, { "names": "--prompt", "description": "Allow user to type in required parameters in prompt if not present in application", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--prop,--property", "description": "Additional properties (override existing)", "javaType": "java.lang.String", "type": "string" }, { "names": "--properties", "description": "comma separated list of properties file (ex. \/path\/to\/file.properties,\/path\/to\/other.properties", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-artifact-id", "description": "Quarkus Platform Maven artifactId", "defaultValue": "quarkus-bom", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-group-id", "description": "Quarkus Platform Maven groupId", "defaultValue": "io.quarkus.platform", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-version", "description": "Quarkus Platform version", "defaultValue": "RuntimeType.QUARKUS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--reload,--dev", "description": "Enables dev mode (live reload when source files are updated and saved)", "javaType": "boolean", "type": "boolean" }, { "names": "--remote-attach", "description": "Attaches debugger remotely to an existing running Camel integration. (Add camel-cli-debug JAR to the existing Camel application and run before attaching this debugger)", "javaType": "boolean", "type": "boolean" }, { "names": "--repo,--repos", "description": "Additional maven repositories (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--runtime", "description": "Runtime ()", "defaultValue": "camel-main", "javaType": "org.apache.camel.dsl.jbang.core.common.RuntimeType", "type": "object" }, { "names": "--show-body", "description": "Show message body in debug messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--show-exception", "description": "Show exception and stacktrace for failed messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--show-exchange-properties", "description": "Show exchange properties in debug messages", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--show-exchange-variables", "description": "Show exchange variables in debug messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--show-headers", "description": "Show message headers in debug messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--skip-plugins", "description": "Skip resolving plugin dependencies", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--source", "description": "Prefer to display source filename\/code instead of IDs", "javaType": "boolean", "type": "boolean" }, { "names": "--source-dir", "description": "Source directory for dynamically loading Camel file(s) to run. When using this, then files cannot be specified at the same time.", "javaType": "java.lang.String", "type": "string" }, { "names": "--spring-boot-version", "description": "Spring Boot version", "defaultValue": "RuntimeType.SPRING_BOOT_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--stop-on-exit", "description": "Whether to stop the running Camel on exit", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--stub", "description": "Stubs all the matching endpoint uri with the given component name or pattern. Multiple names can be separated by comma. (all = stub all endpoints).", "javaType": "java.lang.String", "type": "string" }, { "names": "--timestamp", "description": "Print timestamp.", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--trace", "description": "Enables trace logging of the routed messages", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--verbose", "description": "Verbose output of startup activity (dependency resolution and downloading", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, - { "name": "dependency", "fullName": "dependency", "description": "Displays all Camel dependencies required to run", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.DependencyCommand", "options": [ { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ], "subcommands": [ { "name": "copy", "fullName": "dependency copy", "description": "Copies all Camel dependencies required to run to a specific directory", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.DependencyCopy", "options": [ { "names": "--build-property", "description": "Maven build properties, ex. --build-property=prop1=foo", "javaType": "java.util.List", "type": "array" }, { "names": "--camel-spring-boot-version", "description": "Camel version to use with Spring Boot", "javaType": "java.lang.String", "type": "string" }, { "names": "--camel-version", "description": "To export using a different Camel version than the default version.", "javaType": "java.lang.String", "type": "string" }, { "names": "--clean-dir", "description": "If exporting to current directory (default) then all existing files are preserved. Enabling this option will force cleaning current directory including all sub dirs (use this with care)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--dep,--dependency", "description": "Add additional dependencies", "javaType": "java.util.List", "type": "array" }, { "names": "--dir,--directory", "description": "Directory where the project will be exported", "defaultValue": ".", "javaType": "java.lang.String", "type": "string" }, { "names": "--download", "description": "Whether to allow automatic downloading JAR dependencies (over the internet)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--dry-run", "description": "Preview export without writing files", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--exclude", "description": "Exclude files by name or pattern", "javaType": "java.util.List", "type": "array" }, { "names": "--fresh", "description": "Make sure we use fresh (i.e. non-cached) resources", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--gav", "description": "The Maven group:artifact:version", "javaType": "java.lang.String", "type": "string" }, { "names": "--groovy-pre-compiled", "description": "Whether to include pre-compiled Groovy classes in the export (only supported with runtime=camel-main)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--hawtio", "description": "Whether to include Hawtio web console (only available for exporting to Spring Boot or Quarkus)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--hawtio-version", "description": "Version of the Hawtio web console", "defaultValue": "HawtioVersion.HAWTIO_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--ignore-loading-error", "description": "Whether to ignore route loading and compilation errors (use this with care!)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--java-version", "description": "Java version ()", "defaultValue": "21", "javaType": "java.lang.String", "type": "string" }, { "names": "--kamelets-version", "description": "Apache Camel Kamelets version", "defaultValue": "RuntimeType.KAMELETS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--lazy-bean", "description": "Whether to use lazy bean initialization (can help with complex classloading issues", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--local-kamelet-dir", "description": "Local directory for loading Kamelets (takes precedence)", "javaType": "java.lang.String", "type": "string" }, { "names": "--logging", "description": "Can be used to turn on logging to console (logs by default to file in \/.camel directory)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-level", "description": "Logging level ()", "defaultValue": "info", "javaType": "java.lang.String", "type": "string" }, { "names": "--main-classname", "description": "The class name of the Camel Main application class", "defaultValue": "CamelApplication", "javaType": "java.lang.String", "type": "string" }, { "names": "--management-port", "description": "To use a dedicated port for HTTP management", "javaType": "int", "type": "integer" }, { "names": "--maven-apache-snapshot-enabled", "description": "Whether downloading JARs from ASF Maven Snapshot repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-central-enabled", "description": "Whether downloading JARs from Maven Central repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-settings", "description": "Optional location of Maven settings.xml file to configure servers, repositories, mirrors and proxies. If set to false, not even the default ~\/.m2\/settings.xml will be used.", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-settings-security", "description": "Optional location of Maven settings-security.xml file to decrypt settings.xml", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-wrapper", "description": "Include Maven Wrapper files in exported project", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--name", "description": "The integration name. Use this when the name should not get derived otherwise.", "javaType": "java.lang.String", "type": "string" }, { "names": "--observe", "description": "Enable observability services", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--open-api", "description": "Adds an OpenAPI spec from the given file (json or yaml file)", "javaType": "java.lang.String", "type": "string" }, { "names": "--output", "description": "Output format ()", "defaultValue": "gav", "javaType": "java.lang.String", "type": "string" }, { "names": "--output-directory", "description": "Directory where dependencies should be copied", "defaultValue": "lib", "javaType": "java.lang.String", "type": "string", "required": true }, { "names": "--package-name", "description": "For Java source files should they have the given package name. By default the package name is computed from the Maven GAV. Use false to turn off and not include package name in the Java source files.", "javaType": "java.lang.String", "type": "string" }, { "names": "--package-scan-jars", "description": "Whether to automatic package scan JARs for custom Spring or Quarkus beans making them available for Camel JBang", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--port", "description": "Embeds a local HTTP server on this port", "javaType": "int", "type": "integer" }, { "names": "--profile", "description": "Profile to export ().", "javaType": "java.lang.String", "type": "string" }, { "names": "--prop,--property", "description": "Camel application properties, ex. --property=prop1=foo", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-artifact-id", "description": "Quarkus Platform Maven artifactId", "defaultValue": "quarkus-bom", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-group-id", "description": "Quarkus Platform Maven groupId", "defaultValue": "io.quarkus.platform", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-version", "description": "Quarkus Platform version", "defaultValue": "RuntimeType.QUARKUS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--quiet", "description": "Will be quiet, only print when error occurs", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--repo,--repos", "description": "Additional maven repositories (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--runtime", "description": "Runtime ()", "javaType": "org.apache.camel.dsl.jbang.core.common.RuntimeType", "type": "object" }, { "names": "--skip-plugins", "description": "Skip plugins during export", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--spring-boot-version", "description": "Spring Boot version", "defaultValue": "RuntimeType.SPRING_BOOT_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--verbose", "description": "Verbose output of startup activity (dependency resolution and downloading", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--yes,-y", "description": "Automatically answer yes to confirmation prompts (e.g. when using --clean-dir)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "list", "fullName": "dependency list", "description": "Displays all Camel dependencies required to run", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.DependencyList", "options": [ { "names": "--build-property", "description": "Maven build properties, ex. --build-property=prop1=foo", "javaType": "java.util.List", "type": "array" }, { "names": "--camel-spring-boot-version", "description": "Camel version to use with Spring Boot", "javaType": "java.lang.String", "type": "string" }, { "names": "--camel-version", "description": "To export using a different Camel version than the default version.", "javaType": "java.lang.String", "type": "string" }, { "names": "--clean-dir", "description": "If exporting to current directory (default) then all existing files are preserved. Enabling this option will force cleaning current directory including all sub dirs (use this with care)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--dep,--dependency", "description": "Add additional dependencies", "javaType": "java.util.List", "type": "array" }, { "names": "--dir,--directory", "description": "Directory where the project will be exported", "defaultValue": ".", "javaType": "java.lang.String", "type": "string" }, { "names": "--download", "description": "Whether to allow automatic downloading JAR dependencies (over the internet)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--dry-run", "description": "Preview export without writing files", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--exclude", "description": "Exclude files by name or pattern", "javaType": "java.util.List", "type": "array" }, { "names": "--fresh", "description": "Make sure we use fresh (i.e. non-cached) resources", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--gav", "description": "The Maven group:artifact:version", "javaType": "java.lang.String", "type": "string" }, { "names": "--groovy-pre-compiled", "description": "Whether to include pre-compiled Groovy classes in the export (only supported with runtime=camel-main)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--hawtio", "description": "Whether to include Hawtio web console (only available for exporting to Spring Boot or Quarkus)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--hawtio-version", "description": "Version of the Hawtio web console", "defaultValue": "HawtioVersion.HAWTIO_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--ignore-loading-error", "description": "Whether to ignore route loading and compilation errors (use this with care!)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--java-version", "description": "Java version ()", "defaultValue": "21", "javaType": "java.lang.String", "type": "string" }, { "names": "--kamelets-version", "description": "Apache Camel Kamelets version", "defaultValue": "RuntimeType.KAMELETS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--lazy-bean", "description": "Whether to use lazy bean initialization (can help with complex classloading issues", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--local-kamelet-dir", "description": "Local directory for loading Kamelets (takes precedence)", "javaType": "java.lang.String", "type": "string" }, { "names": "--logging", "description": "Can be used to turn on logging to console (logs by default to file in \/.camel directory)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-level", "description": "Logging level ()", "defaultValue": "info", "javaType": "java.lang.String", "type": "string" }, { "names": "--main-classname", "description": "The class name of the Camel Main application class", "defaultValue": "CamelApplication", "javaType": "java.lang.String", "type": "string" }, { "names": "--management-port", "description": "To use a dedicated port for HTTP management", "javaType": "int", "type": "integer" }, { "names": "--maven-apache-snapshot-enabled", "description": "Whether downloading JARs from ASF Maven Snapshot repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-central-enabled", "description": "Whether downloading JARs from Maven Central repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-settings", "description": "Optional location of Maven settings.xml file to configure servers, repositories, mirrors and proxies. If set to false, not even the default ~\/.m2\/settings.xml will be used.", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-settings-security", "description": "Optional location of Maven settings-security.xml file to decrypt settings.xml", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-wrapper", "description": "Include Maven Wrapper files in exported project", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--name", "description": "The integration name. Use this when the name should not get derived otherwise.", "javaType": "java.lang.String", "type": "string" }, { "names": "--observe", "description": "Enable observability services", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--open-api", "description": "Adds an OpenAPI spec from the given file (json or yaml file)", "javaType": "java.lang.String", "type": "string" }, { "names": "--output", "description": "Output format ()", "defaultValue": "gav", "javaType": "java.lang.String", "type": "string" }, { "names": "--package-name", "description": "For Java source files should they have the given package name. By default the package name is computed from the Maven GAV. Use false to turn off and not include package name in the Java source files.", "javaType": "java.lang.String", "type": "string" }, { "names": "--package-scan-jars", "description": "Whether to automatic package scan JARs for custom Spring or Quarkus beans making them available for Camel JBang", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--port", "description": "Embeds a local HTTP server on this port", "javaType": "int", "type": "integer" }, { "names": "--profile", "description": "Profile to export ().", "javaType": "java.lang.String", "type": "string" }, { "names": "--prop,--property", "description": "Camel application properties, ex. --property=prop1=foo", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-artifact-id", "description": "Quarkus Platform Maven artifactId", "defaultValue": "quarkus-bom", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-group-id", "description": "Quarkus Platform Maven groupId", "defaultValue": "io.quarkus.platform", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-version", "description": "Quarkus Platform version", "defaultValue": "RuntimeType.QUARKUS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--quiet", "description": "Will be quiet, only print when error occurs", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--repo,--repos", "description": "Additional maven repositories (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--runtime", "description": "Runtime ()", "javaType": "org.apache.camel.dsl.jbang.core.common.RuntimeType", "type": "object" }, { "names": "--skip-plugins", "description": "Skip plugins during export", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--spring-boot-version", "description": "Spring Boot version", "defaultValue": "RuntimeType.SPRING_BOOT_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--verbose", "description": "Verbose output of startup activity (dependency resolution and downloading", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--yes,-y", "description": "Automatically answer yes to confirmation prompts (e.g. when using --clean-dir)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "runtime", "fullName": "dependency runtime", "description": "Display Camel runtime and version for given Maven project", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.DependencyRuntime", "options": [ { "names": "--download", "description": "Whether to allow automatic downloading JAR dependencies (over the internet)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--repo,--repos", "description": "Additional maven repositories (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "update", "fullName": "dependency update", "description": "Updates dependencies in Maven pom.xml or Java source files (JBang style)", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.DependencyUpdate", "options": [ { "names": "--build-property", "description": "Maven build properties, ex. --build-property=prop1=foo", "javaType": "java.util.List", "type": "array" }, { "names": "--camel-spring-boot-version", "description": "Camel version to use with Spring Boot", "javaType": "java.lang.String", "type": "string" }, { "names": "--camel-version", "description": "To export using a different Camel version than the default version.", "javaType": "java.lang.String", "type": "string" }, { "names": "--clean", "description": "Regenerate list of dependencies (do not keep existing dependencies). Not supported for pom.xml", "javaType": "boolean", "type": "boolean" }, { "names": "--clean-dir", "description": "If exporting to current directory (default) then all existing files are preserved. Enabling this option will force cleaning current directory including all sub dirs (use this with care)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--dep,--dependency", "description": "Add additional dependencies", "javaType": "java.util.List", "type": "array" }, { "names": "--dir,--directory", "description": "Directory where the project will be exported", "defaultValue": ".", "javaType": "java.lang.String", "type": "string" }, { "names": "--download", "description": "Whether to allow automatic downloading JAR dependencies (over the internet)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--dry-run", "description": "Preview export without writing files", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--exclude", "description": "Exclude files by name or pattern", "javaType": "java.util.List", "type": "array" }, { "names": "--fresh", "description": "Make sure we use fresh (i.e. non-cached) resources", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--gav", "description": "The Maven group:artifact:version", "javaType": "java.lang.String", "type": "string" }, { "names": "--groovy-pre-compiled", "description": "Whether to include pre-compiled Groovy classes in the export (only supported with runtime=camel-main)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--hawtio", "description": "Whether to include Hawtio web console (only available for exporting to Spring Boot or Quarkus)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--hawtio-version", "description": "Version of the Hawtio web console", "defaultValue": "HawtioVersion.HAWTIO_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--ignore-loading-error", "description": "Whether to ignore route loading and compilation errors (use this with care!)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--java-version", "description": "Java version ()", "defaultValue": "21", "javaType": "java.lang.String", "type": "string" }, { "names": "--kamelets-version", "description": "Apache Camel Kamelets version", "defaultValue": "RuntimeType.KAMELETS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--lazy-bean", "description": "Whether to use lazy bean initialization (can help with complex classloading issues", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--local-kamelet-dir", "description": "Local directory for loading Kamelets (takes precedence)", "javaType": "java.lang.String", "type": "string" }, { "names": "--logging", "description": "Can be used to turn on logging to console (logs by default to file in \/.camel directory)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-level", "description": "Logging level ()", "defaultValue": "info", "javaType": "java.lang.String", "type": "string" }, { "names": "--main-classname", "description": "The class name of the Camel Main application class", "defaultValue": "CamelApplication", "javaType": "java.lang.String", "type": "string" }, { "names": "--management-port", "description": "To use a dedicated port for HTTP management", "javaType": "int", "type": "integer" }, { "names": "--maven-apache-snapshot-enabled", "description": "Whether downloading JARs from ASF Maven Snapshot repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-central-enabled", "description": "Whether downloading JARs from Maven Central repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-settings", "description": "Optional location of Maven settings.xml file to configure servers, repositories, mirrors and proxies. If set to false, not even the default ~\/.m2\/settings.xml will be used.", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-settings-security", "description": "Optional location of Maven settings-security.xml file to decrypt settings.xml", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-wrapper", "description": "Include Maven Wrapper files in exported project", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--name", "description": "The integration name. Use this when the name should not get derived otherwise.", "javaType": "java.lang.String", "type": "string" }, { "names": "--observe", "description": "Enable observability services", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--open-api", "description": "Adds an OpenAPI spec from the given file (json or yaml file)", "javaType": "java.lang.String", "type": "string" }, { "names": "--output", "description": "Output format ()", "defaultValue": "gav", "javaType": "java.lang.String", "type": "string" }, { "names": "--package-name", "description": "For Java source files should they have the given package name. By default the package name is computed from the Maven GAV. Use false to turn off and not include package name in the Java source files.", "javaType": "java.lang.String", "type": "string" }, { "names": "--package-scan-jars", "description": "Whether to automatic package scan JARs for custom Spring or Quarkus beans making them available for Camel JBang", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--port", "description": "Embeds a local HTTP server on this port", "javaType": "int", "type": "integer" }, { "names": "--profile", "description": "Profile to export ().", "javaType": "java.lang.String", "type": "string" }, { "names": "--prop,--property", "description": "Camel application properties, ex. --property=prop1=foo", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-artifact-id", "description": "Quarkus Platform Maven artifactId", "defaultValue": "quarkus-bom", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-group-id", "description": "Quarkus Platform Maven groupId", "defaultValue": "io.quarkus.platform", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-version", "description": "Quarkus Platform version", "defaultValue": "RuntimeType.QUARKUS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--quiet", "description": "Will be quiet, only print when error occurs", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--repo,--repos", "description": "Additional maven repositories (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--runtime", "description": "Runtime ()", "javaType": "org.apache.camel.dsl.jbang.core.common.RuntimeType", "type": "object" }, { "names": "--scan-routes", "description": "Sync dependencies from route definitions. Only manages org.apache.camel dependencies, preserving non-Camel dependencies. Removes unused Camel dependencies.", "javaType": "boolean", "type": "boolean" }, { "names": "--skip-plugins", "description": "Skip plugins during export", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--spring-boot-version", "description": "Spring Boot version", "defaultValue": "RuntimeType.SPRING_BOOT_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--verbose", "description": "Verbose output of startup activity (dependency resolution and downloading", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--yes,-y", "description": "Automatically answer yes to confirmation prompts (e.g. when using --clean-dir)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] } ] }, + { "name": "debug", "fullName": "debug", "description": "Debug local Camel integration", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.Debug", "options": [ { "names": "--ago", "description": "Use ago instead of yyyy-MM-dd HH:mm:ss in timestamp.", "javaType": "boolean", "type": "boolean" }, { "names": "--background", "description": "Run in the background", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--background-wait", "description": "To wait for run in background to startup successfully, before returning", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--backlog-trace", "description": "Enables backlog tracing of the routed messages", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--breakpoint", "description": "To set breakpoint at the given node id (Multiple ids can be separated by comma). If no breakpoint is set, then the first route is automatic selected.", "javaType": "java.lang.String", "type": "string" }, { "names": "--camel-spring-boot-version", "description": "To run using a different Camel Spring Boot version than the default version.", "javaType": "java.lang.String", "type": "string" }, { "names": "--camel-version", "description": "To run using a different Camel version than the default version.", "javaType": "java.lang.String", "type": "string" }, { "names": "--code", "description": "Run the given text or file as Java DSL routes", "javaType": "java.lang.String", "type": "string" }, { "names": "--console", "description": "Developer console at \/q\/dev on local HTTP server (port 8080 by default)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--dep,--dependency", "description": "Add additional dependencies", "javaType": "java.util.List", "type": "array" }, { "names": "--download", "description": "Whether to allow automatic downloading JAR dependencies (over the internet)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--empty", "description": "Run an empty Camel without loading source files", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--exclude", "description": "Exclude files by name or pattern", "javaType": "java.util.List", "type": "array" }, { "names": "--fresh", "description": "Make sure we use fresh (i.e. non-cached) resources", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--gav", "description": "The Maven group:artifact:version (used during exporting)", "javaType": "java.lang.String", "type": "string" }, { "names": "--health", "description": "Deprecated: use --observe instead. Health check at \/q\/health on local HTTP server (port 8080 by default)", "defaultValue": "false", "javaType": "boolean", "type": "boolean", "deprecated": true }, { "names": "--ignore-loading-error", "description": "Whether to ignore route loading and compilation errors (use this with care!)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--java-version,--java", "description": "Java version ()", "defaultValue": "21", "javaType": "java.lang.String", "type": "string" }, { "names": "--jfr", "description": "Enables Java Flight Recorder saving recording to disk on exit", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--jfr-profile", "description": "Java Flight Recorder profile to use (such as default or profile)", "javaType": "java.lang.String", "type": "string" }, { "names": "--jvm-debug", "description": "To enable JVM remote debugging on port 4004 by default. The supported values are true to enable the remote debugging, false to disable the remote debugging or a number to use a custom port", "javaType": "int", "type": "integer", "paramLabel": "" }, { "names": "--kamelets-version", "description": "Apache Camel Kamelets version", "javaType": "java.lang.String", "type": "string" }, { "names": "--lazy-bean", "description": "Whether to use lazy bean initialization (can help with complex classloading issues)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--local-kamelet-dir", "description": "Local directory (or github link) for loading Kamelets (takes precedence). Multiple directories can be specified separated by comma.", "javaType": "java.lang.String", "type": "string" }, { "names": "--log-lines", "description": "Number of log lines to display on top of screen", "defaultValue": "10", "javaType": "int", "type": "integer" }, { "names": "--logging", "description": "Can be used to turn off logging", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-category", "description": "Used for individual logging levels (ex: org.apache.kafka=DEBUG)", "javaType": "java.util.List", "type": "array" }, { "names": "--logging-color", "description": "Use colored logging. Default is auto-detected based on NO_COLOR, CI, FORCE_COLOR environment variables and terminal capabilities", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-config-path", "description": "Path to file with custom logging configuration", "javaType": "java.lang.String", "type": "string" }, { "names": "--logging-json", "description": "Use JSON logging (ECS Layout)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-level", "description": "Logging level ()", "defaultValue": "info", "javaType": "java.lang.String", "type": "string" }, { "names": "--management-port", "description": "To use a dedicated port for HTTP management (use 0 to dynamic assign a free random port number)", "javaType": "int", "type": "integer" }, { "names": "--mask", "description": "Whether to mask endpoint URIs to avoid printing sensitive information such as password or access keys", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-apache-snapshot-enabled", "description": "Whether downloading JARs from ASF Maven Snapshot repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-central-enabled", "description": "Whether downloading JARs from Maven Central repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-settings", "description": "Optional location of Maven settings.xml file to configure servers, repositories, mirrors and proxies. If set to false, not even the default ~\/.m2\/settings.xml will be used.", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-settings-security", "description": "Optional location of Maven settings-security.xml file to decrypt settings.xml", "javaType": "java.lang.String", "type": "string" }, { "names": "--max-idle-seconds", "description": "For how long time in seconds Camel can be idle before stopping", "defaultValue": "0", "javaType": "int", "type": "integer" }, { "names": "--max-messages", "description": "Max number of messages to process before stopping", "defaultValue": "0", "javaType": "int", "type": "integer" }, { "names": "--max-seconds", "description": "Max seconds to run before stopping", "defaultValue": "0", "javaType": "int", "type": "integer" }, { "names": "--metrics", "description": "Deprecated: use --observe instead. Metrics (Micrometer and Prometheus) at \/q\/metrics on local HTTP server (port 8080 by default)", "defaultValue": "false", "javaType": "boolean", "type": "boolean", "deprecated": true }, { "names": "--modeline", "description": "Whether to support JBang style \/\/DEPS to specify additional dependencies", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--name", "description": "The name of the Camel application", "defaultValue": "CamelJBang", "javaType": "java.lang.String", "type": "string" }, { "names": "--observe", "description": "Enable observability services", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--open-api", "description": "Adds an OpenAPI spec from the given file (json or yaml file)", "javaType": "java.lang.String", "type": "string" }, { "names": "--output", "description": "File to store the current message body (will override). This allows for manual inspecting the message later.", "javaType": "java.lang.String", "type": "string" }, { "names": "--package-scan-jars", "description": "Whether to automatic package scan JARs for custom Spring or Quarkus beans making them available for Camel JBang", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--port", "description": "Embeds a local HTTP server on this port (port 8080 by default; use 0 to dynamic assign a free random port number)", "javaType": "int", "type": "integer" }, { "names": "--pretty", "description": "Pretty print message body when using JSon or XML format", "javaType": "boolean", "type": "boolean" }, { "names": "--profile", "description": "Profile to run ().", "defaultValue": "dev", "javaType": "java.lang.String", "type": "string" }, { "names": "--prompt", "description": "Allow user to type in required parameters in prompt if not present in application", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--prop,--property", "description": "Additional properties (override existing)", "javaType": "java.lang.String", "type": "string" }, { "names": "--properties", "description": "comma separated list of properties file (ex. \/path\/to\/file.properties,\/path\/to\/other.properties", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-artifact-id", "description": "Quarkus Platform Maven artifactId", "defaultValue": "quarkus-bom", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-group-id", "description": "Quarkus Platform Maven groupId", "defaultValue": "io.quarkus.platform", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-version", "description": "Quarkus Platform version", "defaultValue": "RuntimeType.QUARKUS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--reload,--dev", "description": "Enables dev mode (live reload when source files are updated and saved)", "javaType": "boolean", "type": "boolean" }, { "names": "--remote-attach", "description": "Attaches debugger remotely to an existing running Camel integration. (Add camel-cli-debug JAR to the existing Camel application and run before attaching this debugger)", "javaType": "boolean", "type": "boolean" }, { "names": "--repo,--repos", "description": "Additional maven repositories (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--runtime", "description": "Runtime ()", "defaultValue": "camel-main", "javaType": "org.apache.camel.dsl.jbang.core.common.RuntimeType", "type": "object" }, { "names": "--show-body", "description": "Show message body in debug messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--show-exception", "description": "Show exception and stacktrace for failed messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--show-exchange-properties", "description": "Show exchange properties in debug messages", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--show-exchange-variables", "description": "Show exchange variables in debug messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--show-headers", "description": "Show message headers in debug messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--skip-plugins", "description": "Skip resolving plugin dependencies", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--source", "description": "Prefer to display source filename\/code instead of IDs", "javaType": "boolean", "type": "boolean" }, { "names": "--source-dir", "description": "Source directory for dynamically loading Camel file(s) to run. When using this, then files cannot be specified at the same time.", "javaType": "java.lang.String", "type": "string" }, { "names": "--spring-boot-version", "description": "Spring Boot version", "defaultValue": "RuntimeType.SPRING_BOOT_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--stop-on-exit", "description": "Whether to stop the running Camel on exit", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--stub", "description": "Stubs all the matching endpoint uri with the given component name or pattern. Multiple names can be separated by comma. (all = stub all endpoints).", "javaType": "java.lang.String", "type": "string" }, { "names": "--timestamp", "description": "Print timestamp.", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--trace", "description": "Enables trace logging of the routed messages", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--verbose", "description": "Verbose output of startup activity (dependency resolution and downloading", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, + { "name": "dependency", "fullName": "dependency", "description": "Displays all Camel dependencies required to run", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.DependencyCommand", "options": [ { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ], "subcommands": [ { "name": "copy", "fullName": "dependency copy", "description": "Copies all Camel dependencies required to run to a specific directory", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.DependencyCopy", "options": [ { "names": "--build-property", "description": "Maven build properties, ex. --build-property=prop1=foo", "javaType": "java.util.List", "type": "array" }, { "names": "--camel-spring-boot-version", "description": "Camel version to use with Spring Boot", "javaType": "java.lang.String", "type": "string" }, { "names": "--camel-version", "description": "To export using a different Camel version than the default version.", "javaType": "java.lang.String", "type": "string" }, { "names": "--clean-dir", "description": "If exporting to current directory (default) then all existing files are preserved. Enabling this option will force cleaning current directory including all sub dirs (use this with care)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--dep,--dependency", "description": "Add additional dependencies", "javaType": "java.util.List", "type": "array" }, { "names": "--dir,--directory", "description": "Directory where the project will be exported", "defaultValue": ".", "javaType": "java.lang.String", "type": "string" }, { "names": "--download", "description": "Whether to allow automatic downloading JAR dependencies (over the internet)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--dry-run", "description": "Preview export without writing files", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--exclude", "description": "Exclude files by name or pattern", "javaType": "java.util.List", "type": "array" }, { "names": "--fresh", "description": "Make sure we use fresh (i.e. non-cached) resources", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--gav", "description": "The Maven group:artifact:version", "javaType": "java.lang.String", "type": "string" }, { "names": "--groovy-pre-compiled", "description": "Whether to include pre-compiled Groovy classes in the export (only supported with runtime=camel-main)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--hawtio", "description": "Whether to include Hawtio web console (only available for exporting to Spring Boot or Quarkus)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--hawtio-version", "description": "Version of the Hawtio web console", "defaultValue": "HawtioVersion.HAWTIO_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--ignore-loading-error", "description": "Whether to ignore route loading and compilation errors (use this with care!)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--java-version,--java", "description": "Java version ()", "defaultValue": "21", "javaType": "java.lang.String", "type": "string" }, { "names": "--kamelets-version", "description": "Apache Camel Kamelets version", "defaultValue": "RuntimeType.KAMELETS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--lazy-bean", "description": "Whether to use lazy bean initialization (can help with complex classloading issues", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--local-kamelet-dir", "description": "Local directory for loading Kamelets (takes precedence)", "javaType": "java.lang.String", "type": "string" }, { "names": "--logging", "description": "Can be used to turn on logging to console (logs by default to file in \/.camel directory)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-level", "description": "Logging level ()", "defaultValue": "info", "javaType": "java.lang.String", "type": "string" }, { "names": "--main-classname", "description": "The class name of the Camel Main application class", "defaultValue": "CamelApplication", "javaType": "java.lang.String", "type": "string" }, { "names": "--management-port", "description": "To use a dedicated port for HTTP management", "javaType": "int", "type": "integer" }, { "names": "--maven-apache-snapshot-enabled", "description": "Whether downloading JARs from ASF Maven Snapshot repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-central-enabled", "description": "Whether downloading JARs from Maven Central repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-settings", "description": "Optional location of Maven settings.xml file to configure servers, repositories, mirrors and proxies. If set to false, not even the default ~\/.m2\/settings.xml will be used.", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-settings-security", "description": "Optional location of Maven settings-security.xml file to decrypt settings.xml", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-wrapper", "description": "Include Maven Wrapper files in exported project", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--name", "description": "The integration name. Use this when the name should not get derived otherwise.", "javaType": "java.lang.String", "type": "string" }, { "names": "--observe", "description": "Enable observability services", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--open-api", "description": "Adds an OpenAPI spec from the given file (json or yaml file)", "javaType": "java.lang.String", "type": "string" }, { "names": "--output", "description": "Output format ()", "defaultValue": "gav", "javaType": "java.lang.String", "type": "string" }, { "names": "--output-directory", "description": "Directory where dependencies should be copied", "defaultValue": "lib", "javaType": "java.lang.String", "type": "string", "required": true }, { "names": "--package-name", "description": "For Java source files should they have the given package name. By default the package name is computed from the Maven GAV. Use false to turn off and not include package name in the Java source files.", "javaType": "java.lang.String", "type": "string" }, { "names": "--package-scan-jars", "description": "Whether to automatic package scan JARs for custom Spring or Quarkus beans making them available for Camel JBang", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--port", "description": "Embeds a local HTTP server on this port", "javaType": "int", "type": "integer" }, { "names": "--profile", "description": "Profile to export ().", "javaType": "java.lang.String", "type": "string" }, { "names": "--prop,--property", "description": "Camel application properties, ex. --property=prop1=foo", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-artifact-id", "description": "Quarkus Platform Maven artifactId", "defaultValue": "quarkus-bom", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-group-id", "description": "Quarkus Platform Maven groupId", "defaultValue": "io.quarkus.platform", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-package-type", "description": "Quarkus package type (uber-jar or fast-jar)", "defaultValue": "uber-jar", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-version", "description": "Quarkus Platform version", "defaultValue": "RuntimeType.QUARKUS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--quiet", "description": "Will be quiet, only print when error occurs", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--repo,--repos", "description": "Additional maven repositories (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--runtime", "description": "Runtime ()", "javaType": "org.apache.camel.dsl.jbang.core.common.RuntimeType", "type": "object" }, { "names": "--skip-plugins", "description": "Skip plugins during export", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--spring-boot-version", "description": "Spring Boot version", "defaultValue": "RuntimeType.SPRING_BOOT_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--verbose", "description": "Verbose output of startup activity (dependency resolution and downloading", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--yes,-y", "description": "Automatically answer yes to confirmation prompts (e.g. when using --clean-dir)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "list", "fullName": "dependency list", "description": "Displays all Camel dependencies required to run", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.DependencyList", "options": [ { "names": "--build-property", "description": "Maven build properties, ex. --build-property=prop1=foo", "javaType": "java.util.List", "type": "array" }, { "names": "--camel-spring-boot-version", "description": "Camel version to use with Spring Boot", "javaType": "java.lang.String", "type": "string" }, { "names": "--camel-version", "description": "To export using a different Camel version than the default version.", "javaType": "java.lang.String", "type": "string" }, { "names": "--clean-dir", "description": "If exporting to current directory (default) then all existing files are preserved. Enabling this option will force cleaning current directory including all sub dirs (use this with care)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--dep,--dependency", "description": "Add additional dependencies", "javaType": "java.util.List", "type": "array" }, { "names": "--dir,--directory", "description": "Directory where the project will be exported", "defaultValue": ".", "javaType": "java.lang.String", "type": "string" }, { "names": "--download", "description": "Whether to allow automatic downloading JAR dependencies (over the internet)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--dry-run", "description": "Preview export without writing files", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--exclude", "description": "Exclude files by name or pattern", "javaType": "java.util.List", "type": "array" }, { "names": "--fresh", "description": "Make sure we use fresh (i.e. non-cached) resources", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--gav", "description": "The Maven group:artifact:version", "javaType": "java.lang.String", "type": "string" }, { "names": "--groovy-pre-compiled", "description": "Whether to include pre-compiled Groovy classes in the export (only supported with runtime=camel-main)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--hawtio", "description": "Whether to include Hawtio web console (only available for exporting to Spring Boot or Quarkus)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--hawtio-version", "description": "Version of the Hawtio web console", "defaultValue": "HawtioVersion.HAWTIO_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--ignore-loading-error", "description": "Whether to ignore route loading and compilation errors (use this with care!)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--java-version,--java", "description": "Java version ()", "defaultValue": "21", "javaType": "java.lang.String", "type": "string" }, { "names": "--kamelets-version", "description": "Apache Camel Kamelets version", "defaultValue": "RuntimeType.KAMELETS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--lazy-bean", "description": "Whether to use lazy bean initialization (can help with complex classloading issues", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--local-kamelet-dir", "description": "Local directory for loading Kamelets (takes precedence)", "javaType": "java.lang.String", "type": "string" }, { "names": "--logging", "description": "Can be used to turn on logging to console (logs by default to file in \/.camel directory)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-level", "description": "Logging level ()", "defaultValue": "info", "javaType": "java.lang.String", "type": "string" }, { "names": "--main-classname", "description": "The class name of the Camel Main application class", "defaultValue": "CamelApplication", "javaType": "java.lang.String", "type": "string" }, { "names": "--management-port", "description": "To use a dedicated port for HTTP management", "javaType": "int", "type": "integer" }, { "names": "--maven-apache-snapshot-enabled", "description": "Whether downloading JARs from ASF Maven Snapshot repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-central-enabled", "description": "Whether downloading JARs from Maven Central repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-settings", "description": "Optional location of Maven settings.xml file to configure servers, repositories, mirrors and proxies. If set to false, not even the default ~\/.m2\/settings.xml will be used.", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-settings-security", "description": "Optional location of Maven settings-security.xml file to decrypt settings.xml", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-wrapper", "description": "Include Maven Wrapper files in exported project", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--name", "description": "The integration name. Use this when the name should not get derived otherwise.", "javaType": "java.lang.String", "type": "string" }, { "names": "--observe", "description": "Enable observability services", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--open-api", "description": "Adds an OpenAPI spec from the given file (json or yaml file)", "javaType": "java.lang.String", "type": "string" }, { "names": "--output", "description": "Output format ()", "defaultValue": "gav", "javaType": "java.lang.String", "type": "string" }, { "names": "--package-name", "description": "For Java source files should they have the given package name. By default the package name is computed from the Maven GAV. Use false to turn off and not include package name in the Java source files.", "javaType": "java.lang.String", "type": "string" }, { "names": "--package-scan-jars", "description": "Whether to automatic package scan JARs for custom Spring or Quarkus beans making them available for Camel JBang", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--port", "description": "Embeds a local HTTP server on this port", "javaType": "int", "type": "integer" }, { "names": "--profile", "description": "Profile to export ().", "javaType": "java.lang.String", "type": "string" }, { "names": "--prop,--property", "description": "Camel application properties, ex. --property=prop1=foo", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-artifact-id", "description": "Quarkus Platform Maven artifactId", "defaultValue": "quarkus-bom", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-group-id", "description": "Quarkus Platform Maven groupId", "defaultValue": "io.quarkus.platform", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-package-type", "description": "Quarkus package type (uber-jar or fast-jar)", "defaultValue": "uber-jar", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-version", "description": "Quarkus Platform version", "defaultValue": "RuntimeType.QUARKUS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--quiet", "description": "Will be quiet, only print when error occurs", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--repo,--repos", "description": "Additional maven repositories (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--runtime", "description": "Runtime ()", "javaType": "org.apache.camel.dsl.jbang.core.common.RuntimeType", "type": "object" }, { "names": "--skip-plugins", "description": "Skip plugins during export", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--spring-boot-version", "description": "Spring Boot version", "defaultValue": "RuntimeType.SPRING_BOOT_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--verbose", "description": "Verbose output of startup activity (dependency resolution and downloading", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--yes,-y", "description": "Automatically answer yes to confirmation prompts (e.g. when using --clean-dir)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "runtime", "fullName": "dependency runtime", "description": "Display Camel runtime and version for given Maven project", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.DependencyRuntime", "options": [ { "names": "--download", "description": "Whether to allow automatic downloading JAR dependencies (over the internet)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--repo,--repos", "description": "Additional maven repositories (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "update", "fullName": "dependency update", "description": "Updates dependencies in Maven pom.xml or Java source files (JBang style)", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.DependencyUpdate", "options": [ { "names": "--build-property", "description": "Maven build properties, ex. --build-property=prop1=foo", "javaType": "java.util.List", "type": "array" }, { "names": "--camel-spring-boot-version", "description": "Camel version to use with Spring Boot", "javaType": "java.lang.String", "type": "string" }, { "names": "--camel-version", "description": "To export using a different Camel version than the default version.", "javaType": "java.lang.String", "type": "string" }, { "names": "--clean", "description": "Regenerate list of dependencies (do not keep existing dependencies). Not supported for pom.xml", "javaType": "boolean", "type": "boolean" }, { "names": "--clean-dir", "description": "If exporting to current directory (default) then all existing files are preserved. Enabling this option will force cleaning current directory including all sub dirs (use this with care)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--dep,--dependency", "description": "Add additional dependencies", "javaType": "java.util.List", "type": "array" }, { "names": "--dir,--directory", "description": "Directory where the project will be exported", "defaultValue": ".", "javaType": "java.lang.String", "type": "string" }, { "names": "--download", "description": "Whether to allow automatic downloading JAR dependencies (over the internet)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--dry-run", "description": "Preview export without writing files", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--exclude", "description": "Exclude files by name or pattern", "javaType": "java.util.List", "type": "array" }, { "names": "--fresh", "description": "Make sure we use fresh (i.e. non-cached) resources", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--gav", "description": "The Maven group:artifact:version", "javaType": "java.lang.String", "type": "string" }, { "names": "--groovy-pre-compiled", "description": "Whether to include pre-compiled Groovy classes in the export (only supported with runtime=camel-main)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--hawtio", "description": "Whether to include Hawtio web console (only available for exporting to Spring Boot or Quarkus)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--hawtio-version", "description": "Version of the Hawtio web console", "defaultValue": "HawtioVersion.HAWTIO_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--ignore-loading-error", "description": "Whether to ignore route loading and compilation errors (use this with care!)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--java-version,--java", "description": "Java version ()", "defaultValue": "21", "javaType": "java.lang.String", "type": "string" }, { "names": "--kamelets-version", "description": "Apache Camel Kamelets version", "defaultValue": "RuntimeType.KAMELETS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--lazy-bean", "description": "Whether to use lazy bean initialization (can help with complex classloading issues", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--local-kamelet-dir", "description": "Local directory for loading Kamelets (takes precedence)", "javaType": "java.lang.String", "type": "string" }, { "names": "--logging", "description": "Can be used to turn on logging to console (logs by default to file in \/.camel directory)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-level", "description": "Logging level ()", "defaultValue": "info", "javaType": "java.lang.String", "type": "string" }, { "names": "--main-classname", "description": "The class name of the Camel Main application class", "defaultValue": "CamelApplication", "javaType": "java.lang.String", "type": "string" }, { "names": "--management-port", "description": "To use a dedicated port for HTTP management", "javaType": "int", "type": "integer" }, { "names": "--maven-apache-snapshot-enabled", "description": "Whether downloading JARs from ASF Maven Snapshot repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-central-enabled", "description": "Whether downloading JARs from Maven Central repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-settings", "description": "Optional location of Maven settings.xml file to configure servers, repositories, mirrors and proxies. If set to false, not even the default ~\/.m2\/settings.xml will be used.", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-settings-security", "description": "Optional location of Maven settings-security.xml file to decrypt settings.xml", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-wrapper", "description": "Include Maven Wrapper files in exported project", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--name", "description": "The integration name. Use this when the name should not get derived otherwise.", "javaType": "java.lang.String", "type": "string" }, { "names": "--observe", "description": "Enable observability services", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--open-api", "description": "Adds an OpenAPI spec from the given file (json or yaml file)", "javaType": "java.lang.String", "type": "string" }, { "names": "--output", "description": "Output format ()", "defaultValue": "gav", "javaType": "java.lang.String", "type": "string" }, { "names": "--package-name", "description": "For Java source files should they have the given package name. By default the package name is computed from the Maven GAV. Use false to turn off and not include package name in the Java source files.", "javaType": "java.lang.String", "type": "string" }, { "names": "--package-scan-jars", "description": "Whether to automatic package scan JARs for custom Spring or Quarkus beans making them available for Camel JBang", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--port", "description": "Embeds a local HTTP server on this port", "javaType": "int", "type": "integer" }, { "names": "--profile", "description": "Profile to export ().", "javaType": "java.lang.String", "type": "string" }, { "names": "--prop,--property", "description": "Camel application properties, ex. --property=prop1=foo", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-artifact-id", "description": "Quarkus Platform Maven artifactId", "defaultValue": "quarkus-bom", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-group-id", "description": "Quarkus Platform Maven groupId", "defaultValue": "io.quarkus.platform", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-package-type", "description": "Quarkus package type (uber-jar or fast-jar)", "defaultValue": "uber-jar", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-version", "description": "Quarkus Platform version", "defaultValue": "RuntimeType.QUARKUS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--quiet", "description": "Will be quiet, only print when error occurs", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--repo,--repos", "description": "Additional maven repositories (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--runtime", "description": "Runtime ()", "javaType": "org.apache.camel.dsl.jbang.core.common.RuntimeType", "type": "object" }, { "names": "--scan-routes", "description": "Sync dependencies from route definitions. Only manages org.apache.camel dependencies, preserving non-Camel dependencies. Removes unused Camel dependencies.", "javaType": "boolean", "type": "boolean" }, { "names": "--skip-plugins", "description": "Skip plugins during export", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--spring-boot-version", "description": "Spring Boot version", "defaultValue": "RuntimeType.SPRING_BOOT_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--verbose", "description": "Verbose output of startup activity (dependency resolution and downloading", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--yes,-y", "description": "Automatically answer yes to confirmation prompts (e.g. when using --clean-dir)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] } ] }, { "name": "dirty", "fullName": "dirty", "description": "Check if there are dirty files from previous Camel runs that did not terminate gracefully", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.Dirty", "options": [ { "names": "--clean", "description": "Clean dirty files which are no longer in use", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "doc", "fullName": "doc", "description": "Shows documentation for kamelet, component, and other Camel resources", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.catalog.CatalogDoc", "options": [ { "names": "--camel-version", "description": "To use a different Camel version than the default version", "javaType": "java.lang.String", "type": "string" }, { "names": "--download", "description": "Whether to allow automatic downloading JAR dependencies (over the internet)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--filter", "description": "Filter option listed in tables by name, description, or group", "javaType": "java.lang.String", "type": "string" }, { "names": "--header", "description": "Whether to display component message headers", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--kamelets-version", "description": "Apache Camel Kamelets version", "defaultValue": "RuntimeType.KAMELETS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--open-url", "description": "Opens the online documentation form the Camel website in the web browser", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--quarkus-group-id", "description": "Quarkus Platform Maven groupId", "defaultValue": "io.quarkus.platform", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-version", "description": "Quarkus Platform version", "defaultValue": "RuntimeType.QUARKUS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--repo,--repos", "description": "Additional maven repositories for download on-demand (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--runtime", "description": "Runtime ()", "javaType": "org.apache.camel.dsl.jbang.core.common.RuntimeType", "type": "object" }, { "names": "--url", "description": "Prints the link to the online documentation on the Camel website", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "eval", "fullName": "eval", "description": "Evaluate Camel expressions and scripts", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.EvalCommand", "options": [ { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ], "subcommands": [ { "name": "expression", "fullName": "eval expression", "description": "Evaluates Camel expression", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.EvalExpressionCommand", "options": [ { "names": "--body", "description": "Message body (prefix with file: to refer to loading message body from file)", "javaType": "java.lang.String", "type": "string" }, { "names": "--camel-version", "description": "To run using a different Camel version than the default version.", "javaType": "java.lang.String", "type": "string" }, { "names": "--header", "description": "Message header (key=value)", "javaType": "java.util.List", "type": "array" }, { "names": "--isolated", "description": "Whether to run evaluation isolated in local process", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--language", "description": "Language to use", "defaultValue": "simple", "javaType": "java.lang.String", "type": "string" }, { "names": "--predicate", "description": "Whether to force evaluating as predicate", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--repo,--repos", "description": "Additional maven repositories (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--template", "description": "The template to use for evaluating (prefix with file: to refer to loading template from file)", "javaType": "java.lang.String", "type": "string", "required": true }, { "names": "--timeout", "description": "Timeout in millis waiting for evaluation to be done", "defaultValue": "10000", "javaType": "long", "type": "integer" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] } ] }, { "name": "explain", "fullName": "explain", "description": "Explain what a Camel route does using AI\/LLM", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.Explain", "options": [ { "names": "--api-key", "description": "API key for authentication. Also reads OPENAI_API_KEY or LLM_API_KEY env vars", "javaType": "java.lang.String", "type": "string" }, { "names": "--api-type", "description": "API type: 'ollama' or 'openai' (OpenAI-compatible)", "defaultValue": "ollama", "javaType": "org.apache.camel.dsl.jbang.core.commands.ApiType", "type": "object" }, { "names": "--catalog-context", "description": "Include Camel Catalog descriptions in the prompt", "javaType": "boolean", "type": "boolean" }, { "names": "--format", "description": "Output format ()", "defaultValue": "text", "javaType": "java.lang.String", "type": "string" }, { "names": "--model", "description": "Model to use", "defaultValue": "DEFAULT_MODEL", "javaType": "java.lang.String", "type": "string" }, { "names": "--show-prompt", "description": "Show the prompt sent to the LLM", "javaType": "boolean", "type": "boolean" }, { "names": "--stream", "description": "Stream the response as it's generated (shows progress)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--system-prompt", "description": "Custom system prompt", "javaType": "java.lang.String", "type": "string" }, { "names": "--temperature", "description": "Temperature for response generation (0.0-2.0)", "defaultValue": "0.7", "javaType": "double", "type": "number" }, { "names": "--timeout", "description": "Timeout in seconds for LLM response", "defaultValue": "120", "javaType": "int", "type": "integer" }, { "names": "--url", "description": "LLM API endpoint URL. Auto-detected from 'camel infra' for Ollama if not specified.", "javaType": "java.lang.String", "type": "string" }, { "names": "--verbose,-v", "description": "Include detailed technical information", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, - { "name": "export", "fullName": "export", "description": "Export to other runtimes (Camel Main, Spring Boot, or Quarkus)", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.Export", "options": [ { "names": "--build-property", "description": "Maven build properties, ex. --build-property=prop1=foo", "javaType": "java.util.List", "type": "array" }, { "names": "--camel-spring-boot-version", "description": "Camel version to use with Spring Boot", "javaType": "java.lang.String", "type": "string" }, { "names": "--camel-version", "description": "To export using a different Camel version than the default version.", "javaType": "java.lang.String", "type": "string" }, { "names": "--clean-dir", "description": "If exporting to current directory (default) then all existing files are preserved. Enabling this option will force cleaning current directory including all sub dirs (use this with care)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--dep,--dependency", "description": "Add additional dependencies", "javaType": "java.util.List", "type": "array" }, { "names": "--dir,--directory", "description": "Directory where the project will be exported", "defaultValue": ".", "javaType": "java.lang.String", "type": "string" }, { "names": "--download", "description": "Whether to allow automatic downloading JAR dependencies (over the internet)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--dry-run", "description": "Preview export without writing files", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--exclude", "description": "Exclude files by name or pattern", "javaType": "java.util.List", "type": "array" }, { "names": "--fresh", "description": "Make sure we use fresh (i.e. non-cached) resources", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--gav", "description": "The Maven group:artifact:version", "javaType": "java.lang.String", "type": "string" }, { "names": "--groovy-pre-compiled", "description": "Whether to include pre-compiled Groovy classes in the export (only supported with runtime=camel-main)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--hawtio", "description": "Whether to include Hawtio web console (only available for exporting to Spring Boot or Quarkus)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--hawtio-version", "description": "Version of the Hawtio web console", "defaultValue": "HawtioVersion.HAWTIO_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--ignore-loading-error", "description": "Whether to ignore route loading and compilation errors (use this with care!)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--java-version", "description": "Java version ()", "defaultValue": "21", "javaType": "java.lang.String", "type": "string" }, { "names": "--kamelets-version", "description": "Apache Camel Kamelets version", "defaultValue": "RuntimeType.KAMELETS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--lazy-bean", "description": "Whether to use lazy bean initialization (can help with complex classloading issues", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--local-kamelet-dir", "description": "Local directory for loading Kamelets (takes precedence)", "javaType": "java.lang.String", "type": "string" }, { "names": "--logging", "description": "Can be used to turn on logging to console (logs by default to file in \/.camel directory)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-level", "description": "Logging level ()", "defaultValue": "info", "javaType": "java.lang.String", "type": "string" }, { "names": "--main-classname", "description": "The class name of the Camel Main application class", "defaultValue": "CamelApplication", "javaType": "java.lang.String", "type": "string" }, { "names": "--management-port", "description": "To use a dedicated port for HTTP management", "javaType": "int", "type": "integer" }, { "names": "--maven-apache-snapshot-enabled", "description": "Whether downloading JARs from ASF Maven Snapshot repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-central-enabled", "description": "Whether downloading JARs from Maven Central repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-settings", "description": "Optional location of Maven settings.xml file to configure servers, repositories, mirrors and proxies. If set to false, not even the default ~\/.m2\/settings.xml will be used.", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-settings-security", "description": "Optional location of Maven settings-security.xml file to decrypt settings.xml", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-wrapper", "description": "Include Maven Wrapper files in exported project", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--name", "description": "The integration name. Use this when the name should not get derived otherwise.", "javaType": "java.lang.String", "type": "string" }, { "names": "--observe", "description": "Enable observability services", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--open-api", "description": "Adds an OpenAPI spec from the given file (json or yaml file)", "javaType": "java.lang.String", "type": "string" }, { "names": "--package-name", "description": "For Java source files should they have the given package name. By default the package name is computed from the Maven GAV. Use false to turn off and not include package name in the Java source files.", "javaType": "java.lang.String", "type": "string" }, { "names": "--package-scan-jars", "description": "Whether to automatic package scan JARs for custom Spring or Quarkus beans making them available for Camel JBang", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--port", "description": "Embeds a local HTTP server on this port", "javaType": "int", "type": "integer" }, { "names": "--profile", "description": "Profile to export ().", "javaType": "java.lang.String", "type": "string" }, { "names": "--prop,--property", "description": "Camel application properties, ex. --property=prop1=foo", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-artifact-id", "description": "Quarkus Platform Maven artifactId", "defaultValue": "quarkus-bom", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-group-id", "description": "Quarkus Platform Maven groupId", "defaultValue": "io.quarkus.platform", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-version", "description": "Quarkus Platform version", "defaultValue": "RuntimeType.QUARKUS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--quiet", "description": "Will be quiet, only print when error occurs", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--repo,--repos", "description": "Additional maven repositories (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--runtime", "description": "Runtime ()", "javaType": "org.apache.camel.dsl.jbang.core.common.RuntimeType", "type": "object" }, { "names": "--skip-plugins", "description": "Skip plugins during export", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--spring-boot-version", "description": "Spring Boot version", "defaultValue": "RuntimeType.SPRING_BOOT_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--verbose", "description": "Verbose output of startup activity (dependency resolution and downloading", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--yes,-y", "description": "Automatically answer yes to confirmation prompts (e.g. when using --clean-dir)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, + { "name": "export", "fullName": "export", "description": "Export to other runtimes (Camel Main, Spring Boot, or Quarkus)", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.Export", "options": [ { "names": "--build-property", "description": "Maven build properties, ex. --build-property=prop1=foo", "javaType": "java.util.List", "type": "array" }, { "names": "--camel-spring-boot-version", "description": "Camel version to use with Spring Boot", "javaType": "java.lang.String", "type": "string" }, { "names": "--camel-version", "description": "To export using a different Camel version than the default version.", "javaType": "java.lang.String", "type": "string" }, { "names": "--clean-dir", "description": "If exporting to current directory (default) then all existing files are preserved. Enabling this option will force cleaning current directory including all sub dirs (use this with care)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--dep,--dependency", "description": "Add additional dependencies", "javaType": "java.util.List", "type": "array" }, { "names": "--dir,--directory", "description": "Directory where the project will be exported", "defaultValue": ".", "javaType": "java.lang.String", "type": "string" }, { "names": "--download", "description": "Whether to allow automatic downloading JAR dependencies (over the internet)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--dry-run", "description": "Preview export without writing files", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--exclude", "description": "Exclude files by name or pattern", "javaType": "java.util.List", "type": "array" }, { "names": "--fresh", "description": "Make sure we use fresh (i.e. non-cached) resources", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--gav", "description": "The Maven group:artifact:version", "javaType": "java.lang.String", "type": "string" }, { "names": "--groovy-pre-compiled", "description": "Whether to include pre-compiled Groovy classes in the export (only supported with runtime=camel-main)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--hawtio", "description": "Whether to include Hawtio web console (only available for exporting to Spring Boot or Quarkus)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--hawtio-version", "description": "Version of the Hawtio web console", "defaultValue": "HawtioVersion.HAWTIO_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--ignore-loading-error", "description": "Whether to ignore route loading and compilation errors (use this with care!)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--java-version,--java", "description": "Java version ()", "defaultValue": "21", "javaType": "java.lang.String", "type": "string" }, { "names": "--kamelets-version", "description": "Apache Camel Kamelets version", "defaultValue": "RuntimeType.KAMELETS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--lazy-bean", "description": "Whether to use lazy bean initialization (can help with complex classloading issues", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--local-kamelet-dir", "description": "Local directory for loading Kamelets (takes precedence)", "javaType": "java.lang.String", "type": "string" }, { "names": "--logging", "description": "Can be used to turn on logging to console (logs by default to file in \/.camel directory)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-level", "description": "Logging level ()", "defaultValue": "info", "javaType": "java.lang.String", "type": "string" }, { "names": "--main-classname", "description": "The class name of the Camel Main application class", "defaultValue": "CamelApplication", "javaType": "java.lang.String", "type": "string" }, { "names": "--management-port", "description": "To use a dedicated port for HTTP management", "javaType": "int", "type": "integer" }, { "names": "--maven-apache-snapshot-enabled", "description": "Whether downloading JARs from ASF Maven Snapshot repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-central-enabled", "description": "Whether downloading JARs from Maven Central repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-settings", "description": "Optional location of Maven settings.xml file to configure servers, repositories, mirrors and proxies. If set to false, not even the default ~\/.m2\/settings.xml will be used.", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-settings-security", "description": "Optional location of Maven settings-security.xml file to decrypt settings.xml", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-wrapper", "description": "Include Maven Wrapper files in exported project", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--name", "description": "The integration name. Use this when the name should not get derived otherwise.", "javaType": "java.lang.String", "type": "string" }, { "names": "--observe", "description": "Enable observability services", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--open-api", "description": "Adds an OpenAPI spec from the given file (json or yaml file)", "javaType": "java.lang.String", "type": "string" }, { "names": "--package-name", "description": "For Java source files should they have the given package name. By default the package name is computed from the Maven GAV. Use false to turn off and not include package name in the Java source files.", "javaType": "java.lang.String", "type": "string" }, { "names": "--package-scan-jars", "description": "Whether to automatic package scan JARs for custom Spring or Quarkus beans making them available for Camel JBang", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--port", "description": "Embeds a local HTTP server on this port", "javaType": "int", "type": "integer" }, { "names": "--profile", "description": "Profile to export ().", "javaType": "java.lang.String", "type": "string" }, { "names": "--prop,--property", "description": "Camel application properties, ex. --property=prop1=foo", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-artifact-id", "description": "Quarkus Platform Maven artifactId", "defaultValue": "quarkus-bom", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-group-id", "description": "Quarkus Platform Maven groupId", "defaultValue": "io.quarkus.platform", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-package-type", "description": "Quarkus package type (uber-jar or fast-jar)", "defaultValue": "uber-jar", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-version", "description": "Quarkus Platform version", "defaultValue": "RuntimeType.QUARKUS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--quiet", "description": "Will be quiet, only print when error occurs", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--repo,--repos", "description": "Additional maven repositories (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--runtime", "description": "Runtime ()", "javaType": "org.apache.camel.dsl.jbang.core.common.RuntimeType", "type": "object" }, { "names": "--skip-plugins", "description": "Skip plugins during export", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--spring-boot-version", "description": "Spring Boot version", "defaultValue": "RuntimeType.SPRING_BOOT_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--verbose", "description": "Verbose output of startup activity (dependency resolution and downloading", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--yes,-y", "description": "Automatically answer yes to confirmation prompts (e.g. when using --clean-dir)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "get", "fullName": "get", "description": "Get status of Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.CamelStatus", "options": [ { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ], "subcommands": [ { "name": "bean", "fullName": "get bean", "description": "List beans in a running Camel integration", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelBeanDump", "options": [ { "names": "--dsl", "description": "Include only beans from YAML or XML DSL", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--filter", "description": "Filter beans names (use all to include all beans)", "defaultValue": "all", "javaType": "java.lang.String", "type": "string" }, { "names": "--internal", "description": "Include internal Camel beans", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--nulls", "description": "Include null values", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--properties", "description": "Show bean properties", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by name or type", "defaultValue": "name", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "blocked", "fullName": "get blocked", "description": "Get blocked messages of Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListBlocked", "options": [ { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "circuit-breaker", "fullName": "get circuit-breaker", "description": "Get status of Circuit Breaker EIPs", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListCircuitBreaker", "options": [ { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "consumer", "fullName": "get consumer", "description": "Get status of Camel consumers", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListConsumer", "options": [ { "names": "--filter", "description": "Filter consumers by URI", "javaType": "java.lang.String", "type": "string" }, { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--limit", "description": "Filter consumers by limiting to the given number of rows", "javaType": "int", "type": "integer" }, { "names": "--scheduled", "description": "Filter consumer to only show scheduled based consumers", "javaType": "boolean", "type": "boolean" }, { "names": "--short-uri", "description": "List endpoint URI without query parameters (short)", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "--wide-uri", "description": "List endpoint URI in full details", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "context", "fullName": "get context", "description": "Get status of Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.CamelContextStatus", "options": [ { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--remote", "description": "Break down counters into remote\/total pairs", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "count", "fullName": "get count", "description": "Get total and failed exchanges", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.CamelCount", "options": [ { "names": "--fail", "description": "Get the failed exchanges from a running integration", "javaType": "boolean", "type": "boolean" }, { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--total", "description": "Get the total exchanges from a running integration", "javaType": "boolean", "type": "boolean" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "endpoint", "fullName": "get endpoint", "description": "Get usage of Camel endpoints", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListEndpoint", "options": [ { "names": "--filter", "description": "Filter endpoints by URI", "javaType": "java.lang.String", "type": "string" }, { "names": "--filter-direction", "description": "Filter by direction (in or out)", "javaType": "java.lang.String", "type": "string" }, { "names": "--filter-total", "description": "Filter endpoints that must be higher than the given usage", "javaType": "long", "type": "integer" }, { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--limit", "description": "Filter endpoints by limiting to the given number of rows", "javaType": "int", "type": "integer" }, { "names": "--short-uri", "description": "List endpoint URI without query parameters (short)", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name, age or total", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "--wide-uri", "description": "List endpoint URI in full details", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "event", "fullName": "get event", "description": "Get latest events of Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListEvent", "options": [ { "names": "--filter", "description": "Filter event by event type: context, route, or exchange", "javaType": "java.lang.String", "type": "string" }, { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "groovy", "fullName": "get groovy", "description": "Groovy Sources used of Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListGroovy", "options": [ { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid or name", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "group", "fullName": "get group", "description": "Get status of Camel route groups", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.CamelRouteGroupStatus", "options": [ { "names": "--filter", "description": "Filter groups by name", "javaType": "java.lang.String", "type": "string" }, { "names": "--filter-mean", "description": "Filter groups that must be slower than the given time (ms)", "javaType": "long", "type": "integer" }, { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--limit", "description": "Filter groups by limiting to the given number of rows", "javaType": "int", "type": "integer" }, { "names": "--running", "description": "Only include running groups", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name, age or group", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "health", "fullName": "get health", "description": "Get health check status of running Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListHealth", "options": [ { "names": "--depth", "description": "Max depth of stack-trace", "defaultValue": "1", "javaType": "int", "type": "integer" }, { "names": "--down", "description": "Show only checks which are DOWN", "javaType": "boolean", "type": "boolean" }, { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--level", "description": "Level of details: full, or default", "defaultValue": "default", "javaType": "java.lang.String", "type": "string" }, { "names": "--live", "description": "Show only liveness checks", "javaType": "boolean", "type": "boolean" }, { "names": "--ready", "description": "Show only readiness checks", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--trace", "description": "Include stack-traces in error messages", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "history", "fullName": "get history", "description": "History of latest completed exchange", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelHistoryAction", "options": [ { "names": "--ago", "description": "Use ago instead of yyyy-MM-dd HH:mm:ss in timestamp.", "javaType": "boolean", "type": "boolean" }, { "names": "--depth", "description": "Depth of tracing. 0=Created Completed. 1=All events on 1st route, 2=All events on 1st 2nd depth, and so on. 9 = all events on every depth.", "defaultValue": "9", "javaType": "int", "type": "integer" }, { "names": "--it", "description": "Interactive mode for enhanced history information", "javaType": "boolean", "type": "boolean" }, { "names": "--limit-split", "description": "Limit Split to a maximum number of entries to be displayed", "javaType": "int", "type": "integer" }, { "names": "--logging-color", "description": "Use colored logging", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--mask", "description": "Whether to mask endpoint URIs to avoid printing sensitive information such as password or access keys", "javaType": "boolean", "type": "boolean" }, { "names": "--pretty", "description": "Pretty print message body when using JSon or XML format", "javaType": "boolean", "type": "boolean" }, { "names": "--show-body", "description": "Show message body in debug messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--show-exception", "description": "Show exception and stacktrace for failed messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--show-exchange-properties", "description": "Show exchange properties in debug messages", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--show-exchange-variables", "description": "Show exchange variables in debug messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--show-headers", "description": "Show message headers in debug messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--source", "description": "Prefer to display source filename\/code instead of IDs", "javaType": "boolean", "type": "boolean" }, { "names": "--timestamp", "description": "Print timestamp.", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "inflight", "fullName": "get inflight", "description": "Get inflight messages of Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListInflight", "options": [ { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "internal-task", "fullName": "get internal-task", "description": "List internal tasks of Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListInternalTask", "options": [ { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "kafka", "fullName": "get kafka", "description": "List Kafka consumers of Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListKafka", "options": [ { "names": "--committed", "description": "Show committed offset (slower due to sync call to Kafka brokers)", "javaType": "boolean", "type": "boolean" }, { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--short-uri", "description": "List endpoint URI without query parameters (short)", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "--wide-uri", "description": "List endpoint URI in full details", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "metric", "fullName": "get metric", "description": "Get metrics (micrometer) of running Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListMetric", "options": [ { "names": "--all", "description": "Whether to show all metrics (also unused with counter being 0)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--custom", "description": "Only show custom metrics", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--filter", "description": "Filter metric by type, name or tags", "javaType": "java.lang.String", "type": "string" }, { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--tags", "description": "Show metric tags", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "platform-http", "fullName": "get platform-http", "description": "Get embedded HTTP services of Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListPlatformHttp", "options": [ { "names": "--all", "description": "Include management endpoints", "javaType": "boolean", "type": "boolean" }, { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "processor", "fullName": "get processor", "description": "Get status of Camel processors", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.CamelProcessorStatus", "options": [ { "names": "--description", "description": "Include description in the ID column (if available)", "javaType": "boolean", "type": "boolean" }, { "names": "--filter", "description": "Filter processors by id", "javaType": "java.lang.String", "type": "string" }, { "names": "--filter-mean", "description": "Filter processors that must be slower than the given time (ms)", "javaType": "long", "type": "integer" }, { "names": "--group", "description": "Filter processors by group", "javaType": "java.lang.String", "type": "string" }, { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--limit", "description": "Filter routes by limiting to the given number of rows", "javaType": "int", "type": "integer" }, { "names": "--note", "description": "Include note in the ID column (if available)", "javaType": "boolean", "type": "boolean" }, { "names": "--remote", "description": "Break down counters into remote\/total pairs", "javaType": "boolean", "type": "boolean" }, { "names": "--running", "description": "Only include running processors", "javaType": "boolean", "type": "boolean" }, { "names": "--show-group", "description": "Include group column", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid or name", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--source", "description": "Prefer to display source filename\/code instead of IDs", "javaType": "boolean", "type": "boolean" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "producer", "fullName": "get producer", "description": "Get status of Camel producers", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListProducer", "options": [ { "names": "--filter", "description": "Filter producers by URI", "javaType": "java.lang.String", "type": "string" }, { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--limit", "description": "Filter producers by limiting to the given number of rows", "javaType": "int", "type": "integer" }, { "names": "--short-uri", "description": "List endpoint URI without query parameters (short)", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "--wide-uri", "description": "List endpoint URI in full details", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "properties", "fullName": "get properties", "description": "List configuration properties", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListProperties", "options": [ { "names": "--internal", "description": "Whether to include internal configuration", "javaType": "boolean", "type": "boolean" }, { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--mask", "description": "Whether to mask configuration values to avoid printing sensitive information such as password or access keys", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or key", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--startup", "description": "List only startup configuration", "javaType": "boolean", "type": "boolean" }, { "names": "--verbose", "description": "Whether to include more details", "javaType": "boolean", "type": "boolean" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "rest", "fullName": "get rest", "description": "Get REST services of Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListRest", "options": [ { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--verbose", "description": "Show more details", "javaType": "boolean", "type": "boolean" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "route", "fullName": "get route", "description": "Get status of Camel routes", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.CamelRouteStatus", "options": [ { "names": "--description", "description": "Include description in the ID column (if available)", "javaType": "boolean", "type": "boolean" }, { "names": "--error", "description": "Shows detailed information for routes that has error status", "javaType": "boolean", "type": "boolean" }, { "names": "--filter", "description": "Filter routes by id, or url", "javaType": "java.lang.String", "type": "string" }, { "names": "--filter-mean", "description": "Filter routes that must be slower than the given time (ms)", "javaType": "long", "type": "integer" }, { "names": "--group", "description": "Filter routes by group", "javaType": "java.lang.String", "type": "string" }, { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--limit", "description": "Filter routes by limiting to the given number of rows", "javaType": "int", "type": "integer" }, { "names": "--note", "description": "Include note in the ID column (if available)", "javaType": "boolean", "type": "boolean" }, { "names": "--running", "description": "Only include running routes", "javaType": "boolean", "type": "boolean" }, { "names": "--short-uri", "description": "List endpoint URI without query parameters (short)", "javaType": "boolean", "type": "boolean" }, { "names": "--show-group", "description": "Include group column", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--source", "description": "Prefer to display source filename\/code instead of IDs", "javaType": "boolean", "type": "boolean" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "--wide-uri", "description": "List endpoint URI in full details", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "route-controller", "fullName": "get route-controller", "description": "List status of route controller", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.RouteControllerAction", "options": [ { "names": "--depth", "description": "Max depth of stack-trace", "defaultValue": "1", "javaType": "int", "type": "integer" }, { "names": "--header", "description": "Include controller configuration details", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by id, or state", "defaultValue": "id", "javaType": "java.lang.String", "type": "string" }, { "names": "--trace", "description": "Include stack-traces in error messages", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "route-dump", "fullName": "get route-dump", "description": "Dump Camel route in XML or YAML format", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelRouteDumpAction", "options": [ { "names": "--filter", "description": "Filter route by filename or route id (multiple names can be separated by comma)", "javaType": "java.lang.String", "type": "string" }, { "names": "--format", "description": "Output format (xml, or yaml)", "defaultValue": "yaml", "javaType": "java.lang.String", "type": "string" }, { "names": "--raw", "description": "To output raw without metadata", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort route by name or id", "defaultValue": "name", "javaType": "java.lang.String", "type": "string" }, { "names": "--uri-as-parameters", "description": "Whether to expand URIs into separated key\/value parameters (only in use for YAML format)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "service", "fullName": "get service", "description": "Get services of Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListService", "options": [ { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--metadata", "description": "Show service metadata (only available for some services)", "javaType": "boolean", "type": "boolean" }, { "names": "--short-uri", "description": "List endpoint URI without query parameters (short)", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "--wide-uri", "description": "List endpoint URI in full details", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "source", "fullName": "get source", "description": "Display Camel route source code", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelSourceAction", "options": [ { "names": "--filter", "description": "Filter source by filename (multiple names can be separated by comma)", "javaType": "java.lang.String", "type": "string" }, { "names": "--sort", "description": "Sort source by name", "defaultValue": "name", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "startup-recorder", "fullName": "get startup-recorder", "description": "Display startup recording", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.CamelStartupRecorderAction", "options": [ { "names": "--sort", "description": "Sort by duration, or type", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "transformer", "fullName": "get transformer", "description": "Get list of data type transformers", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListTransformer", "options": [ { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name, age or total", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "variable", "fullName": "get variable", "description": "List variables of Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListVariable", "options": [ { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or key", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "vault", "fullName": "get vault", "description": "List secrets from security vaults", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListVault", "options": [ { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] } ] }, { "name": "harden", "fullName": "harden", "description": "Suggest security hardening for Camel routes using AI\/LLM", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.Harden", "options": [ { "names": "--api-key", "description": "API key for authentication. Also reads OPENAI_API_KEY or LLM_API_KEY env vars", "javaType": "java.lang.String", "type": "string" }, { "names": "--api-type", "description": "API type: 'ollama' or 'openai' (OpenAI-compatible)", "defaultValue": "ollama", "javaType": "org.apache.camel.dsl.jbang.core.commands.ApiType", "type": "object" }, { "names": "--catalog-context", "description": "Include Camel Catalog descriptions in the prompt", "javaType": "boolean", "type": "boolean" }, { "names": "--format", "description": "Output format ()", "defaultValue": "text", "javaType": "java.lang.String", "type": "string" }, { "names": "--model", "description": "Model to use", "defaultValue": "DEFAULT_MODEL", "javaType": "java.lang.String", "type": "string" }, { "names": "--show-prompt", "description": "Show the prompt sent to the LLM", "javaType": "boolean", "type": "boolean" }, { "names": "--stream", "description": "Stream the response as it's generated (shows progress)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--system-prompt", "description": "Custom system prompt", "javaType": "java.lang.String", "type": "string" }, { "names": "--temperature", "description": "Temperature for response generation (0.0-2.0)", "defaultValue": "0.7", "javaType": "double", "type": "number" }, { "names": "--timeout", "description": "Timeout in seconds for LLM response", "defaultValue": "120", "javaType": "int", "type": "integer" }, { "names": "--url", "description": "LLM API endpoint URL. Auto-detected from 'camel infra' for Ollama if not specified.", "javaType": "java.lang.String", "type": "string" }, { "names": "--verbose,-v", "description": "Include detailed security recommendations with code examples", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "hawtio", "fullName": "hawtio", "description": "Launch Hawtio web console", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.Hawtio", "options": [ { "names": "--openUrl", "description": "To automatic open Hawtio web console in the web browser", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--port", "description": "Port number to use for Hawtio web console (port 8888 by default)", "defaultValue": "8888", "javaType": "int", "type": "integer" }, { "names": "--version", "description": "Version of the Hawtio web console", "defaultValue": "HawtioVersion.HAWTIO_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, @@ -22,8 +22,8 @@ { "name": "nano", "fullName": "nano", "description": "Nano editor to edit file", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.Nano", "options": [ { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "plugin", "fullName": "plugin", "description": "Manage plugins that add sub-commands to this CLI", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.plugin.PluginCommand", "options": [ { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ], "subcommands": [ { "name": "add", "fullName": "plugin add", "description": "Add new plugin", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.plugin.PluginAdd", "options": [ { "names": "--artifactId", "description": "Maven artifactId", "javaType": "java.lang.String", "type": "string" }, { "names": "--command", "description": "The command that the plugin uses", "javaType": "java.lang.String", "type": "string" }, { "names": "--description", "description": "A short description of the plugin", "javaType": "java.lang.String", "type": "string" }, { "names": "--first-version", "description": "First version of this plugin", "defaultValue": "", "javaType": "java.lang.String", "type": "string" }, { "names": "--gav", "description": "Maven group and artifact coordinates.", "javaType": "java.lang.String", "type": "string" }, { "names": "--groupId", "description": "Maven groupId", "defaultValue": "org.apache.camel", "javaType": "java.lang.String", "type": "string" }, { "names": "--repo,--repos", "description": "Additional maven repositories to use for downloading the plugin (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--version", "description": "Maven artifact version", "defaultValue": "", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "delete", "fullName": "plugin delete", "description": "Removes a plugin", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.plugin.PluginDelete", "options": [ { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "get", "fullName": "plugin get", "description": "Display available plugins", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.plugin.PluginGet", "options": [ { "names": "--all", "description": "Display all available plugins", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--repos", "description": "Display maven repository column", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] } ] }, { "name": "ps", "fullName": "ps", "description": "List running Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.ListProcess", "options": [ { "names": "--json", "description": "Output in JSON Format", "javaType": "boolean", "type": "boolean" }, { "names": "--pid", "description": "List only pid in the output", "javaType": "boolean", "type": "boolean" }, { "names": "--remote", "description": "Break down counters into remote\/total pairs", "javaType": "boolean", "type": "boolean" }, { "names": "--sort", "description": "Sort by pid, name or age", "defaultValue": "pid", "javaType": "java.lang.String", "type": "string" }, { "names": "--watch", "description": "Execute periodically and showing output fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, - { "name": "run", "fullName": "run", "description": "Run as local Camel integration", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.Run", "options": [ { "names": "--background", "description": "Run in the background", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--background-wait", "description": "To wait for run in background to startup successfully, before returning", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--backlog-trace", "description": "Enables backlog tracing of the routed messages", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--camel-spring-boot-version", "description": "To run using a different Camel Spring Boot version than the default version.", "javaType": "java.lang.String", "type": "string" }, { "names": "--camel-version", "description": "To run using a different Camel version than the default version.", "javaType": "java.lang.String", "type": "string" }, { "names": "--code", "description": "Run the given text or file as Java DSL routes", "javaType": "java.lang.String", "type": "string" }, { "names": "--console", "description": "Developer console at \/q\/dev on local HTTP server (port 8080 by default)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--dep,--dependency", "description": "Add additional dependencies", "javaType": "java.util.List", "type": "array" }, { "names": "--download", "description": "Whether to allow automatic downloading JAR dependencies (over the internet)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--empty", "description": "Run an empty Camel without loading source files", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--exclude", "description": "Exclude files by name or pattern", "javaType": "java.util.List", "type": "array" }, { "names": "--fresh", "description": "Make sure we use fresh (i.e. non-cached) resources", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--gav", "description": "The Maven group:artifact:version (used during exporting)", "javaType": "java.lang.String", "type": "string" }, { "names": "--health", "description": "Deprecated: use --observe instead. Health check at \/q\/health on local HTTP server (port 8080 by default)", "defaultValue": "false", "javaType": "boolean", "type": "boolean", "deprecated": true }, { "names": "--ignore-loading-error", "description": "Whether to ignore route loading and compilation errors (use this with care!)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--jfr", "description": "Enables Java Flight Recorder saving recording to disk on exit", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--jfr-profile", "description": "Java Flight Recorder profile to use (such as default or profile)", "javaType": "java.lang.String", "type": "string" }, { "names": "--jvm-debug", "description": "To enable JVM remote debugging on port 4004 by default. The supported values are true to enable the remote debugging, false to disable the remote debugging or a number to use a custom port", "javaType": "int", "type": "integer", "paramLabel": "" }, { "names": "--kamelets-version", "description": "Apache Camel Kamelets version", "javaType": "java.lang.String", "type": "string" }, { "names": "--lazy-bean", "description": "Whether to use lazy bean initialization (can help with complex classloading issues)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--local-kamelet-dir", "description": "Local directory (or github link) for loading Kamelets (takes precedence). Multiple directories can be specified separated by comma.", "javaType": "java.lang.String", "type": "string" }, { "names": "--logging", "description": "Can be used to turn off logging", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-category", "description": "Used for individual logging levels (ex: org.apache.kafka=DEBUG)", "javaType": "java.util.List", "type": "array" }, { "names": "--logging-color", "description": "Use colored logging. Default is auto-detected based on NO_COLOR, CI, FORCE_COLOR environment variables and terminal capabilities", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-config-path", "description": "Path to file with custom logging configuration", "javaType": "java.lang.String", "type": "string" }, { "names": "--logging-json", "description": "Use JSON logging (ECS Layout)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-level", "description": "Logging level ()", "defaultValue": "info", "javaType": "java.lang.String", "type": "string" }, { "names": "--management-port", "description": "To use a dedicated port for HTTP management (use 0 to dynamic assign a free random port number)", "javaType": "int", "type": "integer" }, { "names": "--maven-apache-snapshot-enabled", "description": "Whether downloading JARs from ASF Maven Snapshot repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-central-enabled", "description": "Whether downloading JARs from Maven Central repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-settings", "description": "Optional location of Maven settings.xml file to configure servers, repositories, mirrors and proxies. If set to false, not even the default ~\/.m2\/settings.xml will be used.", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-settings-security", "description": "Optional location of Maven settings-security.xml file to decrypt settings.xml", "javaType": "java.lang.String", "type": "string" }, { "names": "--max-idle-seconds", "description": "For how long time in seconds Camel can be idle before stopping", "defaultValue": "0", "javaType": "int", "type": "integer" }, { "names": "--max-messages", "description": "Max number of messages to process before stopping", "defaultValue": "0", "javaType": "int", "type": "integer" }, { "names": "--max-seconds", "description": "Max seconds to run before stopping", "defaultValue": "0", "javaType": "int", "type": "integer" }, { "names": "--metrics", "description": "Deprecated: use --observe instead. Metrics (Micrometer and Prometheus) at \/q\/metrics on local HTTP server (port 8080 by default)", "defaultValue": "false", "javaType": "boolean", "type": "boolean", "deprecated": true }, { "names": "--modeline", "description": "Whether to support JBang style \/\/DEPS to specify additional dependencies", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--name", "description": "The name of the Camel application", "defaultValue": "CamelJBang", "javaType": "java.lang.String", "type": "string" }, { "names": "--observe", "description": "Enable observability services", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--open-api", "description": "Adds an OpenAPI spec from the given file (json or yaml file)", "javaType": "java.lang.String", "type": "string" }, { "names": "--package-scan-jars", "description": "Whether to automatic package scan JARs for custom Spring or Quarkus beans making them available for Camel JBang", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--port", "description": "Embeds a local HTTP server on this port (port 8080 by default; use 0 to dynamic assign a free random port number)", "javaType": "int", "type": "integer" }, { "names": "--profile", "description": "Profile to run ().", "defaultValue": "dev", "javaType": "java.lang.String", "type": "string" }, { "names": "--prompt", "description": "Allow user to type in required parameters in prompt if not present in application", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--prop,--property", "description": "Additional properties (override existing)", "javaType": "java.lang.String", "type": "string" }, { "names": "--properties", "description": "comma separated list of properties file (ex. \/path\/to\/file.properties,\/path\/to\/other.properties", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-artifact-id", "description": "Quarkus Platform Maven artifactId", "defaultValue": "quarkus-bom", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-group-id", "description": "Quarkus Platform Maven groupId", "defaultValue": "io.quarkus.platform", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-version", "description": "Quarkus Platform version", "defaultValue": "RuntimeType.QUARKUS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--reload,--dev", "description": "Enables dev mode (live reload when source files are updated and saved)", "javaType": "boolean", "type": "boolean" }, { "names": "--repo,--repos", "description": "Additional maven repositories (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--runtime", "description": "Runtime ()", "defaultValue": "camel-main", "javaType": "org.apache.camel.dsl.jbang.core.common.RuntimeType", "type": "object" }, { "names": "--skip-plugins", "description": "Skip resolving plugin dependencies", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--source-dir", "description": "Source directory for dynamically loading Camel file(s) to run. When using this, then files cannot be specified at the same time.", "javaType": "java.lang.String", "type": "string" }, { "names": "--spring-boot-version", "description": "Spring Boot version", "defaultValue": "RuntimeType.SPRING_BOOT_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--stub", "description": "Stubs all the matching endpoint uri with the given component name or pattern. Multiple names can be separated by comma. (all = stub all endpoints).", "javaType": "java.lang.String", "type": "string" }, { "names": "--trace", "description": "Enables trace logging of the routed messages", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--verbose", "description": "Verbose output of startup activity (dependency resolution and downloading", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, - { "name": "sbom", "fullName": "sbom", "description": "Generate a CycloneDX or SPDX SBOM for a specific project", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.SBOMGenerator", "options": [ { "names": "--build-property", "description": "Maven build properties, ex. --build-property=prop1=foo", "javaType": "java.util.List", "type": "array" }, { "names": "--camel-spring-boot-version", "description": "Camel version to use with Spring Boot", "javaType": "java.lang.String", "type": "string" }, { "names": "--camel-version", "description": "To export using a different Camel version than the default version.", "javaType": "java.lang.String", "type": "string" }, { "names": "--clean-dir", "description": "If exporting to current directory (default) then all existing files are preserved. Enabling this option will force cleaning current directory including all sub dirs (use this with care)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--cyclonedx-plugin-version", "description": "The CycloneDX Maven Plugin version", "defaultValue": "2.9.1", "javaType": "java.lang.String", "type": "string" }, { "names": "--dep,--dependency", "description": "Add additional dependencies", "javaType": "java.util.List", "type": "array" }, { "names": "--dir,--directory", "description": "Directory where the project will be exported", "defaultValue": ".", "javaType": "java.lang.String", "type": "string" }, { "names": "--download", "description": "Whether to allow automatic downloading JAR dependencies (over the internet)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--dry-run", "description": "Preview export without writing files", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--exclude", "description": "Exclude files by name or pattern", "javaType": "java.util.List", "type": "array" }, { "names": "--fresh", "description": "Make sure we use fresh (i.e. non-cached) resources", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--gav", "description": "The Maven group:artifact:version", "javaType": "java.lang.String", "type": "string" }, { "names": "--groovy-pre-compiled", "description": "Whether to include pre-compiled Groovy classes in the export (only supported with runtime=camel-main)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--hawtio", "description": "Whether to include Hawtio web console (only available for exporting to Spring Boot or Quarkus)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--hawtio-version", "description": "Version of the Hawtio web console", "defaultValue": "HawtioVersion.HAWTIO_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--ignore-loading-error", "description": "Whether to ignore route loading and compilation errors (use this with care!)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--java-version", "description": "Java version ()", "defaultValue": "21", "javaType": "java.lang.String", "type": "string" }, { "names": "--kamelets-version", "description": "Apache Camel Kamelets version", "defaultValue": "RuntimeType.KAMELETS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--lazy-bean", "description": "Whether to use lazy bean initialization (can help with complex classloading issues", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--local-kamelet-dir", "description": "Local directory for loading Kamelets (takes precedence)", "javaType": "java.lang.String", "type": "string" }, { "names": "--logging", "description": "Can be used to turn on logging to console (logs by default to file in \/.camel directory)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-level", "description": "Logging level ()", "defaultValue": "info", "javaType": "java.lang.String", "type": "string" }, { "names": "--main-classname", "description": "The class name of the Camel Main application class", "defaultValue": "CamelApplication", "javaType": "java.lang.String", "type": "string" }, { "names": "--management-port", "description": "To use a dedicated port for HTTP management", "javaType": "int", "type": "integer" }, { "names": "--maven-apache-snapshot-enabled", "description": "Whether downloading JARs from ASF Maven Snapshot repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-central-enabled", "description": "Whether downloading JARs from Maven Central repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-settings", "description": "Optional location of Maven settings.xml file to configure servers, repositories, mirrors and proxies. If set to false, not even the default ~\/.m2\/settings.xml will be used.", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-settings-security", "description": "Optional location of Maven settings-security.xml file to decrypt settings.xml", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-wrapper", "description": "Include Maven Wrapper files in exported project", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--name", "description": "The integration name. Use this when the name should not get derived otherwise.", "javaType": "java.lang.String", "type": "string" }, { "names": "--observe", "description": "Enable observability services", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--open-api", "description": "Adds an OpenAPI spec from the given file (json or yaml file)", "javaType": "java.lang.String", "type": "string" }, { "names": "--output-directory", "description": "Directory where the SBOM will be saved", "defaultValue": ".", "javaType": "java.lang.String", "type": "string" }, { "names": "--output-name", "description": "Output name of the SBOM file", "defaultValue": "sbom", "javaType": "java.lang.String", "type": "string" }, { "names": "--package-name", "description": "For Java source files should they have the given package name. By default the package name is computed from the Maven GAV. Use false to turn off and not include package name in the Java source files.", "javaType": "java.lang.String", "type": "string" }, { "names": "--package-scan-jars", "description": "Whether to automatic package scan JARs for custom Spring or Quarkus beans making them available for Camel JBang", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--port", "description": "Embeds a local HTTP server on this port", "javaType": "int", "type": "integer" }, { "names": "--profile", "description": "Profile to export ().", "javaType": "java.lang.String", "type": "string" }, { "names": "--prop,--property", "description": "Camel application properties, ex. --property=prop1=foo", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-artifact-id", "description": "Quarkus Platform Maven artifactId", "defaultValue": "quarkus-bom", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-group-id", "description": "Quarkus Platform Maven groupId", "defaultValue": "io.quarkus.platform", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-version", "description": "Quarkus Platform version", "defaultValue": "RuntimeType.QUARKUS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--quiet", "description": "Will be quiet, only print when error occurs", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--repo,--repos", "description": "Additional maven repositories (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--runtime", "description": "Runtime ()", "javaType": "org.apache.camel.dsl.jbang.core.common.RuntimeType", "type": "object" }, { "names": "--sbom-format", "description": "The SBOM format, possible values are cyclonedx or spdx", "defaultValue": "CYCLONEDX_FORMAT", "javaType": "java.lang.String", "type": "string" }, { "names": "--sbom-output-format", "description": "The SBOM output format, possible values are json or xml", "defaultValue": "SBOM_JSON_FORMAT", "javaType": "java.lang.String", "type": "string" }, { "names": "--skip-plugins", "description": "Skip plugins during export", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--spdx-plugin-version", "description": "The SPDX Maven Plugin version", "defaultValue": "0.7.4", "javaType": "java.lang.String", "type": "string" }, { "names": "--spring-boot-version", "description": "Spring Boot version", "defaultValue": "RuntimeType.SPRING_BOOT_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--verbose", "description": "Verbose output of startup activity (dependency resolution and downloading", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--yes,-y", "description": "Automatically answer yes to confirmation prompts (e.g. when using --clean-dir)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, + { "name": "run", "fullName": "run", "description": "Run as local Camel integration", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.Run", "options": [ { "names": "--background", "description": "Run in the background", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--background-wait", "description": "To wait for run in background to startup successfully, before returning", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--backlog-trace", "description": "Enables backlog tracing of the routed messages", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--camel-spring-boot-version", "description": "To run using a different Camel Spring Boot version than the default version.", "javaType": "java.lang.String", "type": "string" }, { "names": "--camel-version", "description": "To run using a different Camel version than the default version.", "javaType": "java.lang.String", "type": "string" }, { "names": "--code", "description": "Run the given text or file as Java DSL routes", "javaType": "java.lang.String", "type": "string" }, { "names": "--console", "description": "Developer console at \/q\/dev on local HTTP server (port 8080 by default)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--dep,--dependency", "description": "Add additional dependencies", "javaType": "java.util.List", "type": "array" }, { "names": "--download", "description": "Whether to allow automatic downloading JAR dependencies (over the internet)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--empty", "description": "Run an empty Camel without loading source files", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--exclude", "description": "Exclude files by name or pattern", "javaType": "java.util.List", "type": "array" }, { "names": "--fresh", "description": "Make sure we use fresh (i.e. non-cached) resources", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--gav", "description": "The Maven group:artifact:version (used during exporting)", "javaType": "java.lang.String", "type": "string" }, { "names": "--health", "description": "Deprecated: use --observe instead. Health check at \/q\/health on local HTTP server (port 8080 by default)", "defaultValue": "false", "javaType": "boolean", "type": "boolean", "deprecated": true }, { "names": "--ignore-loading-error", "description": "Whether to ignore route loading and compilation errors (use this with care!)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--java-version,--java", "description": "Java version ()", "defaultValue": "21", "javaType": "java.lang.String", "type": "string" }, { "names": "--jfr", "description": "Enables Java Flight Recorder saving recording to disk on exit", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--jfr-profile", "description": "Java Flight Recorder profile to use (such as default or profile)", "javaType": "java.lang.String", "type": "string" }, { "names": "--jvm-debug", "description": "To enable JVM remote debugging on port 4004 by default. The supported values are true to enable the remote debugging, false to disable the remote debugging or a number to use a custom port", "javaType": "int", "type": "integer", "paramLabel": "" }, { "names": "--kamelets-version", "description": "Apache Camel Kamelets version", "javaType": "java.lang.String", "type": "string" }, { "names": "--lazy-bean", "description": "Whether to use lazy bean initialization (can help with complex classloading issues)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--local-kamelet-dir", "description": "Local directory (or github link) for loading Kamelets (takes precedence). Multiple directories can be specified separated by comma.", "javaType": "java.lang.String", "type": "string" }, { "names": "--logging", "description": "Can be used to turn off logging", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-category", "description": "Used for individual logging levels (ex: org.apache.kafka=DEBUG)", "javaType": "java.util.List", "type": "array" }, { "names": "--logging-color", "description": "Use colored logging. Default is auto-detected based on NO_COLOR, CI, FORCE_COLOR environment variables and terminal capabilities", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-config-path", "description": "Path to file with custom logging configuration", "javaType": "java.lang.String", "type": "string" }, { "names": "--logging-json", "description": "Use JSON logging (ECS Layout)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-level", "description": "Logging level ()", "defaultValue": "info", "javaType": "java.lang.String", "type": "string" }, { "names": "--management-port", "description": "To use a dedicated port for HTTP management (use 0 to dynamic assign a free random port number)", "javaType": "int", "type": "integer" }, { "names": "--maven-apache-snapshot-enabled", "description": "Whether downloading JARs from ASF Maven Snapshot repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-central-enabled", "description": "Whether downloading JARs from Maven Central repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-settings", "description": "Optional location of Maven settings.xml file to configure servers, repositories, mirrors and proxies. If set to false, not even the default ~\/.m2\/settings.xml will be used.", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-settings-security", "description": "Optional location of Maven settings-security.xml file to decrypt settings.xml", "javaType": "java.lang.String", "type": "string" }, { "names": "--max-idle-seconds", "description": "For how long time in seconds Camel can be idle before stopping", "defaultValue": "0", "javaType": "int", "type": "integer" }, { "names": "--max-messages", "description": "Max number of messages to process before stopping", "defaultValue": "0", "javaType": "int", "type": "integer" }, { "names": "--max-seconds", "description": "Max seconds to run before stopping", "defaultValue": "0", "javaType": "int", "type": "integer" }, { "names": "--metrics", "description": "Deprecated: use --observe instead. Metrics (Micrometer and Prometheus) at \/q\/metrics on local HTTP server (port 8080 by default)", "defaultValue": "false", "javaType": "boolean", "type": "boolean", "deprecated": true }, { "names": "--modeline", "description": "Whether to support JBang style \/\/DEPS to specify additional dependencies", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--name", "description": "The name of the Camel application", "defaultValue": "CamelJBang", "javaType": "java.lang.String", "type": "string" }, { "names": "--observe", "description": "Enable observability services", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--open-api", "description": "Adds an OpenAPI spec from the given file (json or yaml file)", "javaType": "java.lang.String", "type": "string" }, { "names": "--package-scan-jars", "description": "Whether to automatic package scan JARs for custom Spring or Quarkus beans making them available for Camel JBang", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--port", "description": "Embeds a local HTTP server on this port (port 8080 by default; use 0 to dynamic assign a free random port number)", "javaType": "int", "type": "integer" }, { "names": "--profile", "description": "Profile to run ().", "defaultValue": "dev", "javaType": "java.lang.String", "type": "string" }, { "names": "--prompt", "description": "Allow user to type in required parameters in prompt if not present in application", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--prop,--property", "description": "Additional properties (override existing)", "javaType": "java.lang.String", "type": "string" }, { "names": "--properties", "description": "comma separated list of properties file (ex. \/path\/to\/file.properties,\/path\/to\/other.properties", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-artifact-id", "description": "Quarkus Platform Maven artifactId", "defaultValue": "quarkus-bom", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-group-id", "description": "Quarkus Platform Maven groupId", "defaultValue": "io.quarkus.platform", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-version", "description": "Quarkus Platform version", "defaultValue": "RuntimeType.QUARKUS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--reload,--dev", "description": "Enables dev mode (live reload when source files are updated and saved)", "javaType": "boolean", "type": "boolean" }, { "names": "--repo,--repos", "description": "Additional maven repositories (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--runtime", "description": "Runtime ()", "defaultValue": "camel-main", "javaType": "org.apache.camel.dsl.jbang.core.common.RuntimeType", "type": "object" }, { "names": "--skip-plugins", "description": "Skip resolving plugin dependencies", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--source-dir", "description": "Source directory for dynamically loading Camel file(s) to run. When using this, then files cannot be specified at the same time.", "javaType": "java.lang.String", "type": "string" }, { "names": "--spring-boot-version", "description": "Spring Boot version", "defaultValue": "RuntimeType.SPRING_BOOT_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--stub", "description": "Stubs all the matching endpoint uri with the given component name or pattern. Multiple names can be separated by comma. (all = stub all endpoints).", "javaType": "java.lang.String", "type": "string" }, { "names": "--trace", "description": "Enables trace logging of the routed messages", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--verbose", "description": "Verbose output of startup activity (dependency resolution and downloading", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, + { "name": "sbom", "fullName": "sbom", "description": "Generate a CycloneDX or SPDX SBOM for a specific project", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.SBOMGenerator", "options": [ { "names": "--build-property", "description": "Maven build properties, ex. --build-property=prop1=foo", "javaType": "java.util.List", "type": "array" }, { "names": "--camel-spring-boot-version", "description": "Camel version to use with Spring Boot", "javaType": "java.lang.String", "type": "string" }, { "names": "--camel-version", "description": "To export using a different Camel version than the default version.", "javaType": "java.lang.String", "type": "string" }, { "names": "--clean-dir", "description": "If exporting to current directory (default) then all existing files are preserved. Enabling this option will force cleaning current directory including all sub dirs (use this with care)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--cyclonedx-plugin-version", "description": "The CycloneDX Maven Plugin version", "defaultValue": "2.9.1", "javaType": "java.lang.String", "type": "string" }, { "names": "--dep,--dependency", "description": "Add additional dependencies", "javaType": "java.util.List", "type": "array" }, { "names": "--dir,--directory", "description": "Directory where the project will be exported", "defaultValue": ".", "javaType": "java.lang.String", "type": "string" }, { "names": "--download", "description": "Whether to allow automatic downloading JAR dependencies (over the internet)", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--dry-run", "description": "Preview export without writing files", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--exclude", "description": "Exclude files by name or pattern", "javaType": "java.util.List", "type": "array" }, { "names": "--fresh", "description": "Make sure we use fresh (i.e. non-cached) resources", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--gav", "description": "The Maven group:artifact:version", "javaType": "java.lang.String", "type": "string" }, { "names": "--groovy-pre-compiled", "description": "Whether to include pre-compiled Groovy classes in the export (only supported with runtime=camel-main)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--hawtio", "description": "Whether to include Hawtio web console (only available for exporting to Spring Boot or Quarkus)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--hawtio-version", "description": "Version of the Hawtio web console", "defaultValue": "HawtioVersion.HAWTIO_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--ignore-loading-error", "description": "Whether to ignore route loading and compilation errors (use this with care!)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--java-version,--java", "description": "Java version ()", "defaultValue": "21", "javaType": "java.lang.String", "type": "string" }, { "names": "--kamelets-version", "description": "Apache Camel Kamelets version", "defaultValue": "RuntimeType.KAMELETS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--lazy-bean", "description": "Whether to use lazy bean initialization (can help with complex classloading issues", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--local-kamelet-dir", "description": "Local directory for loading Kamelets (takes precedence)", "javaType": "java.lang.String", "type": "string" }, { "names": "--logging", "description": "Can be used to turn on logging to console (logs by default to file in \/.camel directory)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-level", "description": "Logging level ()", "defaultValue": "info", "javaType": "java.lang.String", "type": "string" }, { "names": "--main-classname", "description": "The class name of the Camel Main application class", "defaultValue": "CamelApplication", "javaType": "java.lang.String", "type": "string" }, { "names": "--management-port", "description": "To use a dedicated port for HTTP management", "javaType": "int", "type": "integer" }, { "names": "--maven-apache-snapshot-enabled", "description": "Whether downloading JARs from ASF Maven Snapshot repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-central-enabled", "description": "Whether downloading JARs from Maven Central repository is enabled", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--maven-settings", "description": "Optional location of Maven settings.xml file to configure servers, repositories, mirrors and proxies. If set to false, not even the default ~\/.m2\/settings.xml will be used.", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-settings-security", "description": "Optional location of Maven settings-security.xml file to decrypt settings.xml", "javaType": "java.lang.String", "type": "string" }, { "names": "--maven-wrapper", "description": "Include Maven Wrapper files in exported project", "defaultValue": "true", "javaType": "boolean", "type": "boolean" }, { "names": "--name", "description": "The integration name. Use this when the name should not get derived otherwise.", "javaType": "java.lang.String", "type": "string" }, { "names": "--observe", "description": "Enable observability services", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--open-api", "description": "Adds an OpenAPI spec from the given file (json or yaml file)", "javaType": "java.lang.String", "type": "string" }, { "names": "--output-directory", "description": "Directory where the SBOM will be saved", "defaultValue": ".", "javaType": "java.lang.String", "type": "string" }, { "names": "--output-name", "description": "Output name of the SBOM file", "defaultValue": "sbom", "javaType": "java.lang.String", "type": "string" }, { "names": "--package-name", "description": "For Java source files should they have the given package name. By default the package name is computed from the Maven GAV. Use false to turn off and not include package name in the Java source files.", "javaType": "java.lang.String", "type": "string" }, { "names": "--package-scan-jars", "description": "Whether to automatic package scan JARs for custom Spring or Quarkus beans making them available for Camel JBang", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--port", "description": "Embeds a local HTTP server on this port", "javaType": "int", "type": "integer" }, { "names": "--profile", "description": "Profile to export ().", "javaType": "java.lang.String", "type": "string" }, { "names": "--prop,--property", "description": "Camel application properties, ex. --property=prop1=foo", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-artifact-id", "description": "Quarkus Platform Maven artifactId", "defaultValue": "quarkus-bom", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-group-id", "description": "Quarkus Platform Maven groupId", "defaultValue": "io.quarkus.platform", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-package-type", "description": "Quarkus package type (uber-jar or fast-jar)", "defaultValue": "uber-jar", "javaType": "java.lang.String", "type": "string" }, { "names": "--quarkus-version", "description": "Quarkus Platform version", "defaultValue": "RuntimeType.QUARKUS_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--quiet", "description": "Will be quiet, only print when error occurs", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--repo,--repos", "description": "Additional maven repositories (Use commas to separate multiple repositories)", "javaType": "java.lang.String", "type": "string" }, { "names": "--runtime", "description": "Runtime ()", "javaType": "org.apache.camel.dsl.jbang.core.common.RuntimeType", "type": "object" }, { "names": "--sbom-format", "description": "The SBOM format, possible values are cyclonedx or spdx", "defaultValue": "CYCLONEDX_FORMAT", "javaType": "java.lang.String", "type": "string" }, { "names": "--sbom-output-format", "description": "The SBOM output format, possible values are json or xml", "defaultValue": "SBOM_JSON_FORMAT", "javaType": "java.lang.String", "type": "string" }, { "names": "--skip-plugins", "description": "Skip plugins during export", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--spdx-plugin-version", "description": "The SPDX Maven Plugin version", "defaultValue": "0.7.4", "javaType": "java.lang.String", "type": "string" }, { "names": "--spring-boot-version", "description": "Spring Boot version", "defaultValue": "RuntimeType.SPRING_BOOT_VERSION", "javaType": "java.lang.String", "type": "string" }, { "names": "--verbose", "description": "Verbose output of startup activity (dependency resolution and downloading", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--yes,-y", "description": "Automatically answer yes to confirmation prompts (e.g. when using --clean-dir)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "script", "fullName": "script", "description": "Run Camel integration as shell script for terminal scripting", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.Script", "options": [ { "names": "--logging", "description": "Can be used to turn on logging (logs to file in \/.camel directory)", "defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": "--logging-level", "description": "Logging level ()", "defaultValue": "info", "javaType": "java.lang.String", "type": "string" }, { "names": "--max-idle-seconds", "description": "For how long time in seconds Camel can be idle before stopping", "defaultValue": "1", "javaType": "int", "type": "integer" }, { "names": "--max-messages", "description": "Max number of messages to process before stopping", "defaultValue": "0", "javaType": "int", "type": "integer" }, { "names": "--max-seconds", "description": "Max seconds to run before stopping", "defaultValue": "0", "javaType": "int", "type": "integer" }, { "names": "--prop,--property", "description": "Additional properties (override existing)", "javaType": "java.lang.String", "type": "string" }, { "names": "--properties", "description": "Load properties file for route placeholders (ex. \/path\/to\/file.properties", "javaType": "java.lang.String", "type": "string" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "shell", "fullName": "shell", "description": "Interactive Camel JBang shell.", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.Shell", "options": [ { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, { "name": "stop", "fullName": "stop", "description": "Shuts down running Camel integrations", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.StopProcess", "options": [ { "names": "--kill", "description": "To force killing the process (SIGKILL)", "javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", "description": "Display the help and sub-commands", "javaType": "boolean", "type": "boolean" } ] }, From db8f0d2527e2d01a9dabb27813a7750d55b9bd04 Mon Sep 17 00:00:00 2001 From: Guillaume Nodet Date: Tue, 31 Mar 2026 09:35:17 +0200 Subject: [PATCH 4/5] CAMEL-22544: Fix docs gulp race with test temp directories Add strict: false to gulp.src glob options so that ENOENT errors during directory traversal are warnings rather than failures. This prevents race conditions when the docs gulp build runs in parallel with tests that create and delete temporary directories. Co-Authored-By: Claude Opus 4.6 --- docs/gulpfile.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/gulpfile.js b/docs/gulpfile.js index 9880997246ffa..9bccf966a8ba0 100644 --- a/docs/gulpfile.js +++ b/docs/gulpfile.js @@ -327,7 +327,7 @@ const tasks = Array.from(sourcesMap).flatMap(([type, definition]) => { } }) - return gulp.src(source, { ignore: ['**/target/**'] }) + return gulp.src(source, { ignore: ['**/target/**'], strict: false }) .pipe(filterFn) .pipe( map((file, done) => { @@ -410,7 +410,7 @@ const tasks = Array.from(sourcesMap).flatMap(([type, definition]) => { return done() } - return gulp.src(source, { ignore: ['**/target/**'] }) // asciidoc files + return gulp.src(source, { ignore: ['**/target/**'], strict: false }) // asciidoc files .pipe(through2.obj(extractExamples)) // extracted example files // symlink links from a fixed directory, i.e. we could link to // the example files from `destination`, that would not work for From 69754c88fc5944423b9560f9786175a945aebe8f Mon Sep 17 00:00:00 2001 From: Guillaume Nodet Date: Tue, 31 Mar 2026 10:01:03 +0200 Subject: [PATCH 5/5] CAMEL-22544: Fix docs gulp race with test temp directories Use system temp directory instead of target/ for test working dirs and exclude .camel-jbang directories from gulpfile source glob pattern to avoid race condition with docs gulp build. Co-Authored-By: Claude Opus 4.6 --- docs/gulpfile.js | 6 +++--- .../camel/dsl/jbang/core/commands/DependencyUpdateTest.java | 4 +--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/docs/gulpfile.js b/docs/gulpfile.js index 9bccf966a8ba0..e59657cded8a2 100644 --- a/docs/gulpfile.js +++ b/docs/gulpfile.js @@ -207,7 +207,7 @@ const sources = { '../core/camel-main/src/main/docs/!(*-component|*-language|*-dataformat|*-summary).adoc', '../components/{*,*/*}/src/main/docs/!(*-component|*-language|*-dataformat|*-summary).adoc', '../dsl/src/main/docs/!(*-component|*-language|*-dataformat|*-summary).adoc', - '../dsl/{*,*/!(target)}/src/main/docs/!(*-component|*-language|*-dataformat|*-summary).adoc', + '../dsl/{*,*/!(target|.camel-jbang*)}/src/main/docs/!(*-component|*-language|*-dataformat|*-summary).adoc', ], destination: 'components/modules/others/pages', keep: [ @@ -327,7 +327,7 @@ const tasks = Array.from(sourcesMap).flatMap(([type, definition]) => { } }) - return gulp.src(source, { ignore: ['**/target/**'], strict: false }) + return gulp.src(source, { ignore: ['**/target/**'] }) .pipe(filterFn) .pipe( map((file, done) => { @@ -410,7 +410,7 @@ const tasks = Array.from(sourcesMap).flatMap(([type, definition]) => { return done() } - return gulp.src(source, { ignore: ['**/target/**'], strict: false }) // asciidoc files + return gulp.src(source, { ignore: ['**/target/**'] }) // asciidoc files .pipe(through2.obj(extractExamples)) // extracted example files // symlink links from a fixed directory, i.e. we could link to // the example files from `destination`, that would not work for diff --git a/dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/commands/DependencyUpdateTest.java b/dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/commands/DependencyUpdateTest.java index 34d0bba1819b7..f1ce75e02ea59 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/commands/DependencyUpdateTest.java +++ b/dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/commands/DependencyUpdateTest.java @@ -20,7 +20,6 @@ import java.io.InputStream; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.nio.file.StandardCopyOption; import java.util.List; import java.util.stream.Stream; @@ -47,8 +46,7 @@ class DependencyUpdateTest extends CamelCommandBaseTestSupport { @Override public void setup() throws Exception { super.setup(); - Path base = Paths.get("target"); - workingDir = Files.createTempDirectory(base, "camel-dependency-update-tests").toFile(); + workingDir = Files.createTempDirectory("camel-dependency-update-tests").toFile(); } @AfterEach