[ 
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)

Reply via email to