quarkusio/quarkus

Picocli extension - consider generating command metadata during build

Open

#16,355 opened on Apr 8, 2021

View on GitHub
 (22 comments) (0 reactions) (0 assignees)Java (2,464 forks)batch import
area/cligood first issuekind/enhancement

Repository metrics

Stars
 (12,967 stars)
PR merge metrics
 (Avg merge 6d 4h) (325 merged PRs in 30d)

Description

ATM picocli builds the CommandSpec metadata using reflection every time the application is started. This is OK in most situations but may represent considerable overhead for applications that finish instantly, e.g. some Quarkus CLI commands. It might make sense to analyze the commands during build and either generate some "builder" classes or record the metadata (e.g. using AnnotationProxyBuildItem) and build the metadata in a recorder method.

Contributor guide