[
https://issues.apache.org/jira/browse/CAMEL-25400?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18127727#comment-18127727
]
Claus Ibsen commented on CAMEL-25400:
-------------------------------------
First part merged in https://github.com/apache/camel/pull/27933 (commit
c7d3889e053b) for 4.24.0: ChildProcess (the processes Maven starts for camel
run/debug stop with the CLI, and are killed when they do not stop within 30s),
MavenCommand (one lookup of the Maven wrapper), and plugin loading throws a
CliException instead of calling System.exit.
Still open on this ticket:
* the listing boilerplate (sortRow and Row.copy() in each listing, the
since/throughput/short-URI helpers)
* the other duplicates (loadCatalog, doExport, Maven invocation)
* the embedding blockers besides System.exit: logging initialized once, the
shared .camel-jbang work directory, fields that are not options keeping their
values when the command tree is reused
* splitting Run.java and moving harden onto LlmClient, which comes with the
run/export split (CAMEL-24724 and others)
_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)