I don’t really understand the question. Are you asking how a single gradle module can contain a CLI and a service? The naive way is just to have two different main classes but perhaps you mean something else?
In Dropwizard this was seemingly the standard way of doing things, as you could register one or more Command in the Application where you registered REST resources. On Mon, May 5, 2025 at 5:55 PM Dmitri Bourlatchkov <di...@apache.org> wrote: > Hi Yufei, > > Please note that the admin tool is a CLI application, while the quarkus > "server" is a REST application. > > How do you envision supporting both CLI and REST API in the same module? > > Thanks, > Dmitri. > > On Mon, May 5, 2025 at 2:49 PM Yufei Gu <flyrain...@gmail.com> wrote: > > > Hi folks, > > > > > > > > I’d like to propose merging the polaris-quarkus-admin and > > polaris-quarkus-server modules. While modularization can bring benefits > > like clearer separation of concerns, in this case, the split seems to > cause > > more friction than value. Here’s why I think merging makes sense: > > > > 1. Improved usability: Users can find all tools in one place, making > it > > easier to use and onboard. Just try out the new 0.10.0-beta binary > > releases, you will find out the inconvenience of the separation. > Plus, I > > don’t think anyone will use the admin tool without Polaris server. We > > don't have to merge the module to archive a single binary release > > package, > > but merging two modules will make it really easy. > > 2. Simpler development: The split has led to small utility modules > like > > “test-common” and “run-script” that only exist to bridge the > separation. > > Merging the two will reduce duplication and save time for everyone. > > 3. Easier releases: We’d no longer need to generate separate > > LICENSE/NOTICE files or maintain two binary packages. > > > > > > I’ve talked to folks like JB and Prashant about this offline, and the > > feedback so far has been positive. > > > > > > If there are no objections, I’ll file a PR to merge the two and aim to > > package them together starting with the 1.0 release. > > > > > > Yufei > > >