[
https://issues.apache.org/jira/browse/CAMEL-25400?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18127922#comment-18127922
]
Claus Ibsen commented on CAMEL-25400:
-------------------------------------
Third part, for the tools that run several CLI commands in one JVM (camel ask,
the AI panel, camel shell): https://github.com/apache/camel/pull/27962
* CliRunner runs each command on new instances of the commands
(CamelJBangMain.newCommandLine, with the plugins already loaded), so no field
keeps the value of the run before.
* The first logging configuration of each command is applied (log4j was
configured once per JVM, so a later camel export logged to the console instead
of its log file).
* camel doc and the catalog listings share one catalog loader.
What stays open on this ticket goes with the run/export split: the duplicates
in run and export (doExport, the Maven invocation) and the shared .camel-jbang
work directory.
_Claude Code on behalf of davsclaus_
> camel-jbang - Tech debt cleanup in the CLI (after the behaviour work)
> ---------------------------------------------------------------------
>
> Key: CAMEL-25400
> URL: https://issues.apache.org/jira/browse/CAMEL-25400
> Project: Camel
> Issue Type: Sub-task
> Components: camel-jbang
> Reporter: Claus Ibsen
> Assignee: Claus Ibsen
> Priority: Major
> Fix For: 4.24.0
>
>
> To be done after the other sub-tasks:
> * One {{ChildProcess}} helper for the 8 copied shutdown hooks, 6 copied mvnw
> lookups and the {{--background}} argument stripping; kill descendant
> processes.
> * Embedding blockers: {{PluginHelper}} calling {{main.quit(1)}}
> ({{System.exit}}), one-shot logging init, shared {{.camel-jbang}} work dir,
> non-option fields not reset when the command tree is reused.
> * Listing boilerplate ({{sortRow}} ~37 copies, {{Row.copy()}},
> since/throughput/short-uri helpers).
> * Duplicates: {{loadCatalog}}, Kamelet catalog loader, {{doExport}}, Maven
> invocation.
> * Last: split {{Run.java}} (3,840 lines: options shared with Export, source
> classification, one launcher per runtime, background supervisor) and move
> {{Harden}} onto {{LlmClient}}.
> _Claude Code on behalf of davsclaus (Claus Ibsen)_
--
This message was sent by Atlassian Jira
(v8.20.10#820010)